Skip to content

Releases: larperru/DcDNS

## DcDNS v1.0.5

Choose a tag to compare

@larperru larperru released this 14 Aug 23:41
ae103ef

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.

image

## DcDNS v1.0.4

Choose a tag to compare

@larperru larperru released this 14 Aug 00:04
454300a

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 setPermissionCheckHandler to harden geolocation blocking against already-granted permission states.
  • Expanded header stripping to include X-Goog-Visitor-Id and X-Firebase-Client.
  • Added Chromium flags: disable-domain-reliability, disable-features expanded 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.sha256 file hashing for integrity display.
  • Refactored Api class to support two-step install flow (backup prompt modal via install_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.

image

# DcDNS v1.0.3

Choose a tag to compare

@larperru larperru released this 13 Aug 16:36
658278d

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-features flag 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_SERVERS array updated to include both Mullvad endpoints.
  • POLICY_TEXT revised 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.

image3

# DcDNS v1.0.2

Choose a tag to compare

@larperru larperru released this 13 Aug 13:56
f554dfc

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 DnsOverHttps feature flag (enable-features=DnsOverHttps:Fallback/false/Templates/...) injected before the app ready event, ensuring DoH is enforced from the very first DNS lookup.
  • Removed invalid enableBuiltInResolver option from configureHostResolver call (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-Data header removal — Google's Chromium identification header is stripped from every outgoing request via webRequest.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

  • configureHostResolver now sets enableAdditionalDnsQueryTypes: 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

  1. Download DcDNS.exe below.
  2. Run it as Administrator.
  3. Select your Discord client and click Install.
  4. 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.
image

!!!!! READ FILE "virustotalresult.txt" !!!!!

https://github.com/larperru/DcDNS/blob/main/virustotalresult.txt

# DcDNS v1.0.1

Choose a tag to compare

@larperru larperru released this 13 Aug 02:01
133db87

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

  1. Download DcDNS.exe below.
  2. Run it as Administrator.
  3. Select your Discord client and click Install.
  4. Restart Discord when prompted.

Linux / macOS

  1. Download the release binary for your platform.
  2. Run the application (use write permissions or elevated privileges if patching system folders like /opt).
  3. 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.
image2