Installation
DNS-MNS can be installed on Windows, macOS, Linux, OpenWrt, and Android. Choose the method that works best for you.Pre-Built Binary (Recommended)
The easiest way to use DNS-MNS is to download the pre-built binary. No dependencies required — just download and run.This is the best option for users in Iran who cannot use
curl or wget due to network restrictions. Just get the binary file and run it. No internet connection needed after download.- Go to the Releases page
- Download the binary for your system:
| Platform | File |
|---|---|
| Windows (64-bit) | dns-mns-windows-amd64.exe |
| macOS (Intel) | dns-mns-darwin-amd64 |
| macOS (Apple Silicon) | dns-mns-darwin-arm64 |
| Linux (x86_64) | dns-mns-linux-amd64 |
| Linux (ARM64) | dns-mns-linux-arm64 |
- Run it:
- Linux/macOS
- Windows
One-Line Install
Install DNS-MNS with a single command. The installer automatically detects your OS and architecture, then downloads the correct pre-built binary.- curl
- wget
- Detect your OS (Linux, macOS, Windows) and architecture (x86_64, ARM64)
- Download the correct pre-built binary (same as the manual download — no dependencies)
- Install it to
~/.local/bin/dns-mns - Add it to your PATH (you may need to restart your terminal)
Manual Installation
If you cannot or do not want to use curl/wget, you can install manually.Option A: Download ZIP
- Go to gitlab.com/E-Gurl/dns-mns
- Click the Code button, then click Download ZIP
- Extract the ZIP file to a folder on your computer
- Find the binary for your platform in the extracted folder and run it:
Option B: Clone with Git
Building from Source
If you want to build the Go binary yourself:- Install Go (1.21 or newer)
- Clone and build:
OpenWrt Router Installation
DNS-MNS can run directly on OpenWrt routers, providing smart DNS for your entire network.Supported Architectures
| Architecture | Download File |
|---|---|
| x86_64 | dns-mns-openwrt-x86_64 |
| MIPS | dns-mns-openwrt-mips |
| MIPSel | dns-mns-openwrt-mipsel |
| ARM v7 | dns-mns-openwrt-armv7 |
| ARM64 | dns-mns-openwrt-aarch64 |
Installation Steps
-
Identify your router architecture:
-
Download and install:
-
Configure DNS-MNS:
-
Enable auto-start:
Platform-Specific Requirements
The pre-built binary has no dependencies. Just download and run it.
- Linux
- macOS
- Windows
Most Linux systems have everything needed. If not, install these:Ubuntu/Debian:Fedora:Arch Linux:
Updating to a Newer Version
- Auto-Update (Recommended)
- Re-run Installer
- Manual Download
- Git (Build from Source)
The easiest way to update — the binary updates itself:
Android (Beta)
DNS-MNS is available as a standalone APK for Android devices. No Play Store required.Supported Architectures
| Architecture | Devices |
|---|---|
| arm64-v8a | Most modern phones (Pixel, Samsung Galaxy S/A series, etc.) |
| armeabi-v7a | Older 32-bit ARM devices |
| x86_64 | Android emulators, ChromeOS |
| x86 | Older Intel-based tablets |
Installation Steps
- Download the APK from the Releases page:
- Universal:
dns-mns-android-0.0.4-beta.apk(all architectures) - Per-ABI:
dns-mns-android-arm64-v8a-0.0.4-beta.apk,dns-mns-android-armeabi-v7a-0.0.4-beta.apk,dns-mns-android-x86_64-0.0.4-beta.apk,dns-mns-android-x86-0.0.4-beta.apk
- Universal:
- On your Android device, enable Install from unknown sources:
- Android 8+: Settings > Apps > Special access > Install unknown apps
- Older: Settings > Security > Unknown sources
- Open the APK file and tap Install
- Open DNS-MNS from the app drawer
Features
- VPN-based DNS tunnel — routes DNS queries through a local VPN for system-wide coverage
- One-tap configuration — tap Connect to start, tap Disconnect to stop
- Light/dark mode — toggle between themes with persistent preference
The Android app does not require root access. It uses Android’s VPN API to intercept and route DNS traffic.
Uninstalling
Binary (installed via download or one-line installer):Verifying Installation
After installation, verify that DNS-MNS is working:If you see “Command not found: dns-mns”, try restarting your terminal or run directly:
~/.local/bin/dns-mns