feat(ens): add local ensdns service and host-side test docs
This commit is contained in:
@@ -33,9 +33,12 @@ docker run --rm --network darkproxy infoblox/dig dig @10.5.0.4 facebookcorewwwi.
|
||||
# I2P .i2p domains
|
||||
docker run --rm --network darkproxy infoblox/dig dig @10.5.0.4 stats.i2p
|
||||
|
||||
# Ethereum Name Service (.eth) via Cloudflare fallback
|
||||
# Ethereum Name Service (.eth) via local ensdns service
|
||||
docker run --rm --network darkproxy infoblox/dig dig @10.5.0.4 vitalik.eth
|
||||
|
||||
# ENS address/content hash records (TXT)
|
||||
docker run --rm --network darkproxy infoblox/dig dig @10.5.0.4 TXT vitalik.eth
|
||||
|
||||
# Other supported TLDs: .bit, .alt, .loki, .zil, .web3, .exit, .onion4, .onion6
|
||||
docker run --rm --network darkproxy infoblox/dig dig @10.5.0.4 example.bit
|
||||
```
|
||||
@@ -45,6 +48,21 @@ docker run --rm --network darkproxy infoblox/dig dig @10.5.0.4 example.bit
|
||||
> Queries from your host should now work without the “refused to do a recursive
|
||||
> query” error. If you later reintroduce an ACL, update this note accordingly.
|
||||
|
||||
### Host-side quick tests (no extra images)
|
||||
|
||||
Run DNS queries from your host by executing `dig` in the existing `darkpihole`
|
||||
container:
|
||||
|
||||
```sh
|
||||
docker exec darkpihole dig @10.5.0.4 TXT vitalik.eth +short
|
||||
docker exec darkpihole dig @10.5.0.4 A vitalik.eth +short
|
||||
```
|
||||
|
||||
Expected behavior:
|
||||
|
||||
* `TXT` includes `address=` and (if present) `contenthash=`.
|
||||
* `A` returns a CNAME fallback like `<name>.eth.limo.`.
|
||||
|
||||
|
||||
## Supported TLDs and resolvers
|
||||
|
||||
@@ -54,7 +72,7 @@ The stack now provides DNS resolution for a comprehensive set of alternative TLD
|
||||
|-----|----------|---------|
|
||||
| `.onion`, `.exit`, `.onion4`, `.onion6` | Tor DNSPort (10.5.0.7:9053) | Tor hidden services |
|
||||
| `.i2p` | i2pd DNS (10.5.0.2:53) | I2P eepsite names |
|
||||
| `.eth` | Cloudflare 1.1.1.1 | Ethereum Name Service |
|
||||
| `.eth` | ensdns (10.5.0.11) via CoreDNS | Ethereum Name Service (local resolver) |
|
||||
| `.bit` | Google 8.8.8.8 | Namecoin names |
|
||||
| `.alt` | alt-root 185.121.177.177 | Alternative DNS root |
|
||||
| `.loki` | Cloudflare 1.1.1.1 | Lokinet privacy network |
|
||||
@@ -97,6 +115,30 @@ These steps ensure that configuration drift is caught early and reviewers can
|
||||
see what has changed.
|
||||
|
||||
|
||||
## Local ENS (.eth) client
|
||||
|
||||
If you want to resolve Ethereum ENS names locally from the host, use the
|
||||
standalone client script:
|
||||
|
||||
```sh
|
||||
python3 -m venv .venv-ens
|
||||
source .venv-ens/bin/activate
|
||||
pip install -r scripts/requirements-ens.txt
|
||||
python3 scripts/resolve_ens.py vitalik.eth --pretty
|
||||
```
|
||||
|
||||
Options:
|
||||
|
||||
* `--rpc <url>` to set a custom Ethereum JSON-RPC endpoint.
|
||||
* `--include-text` to include common ENS text records.
|
||||
|
||||
Example:
|
||||
|
||||
```sh
|
||||
python3 scripts/resolve_ens.py ens.eth --include-text --pretty
|
||||
```
|
||||
|
||||
|
||||
## Monitoring the proxy
|
||||
|
||||
A lightweight Prometheus/Grafana stack is included to expose 3proxy metrics
|
||||
|
||||
Reference in New Issue
Block a user