Skip to content
NexoralSystems

Network & DNS

NexoralDNS

Docker-based intelligent LAN DNS management and traffic inspection engine with custom routing, local caching, query filtering, and real-time network telemetry.

GitHub Stars
2
Forks
1
Category
Docker
Last Activity
Oct 8, 2026
TypeScriptNOASSERTIONActiveDocker

Advanced DNS Management & Surveillance System for Local Networks

CI Build Release License

Node.js Go TypeScript Docker Platform

GitHub Stars GitHub Forks GitHub Issues GitHub Contributors Last Commit Sponsor


LAN-ONLY — NexoralDNS is designed exclusively for Local Area Networks. Do NOT deploy on cloud platforms or expose to the public internet. ISPs will block DNS spoofing activity and your service will become non-functional.


Why NexoralDNS?

You're working on a project with your team. Your colleague just built a feature on their machine and pushed it — you want to test it, but you don't know their IP address. You could ask, dig through router settings, or spin up an ngrok tunnel — but that's over-engineered for something happening on the same LAN.

NexoralDNS solves this. Assign a custom domain like alice.dev.local once, and every device on your network resolves it instantly — no IP hunting, no tunnels, no host file edits. It just works.


Quick Install

curl -fsSL https://raw.githubusercontent.com/nexoral/NexoralDNS/main/Scripts/install.sh | sudo bash -

Manage the service:

CommandDescription
nexoraldns startStart all services
nexoraldns stopStop all services
nexoraldns updatePull latest Docker images
nexoraldns packSelf-update the CLI
nexoraldns removeComplete removal (irreversible)

What is NexoralDNS?

NexoralDNS is a self-hosted DNS management system that transforms your network's DNS infrastructure. It provides custom domain resolution, traffic monitoring, security filtering, and a web-based dashboard — all running locally on your LAN.

Key capabilities:

  • Custom domain management (e.g., myapp.local)
  • Real-time DNS traffic monitoring and analytics (7-day retention)
  • Access control with per-device, per-group or network-wide blocking
  • DNS over UDP, TCP and TLS (DoT)
  • Connected-device inventory for the whole LAN
  • Web dashboard at http://localhost:4000
  • MCP tool server for LLM/agent integration
  • Role-based access control with 22 granular permissions

Features

FeatureDescription
Custom DomainsCreate internal domains without external DNS servers
Traffic MonitoringQuery logging and analytics, 7-day automatic retention
Access ControlBlock domains per IP, per IP group, or network-wide
Domain & IP GroupsGroup devices and domains into reusable policies
Anti-Porn GroupPre-seeded group of 92 adult content domains
Anti-Ads GroupPre-seeded group of 155 advertising and tracking domains
Anti-AI GroupPre-seeded group of 42 AI chatbot and generative-tool domains
DNS over TLSEncrypted DNS on port 853, self-signed cert generated automatically
Device InventoryAutomatic LAN sweep every 2 minutes with reverse-DNS and ARP enrichment
RBAC22 permissions, 5 seeded roles, custom roles from any subset
REST APIFull admin API on port 4773, Swagger UI at /docs
MCP ServerLLM integration via Model Context Protocol (54 tools)
Docker DeploymentOne-command installation via Docker

See the full feature comparison for Free vs Premium details.


Performance

Measured with dnsperf (UDP:53, 49 domains, warm cache):

MetricValue
Throughput12,746 queries/second
Average latency3.8 ms
Dropped queries0

Test hardware: AMD Ryzen 5 5500U (6C/12T), 7.1 GiB RAM, Linux 6.8, Docker host networking, with MongoDB/Redis/RabbitMQ co-located.


Quick Start

  1. Install — Run the installation command above
  2. Access Dashboard — Open http://localhost:4000
  3. Login — Username: admin, Password: admin (change immediately)
  4. Configure Router — Set your router's DNS to the NexoralDNS machine IP
  5. Create Domains — Use the dashboard to create custom internal domains

For detailed setup instructions, see the documentation.


System Requirements

RequirementMinimum
OSLinux Debian/Ubuntu
RAM1 GB (plus Docker overhead)
Storage4 GB free space
NetworkLAN connectivity
PrivilegesRoot/administrator access

Documentation

Full documentation is available at dns.nexoral.in

  • Installation guides
  • Configuration reference
  • API documentation
  • Troubleshooting

In-repo documentation:

DocumentContents
ARCHITECTURE.mdSystem design, query flow, data model, known gaps
FEATURES.mdComplete technical feature inventory
SECURITY.mdSecurity model and hardening guidance
Web/README.mdGo DNS engine internals and a query walkthrough
AGENTS.mdOperating manual for AI coding agents

Per-module agent guides, each carrying that stack's conventions and boundaries:

Web/AGENTS.md · server/AGENTS.md · client/AGENTS.md · tools/AGENTS.md · DHCP/AGENTS.md · Test/AGENTS.md


MCP Tool Server

NexoralDNS includes a Model Context Protocol server for LLM integration. Any MCP-compatible client can manage domains, DNS records, users, and settings via the same authenticated REST API as the dashboard.

  • Endpoint: http://:4774/mcp
  • 54 tools covering the full REST surface
  • OAuth 2.1 browser sign-in

See the MCP documentation for setup and usage.


Use Cases

  • Home Networks — Parental controls, ad blocking, IoT security
  • Development Teams — Custom .local domains without host file edits
  • Small Businesses — Centralized DNS management and monitoring
  • Educational Institutions — Content filtering and network oversight

Architecture at a glance

ComponentTechnologyPort
Core DNS engineGo, UDP/TCP/DoT53, 853
Admin REST APIFastify (TypeScript)4773
DashboardNext.js4000
MCP tool serverExpress + MCP SDK4774
Backing servicesMongoDB, Redis, RabbitMQ—

The DNS query path is a 4-layer pipeline: service status → access control → local record (Redis, then MongoDB) → upstream forward. Failures degrade policy enforcement rather than resolution — a LAN losing all DNS is worse than temporarily missing a blocklist.

See ARCHITECTURE.md for the full design.


Links


Contributing

We welcome bug reports, feature requests, and security vulnerability reports. See CONTRIBUTING.md for details.

Note: This is source-available software. Code contributions are not accepted, but feedback and issue reports are valued.


License

Proprietary Source-Available License — see LICENSE for details.

Free to use with limited features. Full features require a commercial license from nexoral.in.


Made with ❤️ by the NexoralDNS Team