Skip to main content

Installation

DNS-MNS can be installed on Windows, macOS, Linux, OpenWrt, and Android. Choose the method that works best for you. 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.
  1. Go to the Releases page
  2. Download the binary for your system:
  1. Run it:

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.
The installer will:
  • 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

  1. Go to gitlab.com/E-Gurl/dns-mns
  2. Click the Code button, then click Download ZIP
  3. Extract the ZIP file to a folder on your computer
  4. 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:
  1. Install Go (1.21 or newer)
  2. Clone and build:
Cross-compile for other platforms:

OpenWrt Router Installation

DNS-MNS can run directly on OpenWrt routers, providing smart DNS for your entire network.

Supported Architectures

Installation Steps

  1. Identify your router architecture:
  2. Download and install:
  3. Configure DNS-MNS:
  4. Enable auto-start:
See the OpenWrt Guide for detailed configuration options.

Platform-Specific Requirements

The pre-built binary has no dependencies. Just download and run it.
Most Linux systems have everything needed. If not, install these:Ubuntu/Debian:
Fedora:
Arch Linux:

Updating to a Newer Version

Android (Beta)

Android support is in beta (v0.0.4-beta). Expect rough edges. Feedback and bug reports are welcome.
DNS-MNS is available as a standalone APK for Android devices. No Play Store required.

Supported Architectures

The universal APK includes all four architectures — one download works on all supported devices. Platform-specific APKs are also available for smaller download sizes.

Installation Steps

  1. 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
  2. On your Android device, enable Install from unknown sources:
    • Android 8+: Settings > Apps > Special access > Install unknown apps
    • Older: Settings > Security > Unknown sources
  3. Open the APK file and tap Install
  4. 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:
You should see the main menu:
If you see “Command not found: dns-mns”, try restarting your terminal or run directly: ~/.local/bin/dns-mns