![]()
NDNS
NextDNS Ultimate Control Panel
A userscript that adds a floating control panel, analytics dashboard, and power-user tools to the NextDNS web interface.
Overview
NDNS transforms the NextDNS dashboard at my.nextdns.io into a power-user environment. It injects a persistent floating panel with quick actions, an API-driven analytics dashboard, domain management tools, and deep customization options — all running client-side as a userscript.
Also available as a Chrome extension: BetterNext
Features
| Category | Details |
|---|---|
| Floating Control Panel | Draggable, resizable, persistent position. Quick navigation, domain filters, log controls, and action buttons. |
| Analytics Dashboard | Replaces the default analytics page with custom API-driven views: stat cards, ring charts (status, DNSSEC, encryption, protocols, IP versions), bar charts (top domains, blocked domains, devices), data tables, and CSV/JSON export. |
| Log Enhancements | Filter by Allowed / Blocked / Cached. Hide specific domains. Compact mode. Auto-refresh with configurable interval. Real-time log counters. |
| Domain Management | One-click allow/deny from logs. Bulk delete tools with progress tracking. Domain action history. CNAME chain display. |
| Profile Tools | Full profile import/export (JSON). Cross-profile config sync. DNS rewrite management from the settings modal. |
| Parental Controls | Quick-toggle parental control categories and recreation time directly from the settings modal. |
| HaGeZi Integration | One-click sync of TLD blocklists and allowlists from HaGeZi's curated adblock lists. |
| Webhook Alerts | Send domain query events to Discord, Slack, or any webhook URL. Configurable domain pattern matching. |
| Theming | Dark, Dark Blue, and Light themes. List page theme override. Ultra-condensed mode. Custom CSS injection. |
| Scheduled Logs | Automatic log downloads on a configurable schedule with desktop notifications. |
Installation
Requirements
A userscript manager extension:
- Tampermonkey (Chrome, Firefox, Edge, Safari)
- Violentmonkey (Chrome, Firefox, Edge)
- ScriptMonkey / EspressoMonkey (Chrome)
Install
- Install a userscript manager from the list above
- Click here to install NDNS.user.js — your userscript manager will prompt to install
- Visit my.nextdns.io
Manual Install
git clone https://github.com/SysAdminDoc/NDNS.git
Open your userscript manager, create a new script, and paste the contents of NDNS.user.js.
Setup
- Install the userscript and visit any NextDNS page
- The floating panel appears with a prompt to set your API key
- Click "Take Me There!" to navigate to your NextDNS account page
- Click "Capture Key & Continue" — your key is stored locally via
GM.setValue - NDNS is now fully operational
Your API key is stored locally in your userscript manager's storage. It never leaves your browser and is only used for direct requests to the NextDNS API.
Grants Required
The userscript requires the following @grant permissions:
| Grant | Purpose |
|---|---|
GM_addStyle |
Injects CSS for the panel, themes, and analytics dashboard |
GM.setValue / GM.getValue / GM.deleteValue |
Persistent local storage for settings, API key, and UI state |
GM_xmlhttpRequest |
Cross-origin API requests to api.nextdns.io (bypasses CORS) |
File Structure
NDNS/
├── NDNS.user.js # The complete userscript
└── README.md
Related Projects
- BetterNext — Chrome extension version with identical features, packaged as a Manifest V3 extension
- EspressoMonkey — Chrome Manifest V3 userscript manager extension
License
MIT — see LICENSE for details.
Built by Matt Parker