Releases: larperru/DcDNS
Release list
## DcDNS v1.0.5
DcDNS v1.0.5
DcDNS v1.0.5
What's New
Portable Mode & Custom Config Path: Introduced portable configuration support. DcDNS now checks for a local dcdns_portable.json config before falling back to Discord's standard userData directory. A "PORTABLE" status badge is displayed in the UI header when active.
Enhanced UI Resilience & Error Handling: Added comprehensive global error handlers and promise rejection wrappers across the WebUI to prevent silent interface freezes.
Scan & Verification Enhancements: Refactored the internal scanning pipeline. Added dynamic target age tracking to notify users if their Discord installation is out of date.
Expanded Pre-configured DoH Options: Streamlined DoH selection with updated preset buttons for popular privacy resolvers (Mullvad, Cloudflare, Google, Quad9, OpenDNS, Mullvad AdBlock).
UX & Animation Polish: Improved window transition animations, pulsing glow effects, and interactive UI component feedback for a cleaner overall look.
Privacy & Security
Added X-Client-Data stripping alongside X-Goog-Visitor-Id and X-Firebase-Client headers.
Reinforced TLS 1.2+ minimum version policy across all Electron session partitions (including persist:discord).
Updated DoH fallback configuration logic to prevent silent plaintext DNS fallbacks at the Chromium network level.
UX & Interface
Added a dynamic "PORTABLE" badge in the title bar when running from a portable directory.
Added stale build warnings (update-warning) indicating how many days ago the target Discord client was modified.
Added direct link buttons for the official website (https://dcdns.pages.dev/) and community Discord server in the Policy Agreement page.
Technical
Updated internal framework marker tags to APP_VERSION = "1.0.5".
Added helper function _get_exe_dir() for robust portable path discovery and local asset resolving (logo.png, logo.ico, logo.jpg).
Improved asynchronous message processing between Python (pywebview) and the EdgeChromium web renderer.
Refactored client scanning logic (_applyScanResults) to gracefully handle missing or partially updated Discord installations.
Executable Metadata: Compiled .exe binaries now include embedded application details, including version information, description, author/publisher metadata, and copyright details.
Note: Discord auto-updates overwrite the patched index.js. After any Discord update, re-run DcDNS and click Install to re-apply the patch with your saved settings.

## DcDNS v1.0.4
DcDNS v1.0.4
What's New
- Settings Panel: Added a built-in settings UI accessible from the header. Every privacy feature can now be toggled on or off without editing code.
- Custom DNS-over-HTTPS: You can now set your own primary and fallback DoH resolvers. Includes one-click presets for Mullvad, Cloudflare, Google, Quad9, OpenDNS, and Mullvad AdBlock.
- Discord Telemetry Blocking: New network-layer blocking for Discord analytics, event tracking, and third-party telemetry endpoints (/science, /track, /metrics, /analytics, Sentry, Mixpanel, Segment, Amplitude, click.discord.com). Requests are cancelled before they leave the client.
- Crash Report Blocking: Dedicated toggle to disable Breakpad crash reporting and block crash upload endpoints independently from general telemetry.
- Custom User-Agent: Option to override the User-Agent with a specific string, or keep the default auto-clean behaviour.
- Configurable Label Position: The "Encrypted by DcDNS" badge can now be placed in four corners (bottom-right, bottom-left, top-right, top-left). The badge now uses a fixed-position renderer overlay so it persists through fullscreen, screen sharing, and layout changes.
- Backup Handling: When reinstalling, DcDNS now asks whether to keep the existing backup or overwrite it with the current stock file.
- SHA-256 File Verification: The installer now displays the SHA-256 hash of the target index.js in the client selection view for integrity verification.
Privacy & Security
- All protections are now toggleable via persistent config stored in Discord's userData directory (
dcdns_conf.json). - Added
setPermissionCheckHandlerto harden geolocation blocking against already-granted permission states. - Expanded header stripping to include
X-Goog-Visitor-IdandX-Firebase-Client. - Added Chromium flags:
disable-domain-reliability,disable-featuresexpanded to cover ReportingObserver, NetworkTimeServiceQuerying, SafeBrowsingExtendedReporting, HyperlinkAuditing, and AutofillServerCommunication. - Removed automatic Discord invite popup on startup. The invite link is now available only as a manual button in the Policy screen.
UX & Interface
- Application window height increased to 560px to accommodate the new settings panel.
- Settings are saved to localStorage in the UI and written to a JSON config file that the injected payload reads at Discord startup.
- Cleaned up the title bar label script — removed the Chrome version string from the badge text for a cleaner look.
Technical
- Payload is now dynamically rebuilt at install time with user settings baked in as JavaScript defaults.
- Added
hashlib.sha256file hashing for integrity display. - Refactored
Apiclass to support two-step install flow (backup prompt modal viainstall_confirm_backup). - Policy text updated to reflect MIT licensing and the new toggleable architecture.
Note: Discord auto-updates overwrite the patched index.js. After any Discord update, re-run DcDNS and click Install to re-apply the patch with your saved settings.

# DcDNS v1.0.3
DcDNS v1.0.3
What's New
- Dual Mullvad DNS Resolver: Added a fallback DoH resolver (
adblock.dns.mullvad.net) alongside the primary (dns.mullvad.net). If the primary resolver is unavailable, Discord automatically switches to the fallback without silently downgrading to plain DNS. Both resolvers operate in strict DoH mode. - Updated Chromium DNS Feature Flag: The
enable-featuresflag now passes both DoH endpoints directly to the Electron engine.
Privacy & Security
- Updated the Policy Framework text to clearly list both the Primary and Fallback Mullvad resolvers.
- Strengthened the DNS policy configuration to support multiple secure servers via
app.configureHostResolver().
UX & Interface
- Replaced the automatic browser popup on startup with a manual "Join Our Discord" button in the Policy Agreement screen. The application now launches cleanly without opening external links automatically.
- Removed
open_startup_links()from the startup flow.
Technical
DCDNS_DOH_SERVERSarray updated to include both Mullvad endpoints.POLICY_TEXTrevised for clarity on DNS behavior and backup procedures.
Note: Discord auto-updates overwrite the patched index.js. After any Discord update, re-run DcDNS and click Install to re-apply the patch.

# DcDNS v1.0.2
DcDNS v1.0.2
DNS payload fix — Mullvad DoH now properly enforced, new privacy hardening.
What's New
- Fixed DNS payload to exclusively use Mullvad DoH (
https://dns.mullvad.net/dns-query) with no fallback to other resolvers. - Added Chromium-level
DnsOverHttpsfeature flag (enable-features=DnsOverHttps:Fallback/false/Templates/...) injected before the appreadyevent, ensuring DoH is enforced from the very first DNS lookup. - Removed invalid
enableBuiltInResolveroption fromconfigureHostResolvercall (was silently ignored, could cause errors on some Electron versions). - Removed Cloudflare and Quad9 as fallback DoH resolvers — DNS now fails hard instead of silently downgrading to a different provider or plain DNS.
- Removed custom path input and custom path selection.
- Removed Linux and macOS support — Windows only.
Privacy Hardening
- User-Agent cleaning — Electron and Discord-specific strings (
Electron/x.x.x,DiscordApp/x.x.x) are stripped from the User-Agent header so web servers cannot fingerprint the exact Electron version in use. - TLS hardening — minimum TLS version enforced at 1.2 via
setSSLConfig, blocking connections to servers that only support outdated and insecure TLS. X-Client-Dataheader removal — Google's Chromium identification header is stripped from every outgoing request viawebRequest.onBeforeSendHeaders.- Geolocation blocked — all geolocation permission requests are denied at the Electron layer before Discord can act on them.
- Spellcheck disabled — Chromium's built-in spellchecker (which can send typed text to a remote API) is disabled for Discord's session.
- Host resolver cache cleared — DNS cache is flushed on startup so no stale plain-DNS entries persist after the DoH policy is applied.
Improvements & Fixes
configureHostResolvernow setsenableAdditionalDnsQueryTypes: false, preventing HTTPS/SVCB record queries from leaking over insecure channels.- DNS server list reduced to Mullvad only — previously the multi-server list allowed Chromium to silently fall through to Cloudflare or Quad9 if Mullvad was slow to respond.
- Fixed many bugs that caused the UI to crash
Installation
Windows
- Download
DcDNS.exebelow. - Run it as Administrator.
- Select your Discord client and click Install.
- Restart Discord when prompted.
Requirements
- Windows 11 or later (with WebView2)
- Discord, Discord PTB, Discord Canary, or Discord Development installed
Uninstalling
Open DcDNS, select your client, and click Uninstall. The original Discord files will be restored from backup or cleaned automatically.
Notes
- On Windows, run as Administrator if you encounter permission errors during injection.
- After updating Discord, run Install again — Discord updates overwrite the patched
index.js.
!!!!! READ FILE "virustotalresult.txt" !!!!!
https://github.com/larperru/DcDNS/blob/main/virustotalresult.txt
# DcDNS v1.0.1
DcDNS v1.0.1
Cross-platform support, improved privacy switches, and UI updates.
What's New
- Added Linux (System, Flatpak, Snap) and macOS support.
- Added detection for Discord Development client alongside Stable, PTB, and Canary.
- Added Mullvad DoH (
https://doh.mullvad.net/dns-query) DNS resolver. - Added WebRTC IP leak protection (
disable_non_proxied_udp). - Added switches to disable geolocation, spell checking, and telemetry.
- Added automatic update checking via GitHub API.
- Redesigned UI with live console logs and status indicators.
Improvements & Fixes
- Added automatic backup creation (
index.js.dcdns.bak) and fallback code stripping for clean uninstallation. - Automatically closes active Discord processes before patching to prevent file lock errors.
- Fixed thread locking issues and UI freezes during patch operations.
- Fixed permission handling when writing to system installation directories.
Installation
Windows
- Download
DcDNS.exebelow. - Run it as Administrator.
- Select your Discord client and click Install.
- Restart Discord when prompted.
Linux / macOS
- Download the release binary for your platform.
- Run the application (use write permissions or elevated privileges if patching system folders like
/opt). - Select your Discord client and click Install.
Requirements
- Windows 10 or later (with WebView2), Linux (with WebKitGTK), or macOS 10.15+
- Discord, Discord PTB, Discord Canary, or Discord Development installed
Uninstalling
Open DcDNS, select your client, and click Uninstall. The original Discord files will be restored from backup or cleaned automatically.
Notes
- On Windows, run as Administrator if you encounter permission errors during injection.
- On Linux, system-wide installations (like
/opt/discord) require appropriate write permissions.
