Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
numa — रस्ट में पोर्टेबल DNS रिज़ॉल्वर — .numa स्थानीय डोमेन, विज्ञापन अवरोधन, डेवलपर ओवरराइड | Kitploit
उपकरण/GitHubGitHub/razvandimescu/numa
एन्क्रिप्शन/डिक्रिप्शन उपकरणDNS और सबडोमेन गणनानेटवर्क सुरक्षागोपनीयताDNS फज़िंगDNS विश्लेषण
GitHubrazvandimescu/numa

numa

रस्ट में पोर्टेबल DNS रिज़ॉल्वर — .numa स्थानीय डोमेन, विज्ञापन अवरोधन, डेवलपर ओवरराइड

रिपॉजिटरी देखें
1.4k101713 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
# Numa

[![CI](https://github.com/razvandimescu/numa/actions/workflows/ci.yml/badge.svg)](https://github.com/razvandimescu/numa/actions)
[![crates.io](https://img.shields.io/crates/v/numa.svg)](https://crates.io/crates/numa)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

**DNS जो आपका है। हर जगह जहाँ आप जाते हैं।** — [numa.rs](https://numa.rs)

एक पोर्टेबल DNS रिज़ॉल्वर, एक ही बाइनरी में। किसी भी नेटवर्क पर विज्ञापन ब्लॉक करें, अपनी लोकल सेवाओं को नाम दें (`frontend.numa`), किसी भी होस्टनेम को ऑटो-रिवर्ट के साथ ओवरराइड करें, और हर आउटबाउंड क्वेरी को **ODoH (RFC 9230)** से सील करें ताकि कोई भी एक पक्ष यह न देख सके कि आप कौन हैं और आपने क्या पूछा — यह सब आपके लैपटॉप से, बिना किसी क्लाउड अकाउंट या Raspberry Pi की आवश्यकता के।

शुरू से Rust में बनाया गया। शून्य DNS लाइब्रेरी। कैशिंग, विज्ञापन ब्लॉकिंग, और लोकल सर्विस डोमेन बॉक्स से बाहर। रूट नेमसर्वर से वैकल्पिक रिकर्सिव रिज़ॉल्यूशन, पूर्ण DNSSEC चेन-ऑफ-ट्रस्ट वैलिडेशन के साथ, साथ ही एन्क्रिप्टेड क्लाइंट कनेक्शन (iOS Private DNS, systemd-resolved, आदि) के लिए DNS-over-TLS लिसनर। `numa relay` चलाएँ और वही बाइनरी एक पब्लिक ODoH एंडपॉइंट भी बन जाती है — क्यूरेटेड DNSCrypt सूची में वर्तमान में एक ही रिले बचा है, इसलिए हर Numa डिप्लॉयमेंट पारिस्थितिकी तंत्र का वास्तविक विस्तार करता है। एक ~8MB बाइनरी, सब कुछ एम्बेडेड। वायर-प्रोटोकॉल पार्सर एक लर्निंग प्रोजेक्ट के रूप में हाथ से लिखा गया था; बाद की सुविधाएँ (रिकर्सिव रिज़ॉल्वर, DNSSEC, डैशबोर्ड) AI सहायता से बनाई गईं।

![Numa dashboard](https://assets.kitploit.com/production/public/readmes/13090/5d6f10865bf168b1b4d4b8a8223ff961e66cfc2fe7f91754e71f105f2f921cc0.gif)

## त्वरित शुरुआत

अंदर आने के तीन तरीके, कम से अधिक प्रतिबद्धता तक। केवल तीसरा आपका सिस्टम DNS बदलता है।

### 1. Docker में आज़माएँ (होस्ट पर कुछ भी इंस्टॉल नहीं)

```bash
docker run -d --name numa -p 127.0.0.1:5553:53/udp -p 127.0.0.1:5553:53/tcp \
  -p 127.0.0.1:5380:5380 ghcr.io/razvandimescu/numa
dig @127.0.0.1 -p 5553 example.com
docker exec numa numa token            # dashboard password
```

`http://localhost:5380` खोलें और किसी भी यूज़रनेम और उस टोकन से लॉग इन करें। पोर्ट 5553 होस्ट पर 53 को जो भी पकड़े हुए है उसे बायपास कर देता है। `numa.numa` यहाँ रिज़ॉल्व नहीं होगा, क्योंकि होस्ट DNS के लिए Numa का उपयोग नहीं कर रहा है। `docker rm -f numa` से साफ़ करें।

### 2. फोरग्राउंड में चलाएँ (सिस्टम DNS अछूता)

बाइनरी इंस्टॉल करें:

```bash
# macOS
brew install razvandimescu/tap/numa

# Linux
curl -fsSL https://raw.githubusercontent.com/razvandimescu/numa/main/install.sh | sh

# Arch Linux
pacman -S numa

# Windows — download from GitHub Releases
# All platforms
cargo install numa

# Nix
nix run github:razvandimescu/numa
```

```bash
sudo numa                              # Ctrl-C to stop (port 53 requires root/admin)
```

Numa पोर्ट 53 पर सुनता है, लेकिन आपका सिस्टम अपना वर्तमान रिज़ॉल्वर तब तक बनाए रखता है जब तक आप `numa install` नहीं चलाते, इसलिए `dig @127.0.0.1 example.com` से परीक्षण करें। डैशबोर्ड `http://localhost:5380` पर है। यदि पोर्ट 53 लिया हुआ है (Ubuntu/Mint पर systemd-resolved), तो [`numa.toml`](https://github.com/razvandimescu/numa/blob/main/numa.toml) में `bind_addr` सेट करें या Docker का उपयोग करें।

### 3. सिस्टम DNS के रूप में सेट करें

| प्लेटफ़ॉर्म | इंस्टॉल | अनइंस्टॉल |
|----------|---------|-----------|
| macOS | `sudo numa install` | `sudo numa uninstall` |
| Linux | `sudo numa install` | `sudo numa uninstall` |
| Windows | `numa install` (admin) + reboot | `numa uninstall` (admin) + reboot |

`install` एक सर्विस रजिस्टर करता है, सिस्टम DNS को Numa की ओर इंगित करता है और उसके लोकल CA पर भरोसा करता है। `uninstall` तीनों को उलट देता है। इंस्टॉल होने के बाद, डैशबोर्ड **http://numa.numa** पर भी उपलब्ध है।

macOS और Linux पर, numa एक सिस्टम सर्विस (launchd/systemd) के रूप में चलता है। systemd यूनिट अनप्रिविलेज्ड है (`DynamicUser=yes`, केवल `CAP_NET_BIND_SERVICE`); launchd डेमॉन root के रूप में चलता है। `numa install` एक drop-in के माध्यम से systemd-resolved को पुनः कॉन्फ़िगर करता है जिसे `numa uninstall` हटा देता है; पोर्ट 53 को पकड़े हुए कोई भी अन्य प्रोसेस (dnsmasq, NetworkManager का भी) हाथ से रोकना पड़ता है। Windows पर, numa लॉगिन पर रजिस्ट्री के माध्यम से ऑटो-स्टार्ट होता है। Windows `127.0.0.2:53` को भी बाइंड करता है (बिल्ट-इन Dnscache `127.0.0.1:53` का मालिक है) और क्वेरीज़ को उस पर रूट करने के लिए एक NRPT नियम इंस्टॉल करता है — इसलिए `bind_addr`/`api_bind_addr` को `127.0.0.1` के बजाय `127.0.0.2` के विरुद्ध संपादित करें।

### लॉग इन करना

लूपबैक (`localhost`, `127.0.0.1`, `numa.numa`) पर किसी लॉगिन की आवश्यकता नहीं है। बाकी कुछ भी, जिसमें Docker पोर्ट मैपिंग या इस मशीन का LAN पता शामिल है, के लिए API टोकन माँगा जाता है, जिसे Numa पहली बार शुरू होने पर जनरेट करता है। इसे `sudo numa token` (Windows पर एक एडमिनिस्ट्रेटर शेल) से प्रिंट करें और किसी भी यूज़रनेम से लॉग इन करें। अपना खुद का `[server] api_token` या `NUMA_API_TOKEN` से पिन करें।

### हर निशान हटाना

`uninstall` DNS को पुनर्स्थापित करता है लेकिन डेटा डायरेक्टरी रखता है, इसलिए पुनः इंस्टॉल करने पर वही टोकन और CA बना रहता है। सब कुछ हटाने के लिए, पहले अनइंस्टॉल करें, फिर हटाएँ:

| प्लेटफ़ॉर्म | पीछे छूटा |
|----------|-------------|
| macOS | बाइनरी, `/usr/local/var/numa`, `/usr/local/var/log/numa.log` |
| Linux | बाइनरी (install.sh से `/usr/local/bin/numa`), `/var/lib/numa`, `/etc/numa` |
| Windows | बाइनरी, `%PROGRAMDATA%\numa` |

पैकेज-मैनेजर इंस्टॉल `brew uninstall`, `pacman -R` या `cargo uninstall` से बाइनरी हटा देते हैं। Linux पर, `numa install` एक बाइनरी की प्रति बनाता है जिसे वह अपने मूल स्थान (जैसे `~/.cargo/bin`) से नहीं चला सकता, `/usr/local/bin/numa` पर, और uninstall उस प्रति को छोड़ देता है।

यदि आपने यूज़र कॉन्फ़िग बनाया है तो `~/.config/numa` भी हटाएँ, और यदि आपने सेट किया है तो `[server] data_dir` पथ भी।

## लोकल सेवाएँ

पोर्ट नंबर याद रखने के बजाय अपनी डेव सेवाओं को नाम दें:

```bash
curl -X POST localhost:5380/services \
  -d '{"name":"frontend","target_port":5173}'
```

अब `https://frontend.numa` आपके ब्राउज़र में काम करता है — हरा लॉक, वैध सर्ट, HMR के लिए WebSocket पासथ्रू। न mkcert, न nginx, न `/etc/hosts`।

पाथ-आधारित रूटिंग जोड़ें (`app.numa/api → :5001`), LAN डिस्कवरी के माध्यम से मशीनों के बीच सेवाएँ साझा करें, या सब कुछ [`numa.toml`](https://github.com/razvandimescu/numa/blob/main/numa.toml) में कॉन्फ़िगर करें।

## विज्ञापन ब्लॉकिंग और गोपनीयता

[Hagezi Pro](https://github.com/hagezi/dns-blocklists) के माध्यम से विज्ञापन और ट्रैकर ब्लॉकिंग, प्रतिदिन रीफ्रेश। किसी भी नेटवर्क पर काम करता है — कॉफ़ी शॉप, होटल, एयरपोर्ट। आपके लैपटॉप के साथ यात्रा करता है।

तीन रिज़ॉल्यूशन मोड:

- **`forward`** (डिफ़ॉल्ट) — आपके मौजूदा सिस्टम DNS के लिए ट्रांसपेरेंट प्रॉक्सी। सब कुछ पहले की तरह काम करता है, बस ऊपर कैशिंग और विज्ञापन ब्लॉकिंग के साथ। कैप्टिव पोर्टल, VPN, कॉर्पोरेट DNS — सभी का सम्मान।
- **`recursive`** — सीधे रूट नेमसर्वर से रिज़ॉल्व करें। कोई अपस्ट्रीम निर्भरता नहीं, कोई एक इकाई आपके पूरे क्वेरी पैटर्न को नहीं देखती। पूर्ण चेन-ऑफ-ट्रस्ट वैलिडेशन के लिए `[dnssec] enabled = true` जोड़ें।
- **`auto`** — स्टार्टअप पर रूट सर्वर की जाँच करें, पहुँच योग्य होने पर रिकर्सिव, अन्यथा Quad9 (`https://9.9.9.9/dns-query`) को DoH पर फ़ॉरवर्ड करें, जो तब आपकी क्वेरीज़ देखता है। एक अलग प्रोवाइडर चुनने के लिए अपने `[upstream]` के साथ `forward` का उपयोग करें।

DNSSEC पूर्ण चेन-ऑफ-ट्रस्ट को मान्य करता है: RRSIG हस्ताक्षर, DNSKEY सत्यापन, DS डेलिगेशन, NSEC/NSEC3 इनकार प्रमाण। [यह कैसे काम करता है पढ़ें →](https://numa.rs/blog/posts/dnssec-from-scratch.html)

**DNS-over-TLS लिसनर** (RFC 7858) — iOS Private DNS, systemd-resolved, या stubby जैसे सख्त क्लाइंट से पोर्ट 853 पर एन्क्रिप्टेड क्वेरीज़ स्वीकार करें। दो मोड:

- **स्व-हस्ताक्षरित** (डिफ़ॉल्ट) — numa स्वचालित रूप से एक लोकल CA जनरेट करता है। `numa install` इसे macOS, Linux (Debian/Ubuntu, Fedora/RHEL/SUSE, Arch), और Windows पर सिस्टम ट्रस्ट स्टोर में जोड़ता है, और `numa uninstall` इसे हटा देता है। iOS पर, `numa setup-phone` से `.mobileconfig` इंस्टॉल करें। Firefox अपना खुद का NSS स्टोर रखता है और सिस्टम वाले को अनदेखा करता है — यदि आपको Firefox में `.numa` सेवाओं के लिए HTTPS चाहिए तो वहाँ CA पर मैन्युअल रूप से भरोसा करें।
- **अपना सर्ट लाएँ** — `[dot] cert_path` / `key_path` को सार्वजनिक रूप से विश्वसनीय सर्ट (जैसे, आपके numa इंस्टेंस की ओर इंगित डोमेन पर DNS-01 चैलेंज के माध्यम से Let's Encrypt) पर इंगित करें। क्लाइंट बिना किसी ट्रस्ट-स्टोर सेटअप के कनेक्ट होते हैं — AdGuard Home या Cloudflare `1.1.1.1` जैसा ही UX।

ALPN `"dot"` दोनों मोड में विज्ञापित और लागू किया जाता है; बेमेल ALPN के साथ हैंडशेक को क्रॉस-प्रोटोकॉल कन्फ्यूज़न डिफेंस के रूप में अस्वीकार कर दिया जाता है।

**Oblivious DoH** (RFC 9230) — `[upstream] mode = "odoh"` के साथ ([रेसिपी](https://github.com/razvandimescu/numa/blob/main/recipes/odoh-upstream.md)) प्रत्येक क्वेरी लक्ष्य के लिए HPKE-सील की जाती है और एक रिले के माध्यम से भेजी जाती है। रिले आपका IP और सिफरटेक्स्ट देखता है, लक्ष्य प्रश्न और रिले का IP देखता है, और क्वेरी को रीडायरेक्ट करने वाला रिले नए गंतव्य को कुछ ऐसा सौंपता है जिसे वह डिक्रिप्ट नहीं कर सकता। Numa एक ऐसे रिले और लक्ष्य को अस्वीकार करता है जो एक ही रजिस्ट्रेबल डोमेन साझा करते हैं। ODoH उस कनेक्शन को नहीं छिपाता जो आप बाद में खोलते हैं: आपका ISP अभी भी गंतव्य IP देखता है और, ECH के बिना, TLS हैंडशेक में होस्टनेम देखता है।

**फ़ोन सेटअप** — अपने iPhone या Android को एक ही चरण में Numa की ओर इंगित करें:

```bash
numa setup-phone
```

एक QR कोड प्रिंट करता है। इसे स्कैन करें, प्रोफ़ाइल इंस्टॉल करें, सर्टिफिकेट ट्रस्ट टॉगल करें — आपके फ़ोन का DNS अब TLS पर Numa के माध्यम से रूट होता है। `numa.toml` में `[mobile] enabled = true` आवश्यक है।

## LAN डिस्कवरी

कई मशीनों पर Numa चलाएँ। वे mDNS के माध्यम से स्वचालित रूप से एक-दूसरे को खोज लेते हैं:

```
Machine A (192.168.1.5)              Machine B (192.168.1.20)
┌──────────────────────┐             ┌──────────────────────┐
│ Numa                 │    mDNS     │ Numa                 │
│  - api (port 8000)   │◄───────────►│  - grafana (3000)    │
│  - frontend (5173)   │  discovery  │                      │
└──────────────────────┘             └──────────────────────┘
```

Machine B से: `curl http://api.numa` → Machine A के पोर्ट 8000 पर प्रॉक्सी किया जाता है। `numa lan on` से सक्षम करें।

**हब मोड**: `bind_addr = "0.0.0.0:53"` के साथ एक इंस्टेंस चलाएँ और अन्य डिवाइसों का DNS उस पर इंगित करें — उन्हें बिना कुछ इंस्टॉल किए विज्ञापन ब्लॉकिंग + `.numa` रिज़ॉल्यूशन मिलता है। `bind_addr` इंटरफ़ेस के एक विशिष्ट सबसेट को बाइंड करने के लिए एक सूची भी स्वीकार करता है। चरण-दर-चरण: [नेटवर्क-व्यापी रेसिपी](https://github.com/razvandimescu/numa/blob/main/recipes/network-wide.md)।

## Docker

```bash
# Recommended — host networking (Linux)
docker run -d --name numa --network host -v numa-data:/var/lib/numa ghcr.io/razvandimescu/numa

# Port mapping (macOS/Windows Docker Desktop)
docker run -d --name numa -p 53:53/udp -p 53:53/tcp -p 5380:5380 -v numa-data:/var/lib/numa ghcr.io/razvandimescu/numa
```

डैशबोर्ड `http://localhost:5380` पर। पोर्ट मैपिंग के साथ या किसी अन्य डिवाइस से, किसी भी यूज़रनेम और `docker exec numa numa token` से प्राप्त टोकन से लॉग इन करें। `numa-data` वॉल्यूम कंटेनर के पुनः निर्माण के दौरान टोकन और लोकल CA को बनाए रखता है। इमेज डिफ़ॉल्ट रूप से API और प्रॉक्सी को `0.0.0.0` पर बाइंड करती है। कस्टम कॉन्फ़िग से ओवरराइड करें:

```bash
docker run -d --name numa --network host -v numa-data:/var/lib/numa \
  -v /path/to/numa.toml:/root/.config/numa/numa.toml \
  ghcr.io/razvandimescu/numa
```

मल्टी-आर्क: `linux/amd64` और `linux/arm64`।

टर्नकी compose रेसिपी:
- [`packaging/client/`](https://github.com/razvandimescu/numa/blob/main/packaging/client) — ODoH क्लाइंट मोड (अनाम DNS), Numa + स्टार्टर `numa.toml`।
- [`packaging/relay/`](https://github.com/razvandimescu/numa/blob/main/packaging/relay) — पब्लिक ODoH रिले, Numa + Caddy + ACME।

## यह कैसे तुलना करता है

| | Pi-hole | AdGuard Home | Unbound | Numa |
|---|---|---|---|---|
| लोकल सर्विस प्रॉक्सी + ऑटो TLS | — | — | — | `.numa` डोमेन, HTTPS, WebSocket |
| LAN सर्विस डिस्कवरी | — | — | — | mDNS, ज़ीरो कॉन्फ़िग |
| डेवलपर ओवरराइड (REST API) | — | — | — | ऑटो-रिवर्ट, स्क्रिप्टेबल |
| रिकर्सिव रिज़ॉल्वर | — | — | हाँ | हाँ, SRTT चयन के साथ |
| DNSSEC वैलिडेशन | — | — | हाँ | हाँ (RSA, ECDSA, Ed25519) |
| विज्ञापन ब्लॉकिंग | हाँ | हाँ | — | Hagezi Pro |
| प्रति-क्लाइंट नियम | समूह | हाँ | व्यू / टैग | CIDR द्वारा (`[[client_policy]]`), केवल कॉन्फ़िग फ़ाइल |
| वेब एडमिन UI | पूर्ण | पूर्ण | — | डैशबोर्ड |
| एन्क्रिप्टेड अपस्ट्रीम (DoH/DoT) | cloudflared चाहिए | केवल DoH | केवल DoT | DoH + DoT (`tls://`) |
| एन्क्रिप्टेड क्लाइंट (DoT लिसनर) | stunnel साइडकार चाहिए | हाँ | हाँ | नेटिव (RFC 7858) |
| DoH सर्वर एंडपॉइंट | — | हाँ | — | हाँ (RFC 8484) |
| रिक्वेस्ट हेजिंग | — | — | — | सभी प्रोटोकॉल (UDP, DoH, DoT) |
| सर्व-स्टेल + प्रीफ़ेच | — | — | 90% TTL पर प्रीफ़ेच | RFC 8767, 90% TTL पर प्रीफ़ेच |
| कंडीशनल फ़ॉरवर्डिंग | — | हाँ | हाँ | हाँ (प्रति-सफ़िक्स नियम) |
| पोर्टेबल (लैपटॉप) | नहीं (उपकरण) | नहीं (उपकरण) | सर्वर | सिंगल बाइनरी, macOS/Linux/Windows |
| कम्युनिटी परिपक्वता | 56K स्टार, 10 वर्ष | 33K स्टार | 20 वर्ष | नया |

## Numa को अपने प्राइमरी DNS के रूप में चलाना

**यदि Numa रुक जाए।** `numa install` Numa को launchd (macOS) या systemd (Linux) के साथ रजिस्टर करता है, जो इसे बंद होने पर पुनः आरंभ करते हैं। यदि Numa आपका एकमात्र रिज़ॉल्वर है, तो DNS लुकअप तब तक विफल रहते हैं जब तक यह पुनः आरंभ न हो। Numa का उपयोग बंद करने और मशीन की पिछली DNS सेटिंग्स को पुनर्स्थापित करने के लिए, `sudo numa uninstall` चलाएँ।

यदि Numa चल रहा है लेकिन अपस्ट्रीम पहुँच से बाहर हैं, तो यह अपने TTL के एक घंटे बाद तक कैश्ड उत्तर दे सकता है (RFC 8767)। जिन नामों को इसने कैश नहीं किया, वे विफल हो जाते हैं।

**परीक्षण।** DNS पार्सर को हर उस पुल रिक्वेस्ट पर फ़ज़ किया जाता है जो इसे छूती है, साप्ताहिक रूप से लंबे रन के साथ ([`fuzz.yml`](https://github.com/razvandimescu/numa/blob/main/.github/workflows/fuzz.yml))। CI डिपेंडेंसीज़ पर `cargo audit` चलाता है और macOS और Linux पर Numa को इंस्टॉल, पुनः इंस्टॉल और अनइंस्टॉल करता है।

**रिज़ॉल्वर हार्डनिंग।** रिकर्सिव मोड में, Numa क्वेरी किए जा रहे ज़ोन के बाहर के उत्तर रिकॉर्ड छोड़ देता है, प्राइवेट या लूपबैक पतों पर नेमसर्वर से क्वेरी करने से इनकार करता है, और प्रत्येक लुकअप की अपस्ट्रीम क्वेरीज़ और रेफ़रल गहराई को सीमित करता है। सादे UDP पर उत्तर क्वेरी के रैंडम ट्रांज़ैक्शन ID और प्रश्न से मेल खाने चाहिए। ANY क्वेरीज़ अस्वीकार कर दी जाती हैं। DNSSEC वैलिडेशन डिफ़ॉल्ट रूप से बंद है; `numa dnssec on` इसे चालू करता है। किसी भेद्यता की निजी रूप से रिपोर्ट करने के लिए, [SECURITY.md](https://github.com/razvandimescu/numa/blob/main/SECURITY.md) देखें।

**Numa क्या नहीं करता।** कोई DHCP नहीं, कोई क्लस्टरिंग नहीं, इंस्टेंस के बीच कोई कॉन्फ़िग सिंक नहीं। अधिकांश सेटिंग्स [`numa.toml`](https://github.com/razvandimescu/numa/blob/main/numa.toml) में रहती हैं, डैशबोर्ड में नहीं। पूरे नेटवर्क के लिए, इसे उस मशीन पर चलाएँ जो चालू रहती है।

## प्रदर्शन

0.1ms कैश्ड क्वेरीज़ — Unbound और AdGuard Home से मेल खाता है। वायर-लेवल कैश इन-प्लेस TTL पैचिंग के साथ कच्चे बाइट्स संग्रहीत करता है। रिक्वेस्ट हेजिंग p99 स्पाइक्स को समाप्त करती है: कोल्ड रिकर्सिव p99 538ms बनाम Unbound 748ms (−28%), σ 4× टाइटर। [बेंचमार्क →](https://github.com/razvandimescu/numa/blob/main/benches)

## और जानें

- [ब्लॉग: Numa as your tailnet resolver](https://numa.rs/blog/posts/numa-tailnet-resolver.html)
- [ब्लॉग: DNS-over-TLS from Scratch in Rust](https://numa.rs/blog/posts/dot-from-scratch.html)
- [ब्लॉग: Implementing DNSSEC from Scratch in Rust](https://numa.rs/blog/posts/dnssec-from-scratch.html)
- [ब्लॉग: I Built a DNS Resolver from Scratch](https://numa.rs/blog/posts/dns-from-scratch.html)
- [कॉन्फ़िगरेशन संदर्भ](https://github.com/razvandimescu/numa/blob/main/numa.toml) — सभी विकल्प इनलाइन प्रलेखित; `numa config path` दिखाता है कि आपका इंस्टॉल कौन सी फ़ाइल उपयोग कर रहा है, `numa config edit` इसे खोलता है
- [REST API](https://github.com/razvandimescu/numa/blob/main/src/api.rs) — ओवरराइड, कैश, ब्लॉकिंग, सेवाएँ, डायग्नोस्टिक्स
- [numa-metrics](https://github.com/razvandimescu/numa-metrics) — टिकाऊ क्वेरी इतिहास और एनालिटिक्स, डिज़ाइन से ऑफ़-होस्ट (कोई SD-कार्ड राइट नहीं)

## रोडमैप

- [x] DNS फ़ॉरवर्डिंग, कैशिंग, विज्ञापन ब्लॉकिंग, डेवलपर ओवरराइड
- [x] `.numa` लोकल डोमेन — ऑटो TLS, पाथ रूटिंग, WebSocket प्रॉक्सी
- [x] LAN सर्विस डिस्कवरी — mDNS, क्रॉस-मशीन DNS + प्रॉक्सी
- [x] DNS-over-HTTPS — एन्क्रिप्टेड अपस्ट्रीम + सर्वर एंडपॉइंट (RFC 8484)
- [x] DNS-over-TLS — एन्क्रिप्टेड क्लाइंट लिसनर (RFC 7858) + अपस्ट्रीम फ़ॉरवर्डिंग (`tls://`)
- [x] Oblivious DoH — अनाम क्लाइंट मोड + पब्लिक रिले (`numa relay`, RFC 9230)
- [x] रिकर्सिव रिज़ॉल्यूशन + DNSSEC — चेन-ऑफ-ट्रस्ट, NSEC/NSEC3
- [x] SRTT-आधारित नेमसर्वर चयन
- [x] मल्टी-फ़ॉरवर्डर फ़ेलओवर — SRTT रैंकिंग के साथ कई अपस्ट्रीम, फ़ॉलबैक पूल
- [x] रिक्वेस्ट हेजिंग — समानांतर अनुरोध पैकेट लॉस और टेल लेटेंसी को बचाते हैं (सभी प्रोटोकॉल)
- [x] सर्व-स्टेल + प्रीफ़ेच — RFC 8767, <10% TTL पर और स्टेल सर्व पर बैकग्राउंड रीफ्रेश
- [x] कंडीशनल फ़ॉरवर्डिंग — स्प्लिट-हॉरिज़न DNS (Tailscale, VPN) के लिए प्रति-सफ़िक्स नियम
- [x] कैश वार्मिंग — कॉन्फ़िगर किए गए डोमेन के लिए सक्रिय रिज़ॉल्यूशन
- [x] मोबाइल ऑनबोर्डिंग — `setup-phone` QR फ़्लो, मोबाइल API, mobileconfig प्रोफ़ाइल
- [ ] pkarr एकीकरण — Mainline DHT के माध्यम से स्व-संप्रभु DNS
- [ ] ग्लोबल `.numa` नाम — DHT-समर्थित, कोई रजिस्ट्रार नहीं

## लाइसेंस

MIT
टूल डाउनलोड करें