AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證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.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 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 |