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
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. π
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 π
Grab the latest version from the Releases page.
Windows 10/11 Required | ~5MB installer π»
- Download and run the installer π
- Click a DNS preset to apply it instantly π
- Use the system tray icon for quick access π₯οΈ
- Switch to mini mode for a compact view π±
- Or use micro mode for an always-on-top widget π
That's itβno configuration needed! π
Click to expand build instructions
# Install Rust π¦
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install Node.js (v18+) π¦
# Download from nodejs.org or use nvmgit 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 buildThe installer will be located in:
src-tauri/target/release/bundle/
- 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.
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.
Found a bug or have an idea?
- Check the existing issues first
- Open a new issue with clear description
- Submit pull requests (best after discussing in an issue)
We aim to keep the project simple, fast, and focused.
- DNS changing requires administrator privileges (Windows limitation)
- Some VPN software may override applied DNS settings
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!
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