AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
An open-source DNS server for a network that answers to you.
Developer toolsGo · TypeScriptGitHub @NothingDNSOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
NothingDNS is a self-contained DNS server written in Go. It includes authoritative DNS, recursive forwarding/resolution, DNSSEC, encrypted transports, policy filtering, clustering, a REST management API, dnsctl, and an embedded React dashboard.
Taken from the repository README
Loading the full README.
Read the full README ↗NothingDNS is a self-contained DNS server written in Go. It includes authoritative DNS, recursive forwarding/resolution, DNSSEC, encrypted transports, policy filtering, clustering, a REST management API, dnsctl, and an embedded React dashboard.
dnsctl, and an embedded React 19 dashboard with WebSocket query streaming and zone management.# Build the server and CLI with Go 1.26.9+
make build
# Run using the example configuration
go run ./cmd/nothingdns --config config.example.yaml
# Build the embedded web dashboard when frontend assets change
make build-web
# Run the short test suite
go test ./... -count=1 -short
Install scripts are available for packaged/binary-style setups:
# Linux/macOS
curl -fsSL https://raw.githubusercontent.com/NothingDNS/NothingDNS/main/install.sh | bash
# Windows PowerShell as Administrator
irm https://raw.githubusercontent.com/NothingDNS/NothingDNS/main/install.ps1 | iex
For Docker and Kubernetes examples, see QUICK_START.md and docs/OPERATIONS.md.
Docker / GHCR: The container image is published to
ghcr.io/nothingdns/nothingdns:latest. The package is currently private — to pull it, authenticate with a GitHub PAT that hasread:packagesscope:echo "$GITHUB_TOKEN" | docker login ghcr.io -u USERNAME --password-stdin(see docs/DEPLOYMENT_CHECKLIST.md for details).
| Path | Purpose |
|---|---|
cmd/nothingdns/ | Server entry point and runtime wiring |
cmd/dnsctl/ | Management CLI |
internal/ | DNS protocol, resolver, API, DNSSEC, storage, clustering, transports, and support packages |
web/ | React dashboard source and build tooling |
internal/dashboard/static/dist/ | Embedded dashboard build output served by the Go binary |
deploy/ | systemd, Docker/Kubernetes, and Helm deployment assets |
docs/ | Architecture, configuration, operations, API, CLI, testing, performance, and release documentation |
examples/ | Example-oriented documentation |
scripts/ | Development, smoke-test, backup, and health-check helpers |
Generated runtime state and local build artifacts such as nothingdns, dnsctl, bin/, logs/, zones/, clusters/, *.db, and cache.json are intentionally ignored.
Start with the documentation index. Common entry points:
| Need | Document |
|---|---|
| Configuration fields and defaults | docs/CONFIG_REFERENCE.md |
| Operations, deployment, backup, monitoring | docs/OPERATIONS.md |
| REST API endpoints | docs/API_REFERENCE.md |
| Zone API details | docs/API_ZONES.md |
dnsctl commands | docs/CLI_REFERENCE.md |
| Architecture and request pipeline | docs/ARCHITECTURE.md |
| Implementation notes | docs/IMPLEMENTATION.md |
| Testing and fuzzing | docs/TESTING.md |
| Performance tuning | docs/PERFORMANCE.md |
| Security policy | SECURITY.md, docs/SECURITY.md |
| Dependencies | docs/DEPENDENCIES.md |
make build # server + dnsctl
make build-web # dashboard bundle
make test # short Go tests
make test-full # full Go tests
make lint # go vet + gofmt check
make clean # remove local binaries and coverage files
The web package uses npm scripts:
cd web
npm install
npm run build
npm test # unit tests with Vitest + React Testing Library
npm run lint
Use config.example.yaml as the source-aligned example configuration. The full schema and hot-reload behavior are documented in docs/CONFIG_REFERENCE.md.
Contributions are welcome; see CONTRIBUTING.md. NothingDNS is released under the MIT License.
| Release history | docs/CHANGELOG.md |
| Troubleshooting | docs/TROUBLESHOOTING.md |