# CoalitionDNS A portable Windows DNS and MAC address utility **by The Coalition**, developed by **aicen**. Run **CoalitionDNS.exe**. No installation or separate runtime download is required on Windows 10/11 with .NET Framework 4.8 and Windows PowerShell 5.1. ## Use Select a network adapter, then use the **DNS** or **MAC Address** tab. ### DNS 1. Select your network adapter. Connected adapters with a default route appear first. 2. Choose Cloudflare, Google, or Quad9, or choose **Custom** and enter a primary DNS IP address and an optional secondary address. Custom entries accept IPv4 or IPv6. If you enter only one address family, the other family's settings stay unchanged. 3. Click **Apply DNS** and accept the Windows administrator prompt. A loading bar appears while the settings are applied and verified. DNS lookup and ping tests run automatically after a successful change, and the bar advances as each server finishes. Invalid input, cancelled approval, and failed changes do not trigger tests. 4. Click **Return to default** to clear manual DNS overrides for both address families. Windows then obtains DNS automatically from the network, and the app tests the newly assigned servers. This is not an undo of a previous custom configuration. The current settings show the DNS addresses Windows reports, with separate automatic/manual indicators for IPv4 and IPv6. VPNs, Windows policies, and applications with their own DNS settings can affect which resolver is actually used. The main window shows a compact current-DNS summary. **Details** opens the full adapter and IPv4/IPv6 configuration. **Activity** opens the session log, and **Test info** explains the measurements. Hover over a result for its full diagnostic message. ### MAC Address The tab shows the current active MAC, driver-reported factory MAC, and any saved driver override. 1. Click **Randomize** to prepare a locally administered unicast address, or type one manually (12 hexadecimal characters, optionally separated by hyphens or colons). Randomize only fills the field. 2. Click **Apply MAC** and accept the administrator prompt. The selected adapter restarts, briefly interrupting its connection. The app verifies the active address after the restart. A saved registry value alone is not treated as success. 3. Click **Restore default** to remove the driver's `NetworkAddress` override. For an enabled adapter, the app restarts it and checks its active address against the factory MAC. An already-default adapter needs no restart. **Restore default restores the driver default, not an older custom override.** A pre-existing custom override is preserved in the backup and restored if a new Apply fails. Before each change, a JSON snapshot is written to `%ProgramData%\The Coalition\Coalition DNS\MAC Backups`. Only physical adapters with an exposed Network Address property and a reported factory MAC can apply an override. Unsupported drivers and virtual adapters are identified in the UI. Restore default remains available for physical adapters even when Apply is unavailable. No firmware or permanent hardware MAC is modified. If applying an address is rejected, the app attempts to restore the prior override and active address. If restoring default encounters a restart or verification failure, the override stays removed and the app reports the remaining recovery step. It does not reinstate a spoofed address merely because default verification failed. On a disabled adapter, default removal is saved without enabling it; enable the adapter to activate and verify the default. Windows Wi-Fi random hardware addresses and driver behavior can cause the active MAC to differ from the factory MAC after removing the override. The app does not change Windows Wi-Fi randomization settings. If recovery needs attention, inspect the Activity/helper message, enable or restart the selected adapter, or restart Windows. In Device Manager, the adapter's **Advanced → Network Address → Not Present** setting also removes a supported driver's override. Keep the JSON backup if you need to restore a previous custom value manually. Use at your own risk. Changing DNS or MAC addresses may affect connectivity and access to network services. ## What the tests measure - Three standard UDP DNS queries for `example.com` per resolver; the displayed time is the average of successful replies. The result reports how many of the three queries succeeded. - One ICMP ping per resolver. Some networks or servers block ping even when DNS works. - Tests use the routing selected by Windows; they are not bound to the adapter selected for configuration. IPv6 servers require a working IPv6 route. Unreachable IPv6 servers do not imply that IPv4 is broken. - Results are a short network sample, not a guarantee of browsing speed or lower game latency. No encrypted DNS configuration is performed. The app tests only the applied addresses after a successful Apply, or the assigned addresses after returning to default. There is no separate test section or background testing timer. Failed DNS probes do not automatically undo a successfully saved DNS configuration. There is no analytics or telemetry. The explicit read-only self-test command also runs probes. ## Recovery and backups Before each change, the administrator helper writes the selected adapter's previous DNS settings to `%ProgramData%\The Coalition\Coalition DNS\Backups`. If applying or verifying a change fails, it attempts to restore the previous per-family automatic/manual settings and reports any rollback failure. For manual recovery, use **Return to default**, or open Windows network adapter settings and select automatic DNS. JSON backups include `Static4` and `Static6` for restoring previous custom addresses manually. Empty static lists mean that family used automatic DNS. Default does not restore a historical manual configuration. Only the selected adapter is modified. The app does not disable IPv6, alter IP addresses, or change adapters automatically. Work or school network DNS may be needed to reach internal services. ## Build from source Run `powershell -NoProfile -ExecutionPolicy Bypass -File .\build.ps1` from the source folder. The script uses the Windows .NET Framework compiler. Output: `dist\CoalitionDNS.exe`. The supplied Coalition logo and PowerShell backend are embedded in the executable. Run `CoalitionDNS.exe --self-test ` for read-only adapter enumeration, live DNS/ping probes, packet validation, and UI rendering. It does not change DNS. The executable is unsigned. Version 1.0.0 · by The Coalition