Skip to content

Repository files navigation

dnsmgr ◉

CI Release License Go Version AUR

Modern, Production-Grade Linux DNS Manager for NetworkManager
Fast, keyboard-driven Terminal User Interface (TUI) and CLI designed for Arch Linux, Manjaro, Fedora, Ubuntu, and Debian.

dnsmgr Terminal Demo


🚀 Key Features

  • TUI-First & Modern UX: Responsive interface built with Charm's Bubble Tea & Lip Gloss.
  • Smart Auto-Connect (F / fastest): Concurrent latency benchmark that instantly connects to the lowest-latency, 100% reliable DNS.
  • Auto Failover Watchdog (dnsmgr daemon): Background watchdog daemon that monitors active DNS health and seamlessly fails over to the fastest healthy backup if internet censorship or downtime occurs, complete with desktop notifications (notify-send).
  • Live Latency Ticker: Real-time ping latency badge continuously updated in the dashboard status bar.
  • Flush DNS Cache (C / flush): Instant resolver cache invalidation via nmcli general reload dns-full / resolvectl.
  • Anti-Sanction & Developer Suite (s / check-sanctions):
    • Pre-configured with 403.online, Radar Game, Shecan, Electro, Begzar, AdGuard, Cloudflare, Google, Quad9, and OpenDNS.
    • Built-in sanity checker for developer services (Docker Hub, Google Cloud, Android Dev, Terraform Registry, OpenAI API).
  • Live Search & Filter (/): Instant real-time filtering as you type across connections and DNS servers.
  • Category Filter (c): Cycle between Anti-Sanction, Gaming, Security, Ad-Block, or All.
  • Interactive Profile Creator (n): Create and save custom DNS profiles on the fly with live IP validation.
  • Theme Switcher (T): Instant visual switching between Tokyo Night, Catppuccin, Nord, Gruvbox, and Default Dark.
  • About Modal (M): Embedded project and author documentation view.
  • Safe by Design:
    • Automatic snapshot backups prior to any modification (~/.local/state/dnsmgr/backups/).
    • One-key rollback (B) to instantly undo any changes.
    • Zero raw shell interpolation (executes pure argument vectors).
    • Never breaks /etc/resolv.conf.

⌨️ Keyboard Shortcuts

Key Action
↑ / k, ↓ / j Navigate list items
← / h, → / l, Tab Switch between Connections and DNS Panels
/ Live search filter (type to filter, Esc to exit)
F ⚡ Smart Auto-Connect to the fastest DNS
C 🔄 Flush DNS cache immediately
s 🛡️ Test connectivity to geo-blocked developer services
c 🏷️ Cycle category filter (Anti-Sanction / Gaming / AdBlock / Security / All)
n ➕ Create new DNS Profile interactively
T 🎨 Cycle color theme (Tokyo Night, Catppuccin, Nord, Gruvbox, Default)
M 📖 About Author & Project
R Review & Apply selected DNS configuration
d Restore DHCP / Automatic DNS
t Run live DNS resolution test
m Run live DNS provider benchmark
p Open DNS Profiles manager
b Create instant snapshot backup
B Rollback to previous backup
r Refresh connections and status
L View application operation logs
? Help screen
q Quit

💻 CLI Commands

# Quick set provider
dnsmgr set 403
dnsmgr set shecan
dnsmgr set cloudflare --connection "FaRiX H"

# Smart fastest connect
dnsmgr fastest

# Flush DNS resolver cache
dnsmgr flush

# Run background auto-failover watchdog daemon
dnsmgr daemon --interval 20s

# Check anti-sanction developer services
dnsmgr check-sanctions
dnsmgr check-sanctions --json

# Status and inspection
dnsmgr status
dnsmgr status --json

# Rollback and Reset
dnsmgr --rollback --yes
dnsmgr --reset --yes

📦 Installation & Packaging

Arch Linux / Manjaro (AUR)

yay -S dnsmgr-bin
# or using makepkg:
cd packaging && makepkg -si

Debian / Ubuntu (.deb)

Download the .deb package from the Releases page:

sudo dpkg -i dnsmgr-1.1.0-linux-amd64.deb

Fedora / RHEL (.rpm)

Download the .rpm package from the Releases page:

sudo rpm -i dnsmgr-1.1.0-linux-amd64.rpm

Homebrew (Linux)

brew install farshidrezaei/tap/dnsmgr

From Source

git clone https://github.com/farshidrezaei/dnsmgr.git
cd dnsmgr
make build
sudo make install

👨‍💻 Author

Crafted with care by Farshid Rezaei.

📄 License

MIT License. See LICENSE for details.

About

Modern, production-grade Linux DNS Manager TUI & CLI for NetworkManager

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages