Skip to content

SysAdminDoc/NDNS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NDNS

NDNS

NextDNS Ultimate Control Panel
A userscript that adds a floating control panel, analytics dashboard, and power-user tools to the NextDNS web interface.

Version Platform License


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. Mobile bottom-sheet layout. Quick navigation, browser-side NextDNS verification, domain filters, log controls, action buttons, and accessible modal/switch semantics.
Analytics Dashboard Replaces the default analytics page with custom API-driven views: stat cards, current/all-profile aggregation with partial-failure warnings and retry, 90-day / 1-year historical rollups, blocked-category spike alerts, per-device app drill-downs, ring charts (status, DNSSEC, encryption, protocols, IP versions), bar charts (top domains, blocked domains, devices), data tables, browser CSV/JSON/PDF export, and a Node CSV export CLI.
Log Enhancements Filter by Allowed / Blocked / Cached, hidden domains, and tab-local origin/domain matches. Replay a loaded domain through the current profile DoH resolver. Hide specific domains. Compact mode. Auto-refresh with configurable interval. Real-time log counters. Opt-in IndexedDB cache for offline browsing of loaded rows with TTL, purge, and export boundaries.
Domain Management One-click allow/deny from logs. Domain-of-the-day review picker from loaded queries. 10-step undo stack for allow/deny actions. Bulk allowlist/denylist import. Wildcard/regex builder with recent-log preview. Protected domain tags for local curation during HaGeZi sync. Bulk delete tools with progress tracking. Domain action history. CNAME chain display.
Profile Tools Full profile import/export (JSON) with pre-import rollback backups. Cross-profile config sync. DNS rewrite management from the settings modal. Versioned NDNS settings backup/import with storage repair reporting.
Parental Controls Quick-toggle parental control categories, Safe / Work / Chill bulk presets, recreation time, a local weekly 7x24 heatmap schedule, and device-activity override schedules from the settings modal.
HaGeZi Integration One-click sync of TLD blocklists and allowlists from HaGeZi's curated adblock lists, local hosts/AdBlock blocklist import, per-list upstream hashes, counts, diff views after updates, optional weekly auto-sync notifications, and allow/deny conflict resolution.
Webhook Alerts Send domain query events to Discord, Slack, or any webhook URL. Configurable filter expressions, editable Generic JSON / Discord / Slack payload templates, test sends, last-5 delivery logs, and duplicate-event rate limiting.
Theming Dark, Dark Blue, and Light themes. List page theme override. Compact/roomy panel density, ultra-condensed mode, and Theme Studio custom CSS editor with live preview, size guard, safe-mode reset, and export/import.
Scheduled Logs Automatic log downloads on a configurable schedule with desktop notifications.

Installation

Requirements

A userscript manager extension:

Install

  1. Install a userscript manager from the list above
  2. Click here to install NDNS.user.js — your userscript manager will prompt to install
  3. 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

  1. Install the userscript and visit any NextDNS page
  2. The floating panel appears with a prompt to set your API key
  3. Click "Take Me There!" to navigate to your NextDNS account page
  4. Click "Capture Key & Continue" — your key is stored locally via GM.setValue
  5. 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.


Analytics CLI

Headless CSV export uses the same NextDNS analytics API groups as the browser dashboard.

$env:NEXTDNS_API_KEY = "your-nextdns-api-key"
node tools/export-analytics.mjs --profile your-profile-id --range 90d --scope current --out nextdns-analytics.csv

Use --scope all to merge every profile returned by the API, or --self-test to generate fixture CSV without credentials.


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

Local Verification

node --check NDNS.user.js
node tools/firefox-parity-check.mjs
node tools/api-retry-policy-check.mjs
node tools/webhook-trust-policy-check.mjs
node tools/dom-sink-policy-check.mjs
node tools/storage-policy-check.mjs
node tools/analytics-resilience-check.mjs
node tools/accessibility-policy-check.mjs
node tools/safe-recovery-policy-check.mjs
node tools/offline-cache-privacy-check.mjs
node tools/workflow-fixture-check.mjs
node tools/ui-string-catalog-check.mjs
node tools/log-origin-filter-check.mjs
node tools/dns-replay-check.mjs
node tools/cli-analytics-export-check.mjs
node tools/offline-log-cache-check.mjs
node tools/export-analytics.mjs --self-test

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

About

NextDNS Ultimate Control Panel — userscript with floating panel, analytics dashboard, and power-user tools

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors