A lightweight DNS switcher for Windows with system tray and mini app integration 🌟
Switch between DNS providers instantly with a clean, modern interface.
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


