dns-switcher Svelte Themes

Dns Switcher

Lightweight DNS switcher for Windows with system tray and mini app integration

DNS Switcher Logo

DNS Switcher

A lightweight DNS switcher for Windows with system tray and mini app integration 🌟

Switch between DNS providers instantly with a clean, modern interface.

Download β€’ Features β€’ Screenshots β€’ Documentation

Why DNS Switcher? πŸ€”

Changing DNS settings manually through Windows network settings is tedious. This app makes it instant! πŸ’¨

  • One-click switching between popular DNS providers (Cloudflare, Google, Quad9, AdGuard, etc.) πŸ”„
  • Custom presets for your own DNS servers πŸ› οΈ
  • System tray for quick access πŸ–₯️
  • Mini mode that stays out of your way πŸ“±
  • Micro mode - ultra-compact always-on-top widget πŸ”
  • Dark/Light theme support (50/50 split) πŸŒ—

Perfect for developers, privacy-conscious users, or anyone who needs to switch DNS frequently. πŸ”’

ScreenshotsπŸ“Έ

Main Window
Main Window
Compact Modes
Mini Mode

Micro Mode
Mini mode for quick access, Micro mode for always-on-top widget ✨

Features✨

Quick Presets

  • Pre-configured DNS providers ready to use πŸ”§
  • Popular services: Cloudflare (1.1.1.1), Google (8.8.8.8), Quad9, OpenDNS, and more 🌐
  • Privacy-focused options like AdGuard DNS πŸ›‘οΈ

Custom DNS

  • Add your own DNS servers βž•
  • Create custom lists for different use cases πŸ“‹
  • Filter and search through your presets πŸ”

Smart Interface

  • Shows current active DNS πŸ“Š
  • Real-time status updates ⏱️
  • Mini mode for compact view πŸ“±
  • Micro mode - ultra-compact widget that stays on top πŸ–ΌοΈ
  • Minimal resource usage (~20MB RAM) ⚑
  • Runs in the background via system tray πŸ””

Developer-Friendly

  • Built with Tauri (Rust + Web) for speed and security πŸ¦€
  • Small installer size (~5MB) πŸ“¦
  • Open source and transparent πŸ‘€

Download πŸ“₯

Grab the latest version from the Releases page.

Windows 10/11 Required | ~5MB installer πŸ’»

Quick Start 🏁

  1. Download and run the installer πŸ“‚
  2. Click a DNS preset to apply it instantly πŸ”„
  3. Use the system tray icon for quick access πŸ–₯️
  4. Switch to mini mode for a compact view πŸ“±
  5. Or use micro mode for an always-on-top widget πŸ”

That's itβ€”no configuration needed! πŸŽ‰

Building from Source πŸ› οΈ

Click to expand build instructions

Prerequisites

# Install Rust πŸ¦€
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install Node.js (v18+) πŸ“¦
# Download from nodejs.org or use nvm

Steps

git clone https://github.com/arelove/dns-switcher.git
cd dns-switcher

npm install

# Run in development mode
npm run tauri dev

# Build for production
npm run tauri build

The installer will be located in:
src-tauri/target/release/bundle/

Tech Stack πŸ”§

  • Frontend: SvelteKit + TypeScript
  • Backend: Rust (via Tauri)
  • Styling: Pure CSS (no frameworks)
  • Build tool: Vite

Tauri provides much smaller binaries, superior performance, and a truly native experience β€” far better than Electron in most cases.

How It Works Under the Hood πŸ”

The application uses Windows netsh commands to modify DNS settings on each network adapter individually.
This is why a UAC (admin rights) prompt appears on first launch.
DNS changes are applied per-adapter (not globally), which properly respects VPN connections, different Wi-Fi profiles, Ethernet, etc.

Contributing 🀝

Found a bug or have an idea?

  1. Check the existing issues first
  2. Open a new issue with clear description
  3. Submit pull requests (best after discussing in an issue)

We aim to keep the project simple, fast, and focused.

Known Limitations ⚠️

  • DNS changing requires administrator privileges (Windows limitation)
  • Some VPN software may override applied DNS settings

Roadmap πŸ—ΊοΈ

Planned / considered features:

  • macOS and Linux support
  • Automatic network profile detection (home / office / public)
  • DNS server latency & speed testing
  • Import / export of presets

Feedback and suggestions are very welcome!

License πŸ“„

Apache 2.0 β€” free to use, modify, and distribute.

Built something cool using this project? Feel free to share β€” I'd love to hear about it ❀️

Like the project?
Please star it on GitHub ⭐ or share it with anyone annoyed by manual DNS changes!

Questions, bugs, ideas β†’ Open an issue

Top categories

Loading Svelte Themes