Title: Synet DNS Server
Last Update: 29.04.25
The synet-dns-server
is a lightweight authoritative DNS server for managing .sy
domains inside the Synet network. It forms the backbone of centralized DNS resolution, syncing with the Synet Root Registry and exposing an authenticated API for synet-dns
clients.
This package is meant to be run by service providers, gateways, or enterprise infrastructure teams who require trusted .sy
resolution for public-facing services.
Area | Description |
---|---|
DNS Responder | Responds to .sy domain queries (A/AAAA/CNAME/NS). |
Auth API | Exposes secure endpoints for managing zone records. |
Proxy Mode | Optionally hides backend IPs (privacy-enhanced). |
Root Registry Sync | Periodically pulls .sy NS delegation updates from the Synet root. |
Component | Suggested Stack |
---|---|
DNS Engine | Go or Python + dnslib , or external resolver (e.g., CoreDNS) |
API Server | FastAPI (Python) or Express (Node.js) |
Sync Daemon | Cronjob, webhook, or task scheduler |
Config Store | YAML files or Redis-backed state (planned) |
AAAA
records for static IPsA
records (optional)NS
delegationCNAME
forwardingAuthenticated endpoints:
POST /records/add # Add or update a record
GET /records # Get all current records
Requests are signed by synet-dns
using an authorized Synet keypair.
Example add request:
{
"domain": "company.sy",
"type": "AAAA",
"ip": "fd00:1::200",
"signature": "0x..."
}
# /etc/synet-dns/config.yaml
domains:
- name: myai.sy
records:
- type: AAAA
ip: fd00:1::100
proxy: true # Optional masking of backend IP
Each instance pulls updated NS delegations from the Synet Root:
Ensures zone authority isn’t spoofed.
Verifies changes in *.sy
ownership.
Run manually or as scheduled job:
synet-dns-server --sync --root-registry registry.synet.sy
Minimal containerized DNS service:
docker run -p 53:53/udp \
synet-dns-server \
--domain company.sy \
--root-registry registry.synet.sy \
--api-key 0xABC...
flowchart LR
A[User or Bot] -->|Query| B[synet-dns-server]
B -->|AAAA Record| C[fd00:1::100]
synet-dns add-record --domain company.sy --type AAAA --ip fd00:1::200
Which translates into API request:
POST /records/add
{
"domain": "company.sy",
"type": "AAAA",
"ip": "fd00:1::200",
"signature": "0x..."
}
Principle | Detail |
---|---|
Security | All write operations require signed API calls. |
Modularity | Works standalone or behind enterprise infrastructure. |
Trust | Root Registry NS sync ensures valid zone ownership. |
Extensibility | Can add DNSSEC, caching layers, or move to db-backed records. |
TXT
, MX
, or other recordsproxy
IP masking rules Github repo
Client DNS
Dev Portal
Thoughts, Ideas, Cringe ?
Leave Message