Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
numa — Portable DNS resolver in Rust — .numa local domains, ad blocking, developer overrides | Kitploit
Outils/GitHubGitHub/razvandimescu/numa
Encryption/Decryption ToolsDNS & Subdomain EnumerationNetwork SecurityPrivacyDNS FuzzingDNS Analysis
GitHubrazvandimescu/numa

numa

Portable DNS resolver in Rust — .numa local domains, ad blocking, developer overrides

Voir le dépôt
1.4k101il y a 9h 29mVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Numa

CI crates.io License: MIT

DNS que vous possédez. Partout où vous allez. — numa.rs

Un résolveur DNS portable dans un seul binaire. Bloquez les publicités sur n'importe quel réseau, nommez vos services locaux (frontend.numa), remplacez n'importe quel nom d'hôte avec restauration automatique, et scellez chaque requête sortante avec ODoH (RFC 9230) afin qu'aucune partie ne puisse voir à la fois qui vous êtes et ce que vous avez demandé — le tout depuis votre ordinateur portable, sans compte cloud ni Raspberry Pi nécessaire.

Construit de zéro en Rust. Zéro bibliothèque DNS. Mise en cache, blocage de publicités et domaines de services locaux prêts à l'emploi. Résolution récursive optionnelle depuis les serveurs racines avec validation complète de la chaîne de confiance DNSSEC, plus un écouteur DNS-over-TLS pour les connexions client chiffrées (iOS Private DNS, systemd-resolved, etc.). Exécutez numa relay et le même binaire devient également un point de terminaison ODoH public — la liste DNSCrypt organisée ne contient actuellement qu'un seul relais fonctionnel, donc chaque déploiement de Numa élargit matériellement l'écosystème. Un seul binaire d'environ 8 Mo, tout est intégré.

Tableau de bord Numa

Démarrage rapide

root@kitploit:~
# 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 — télécharger depuis GitHub Releases
# Toutes les plateformes
cargo install numa

# Docker
docker run -d --name numa --network host ghcr.io/razvandimescu/numa

# Nix
nix run github:razvandimescu/numa
root@kitploit:~
sudo numa                              # exécution en avant-plan (le port 53 nécessite root/administrateur)

Ouvrez le tableau de bord : http://numa.numa (ou http://localhost:5380)

Définir comme DNS système :

Sur macOS et Linux, numa s'exécute en tant que service système (launchd/systemd). Sur Windows, numa démarre automatiquement à la connexion via le registre. Windows lie également 127.0.0.2:53 (le Dnscache intégré possède 127.0.0.1:53) et installe une règle NRPT pour y acheminer les requêtes — modifiez donc bind_addr/api_bind_addr pour utiliser 127.0.0.2, pas 127.0.0.1.

Services locaux

Nommez vos services de développement au lieu de retenir des numéros de port :

root@kitploit:~
curl -X POST localhost:5380/services \
  -d '{"name":"frontend","target_port":5173}'

Désormais, https://frontend.numa fonctionne dans votre navigateur — cadenas vert, certificat valide, passage WebSocket pour HMR. Pas de mkcert, pas de nginx, pas de /etc/hosts.

Ajoutez du routage basé sur le chemin (app.numa/api → :5001), partagez des services entre machines via la découverte LAN, ou configurez tout dans numa.toml.

Blocage des publicités et confidentialité

Plus de 385 000 domaines bloqués via Hagezi Pro. Fonctionne sur n'importe quel réseau — cafés, hôtels, aéroports. Voyage avec votre ordinateur portable.

Trois modes de résolution :

  • forward (par défaut) — proxy transparent vers votre DNS système existant. Tout fonctionne comme avant, avec en plus la mise en cache et le blocage des publicités. Les portails captifs, VPN, DNS d'entreprise sont tous respectés.
  • recursive — résolution directe depuis les serveurs racines. Aucune dépendance amont, aucune entité ne voit l'intégralité de votre modèle de requêtes. Ajoutez [dnssec] enabled = true pour une validation complète de la chaîne de confiance.
  • auto — sonde les serveurs racines au démarrage : récursif si accessible, secours DoH chiffré si bloqué.

DNSSEC valide la chaîne de confiance complète : signatures RRSIG, vérification DNSKEY, délégation DS, preuves de refus NSEC/NSEC3. Lisez comment cela fonctionne →

Écouteur DNS-over-TLS (RFC 7858) — accepte les requêtes chiffrées sur le port 853 de clients stricts comme iOS Private DNS, systemd-resolved ou stubby. Deux modes :

  • Auto-signé (par défaut) — numa génère automatiquement une autorité de certification locale. numa install l'ajoute au magasin de confiance système sur macOS, Linux (Debian/Ubuntu, Fedora/RHEL/SUSE, Arch) et Windows. Sur iOS, installez le .mobileconfig depuis numa setup-phone. Firefox utilise son propre magasin NSS et ignore celui du système — faites confiance au CA manuellement si vous avez besoin de HTTPS pour les services .numa dans Firefox.
  • Apportez votre propre certificat — indiquez [dot] cert_path / key_path vers un certificat de confiance publique (ex. Let's Encrypt via challenge DNS-01 sur un domaine pointant vers votre instance numa). Les clients se connectent sans aucune configuration de magasin de confiance — même expérience qu'AdGuard Home ou Cloudflare 1.1.1.1.

ALPN "dot" est annoncé et appliqué dans les deux modes ; une poignée de main avec ALPN non correspondant est rejetée comme défense contre la confusion inter-protocoles.

Configuration téléphone — pointez votre iPhone ou Android vers Numa en une étape :

root@kitploit:~
numa setup-phone

Affiche un code QR. Scannez-le, installez le profil, activez la confiance du certificat — le DNS de votre téléphone transite désormais par Numa via TLS. Nécessite [mobile] enabled = true dans numa.toml.

Découverte LAN

Exécutez Numa sur plusieurs machines. Elles se découvrent automatiquement via mDNS :

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

Depuis Machine B : curl http://api.numa → proxy vers le port 8000 de Machine A. Activez avec numa lan on.

Mode Hub : exécutez une instance avec bind_addr = "0.0.0.0:53" et pointez le DNS des autres périphériques vers elle — ils bénéficient du blocage des publicités + résolution .numa sans rien installer. bind_addr accepte également une liste pour lier un sous-ensemble spécifique d'interfaces.

Docker

root@kitploit:~
# Recommandé — réseau hôte (Linux)
docker run -d --name numa --network host ghcr.io/razvandimescu/numa

# Mappage de ports (macOS/Windows Docker Desktop)
docker run -d --name numa -p 53:53/udp -p 53:53/tcp -p 5380:5380 ghcr.io/razvandimescu/numa

Tableau de bord sur http://localhost:5380. L'image lie l'API et le proxy à 0.0.0.0 par défaut. Remplacez avec une configuration personnalisée :

root@kitploit:~
docker run -d --name numa --network host \
  -v /path/to/numa.toml:/root/.config/numa/numa.toml \
  ghcr.io/razvandimescu/numa

Multi-arch : linux/amd64 et linux/arm64.

Recettes compose clé en main :

  • packaging/client/ — mode client ODoH (DNS anonyme), Numa + numa.toml de base.
  • packaging/relay/ — relais ODoH public, Numa + Caddy + ACME.

Comparaison

Performances

Requêtes en cache en 0,1 ms — comparable à Unbound et AdGuard Home. Le cache au niveau fil stocke les octets bruts avec correction TTL en place. Le hedging de requêtes élimine les pics p99 : p99 récursif à froid 538 ms contre 748 ms pour Unbound (−28 %), σ 4× plus serré. Benchmarks →

En savoir plus

  • Blog : Numa comme résolveur de votre tailnet
  • Blog : DNS-over-TLS from Scratch in Rust
  • Blog : Implementing DNSSEC from Scratch in Rust
  • Blog : I Built a DNS Resolver from Scratch
  • Référence de configuration — toutes les options documentées en ligne
  • API REST — remplacements, cache, blocage, services, diagnostics
  • numa-metrics — historique et analyses durables des requêtes, hors hôte par conception (pas d'écritures sur carte SD)

Feuille de route

  • Transfert DNS, mise en cache, blocage des publicités, remplacements développeur
  • Domaines locaux .numa — TLS automatique, routage de chemin, proxy WebSocket
  • Découverte de services LAN — mDNS, DNS + proxy inter-machines
  • DNS-over-HTTPS — amont chiffré + point de terminaison serveur (RFC 8484)
  • DNS-over-TLS — écouteur client chiffré (RFC 7858) + transfert amont (tls://)
  • Oblivious DoH — mode client anonymisé + relais public (numa relay, RFC 9230)
  • Résolution récursive + DNSSEC — chaîne de confiance, NSEC/NSEC3
  • Sélection de serveur de noms basée sur SRTT
  • Basculement multi-transfert — plusieurs amonts avec classement SRTT, pool de secours
  • Hedging de requêtes — requêtes parallèles pour rattraper les pertes de paquets et la latence de queue (tous les protocoles)
  • Serve-stale + préchargement — RFC 8767, rafraîchissement en arrière-plan à <10 % TTL et lors de la réponse périmée

Licence

MIT

Télécharger l’outil
PlateformeInstallationDésinstallation
macOSsudo numa installsudo numa uninstall
Linuxsudo numa installsudo numa uninstall
Windowsnuma install (admin) + redémarragenuma uninstall (admin) + redémarrage
Pi-holeAdGuard HomeUnboundNuma
Proxy de service local + TLS automatique———Domaines .numa, HTTPS, WebSocket
Découverte de services LAN———mDNS, aucune configuration
Remplacements développeur (API REST)———Restauration automatique, scriptable
Résolveur récursif——OuiOui, avec sélection SRTT
Validation DNSSEC——OuiOui (RSA, ECDSA, Ed25519)
Blocage de publicitésOuiOui—Plus de 385 000 domaines
Interface d'administration WebComplèteComplète—Tableau de bord
Amont chiffré (DoH/DoT)Nécessite cloudflaredDoH uniquementDoT uniquementDoH + DoT (tls://)
Clients chiffrés (écouteur DoT)Nécessite sidecar stunnelOuiOuiNatif (RFC 7858)
Point de terminaison serveur DoH—Oui—Oui (RFC 8484)
Hedging de requêtes———Tous les protocoles (UDP, DoH, DoT)
Serve-stale + préchargement——Préchargement à 90% TTLRFC 8767, préchargement à 90% TTL
Transfert conditionnel—OuiOuiOui (règles par suffixe)
Portable (ordinateur portable)Non (appliance)Non (appliance)ServeurBinaire unique, macOS/Linux/Windows
Maturité communautaire56K étoiles, 10 ans33K étoiles20 ansNouveau
  • Transfert conditionnel — règles par suffixe pour DNS à horizon partagé (Tailscale, VPN)
  • Réchauffement du cache — résolution proactive pour les domaines configurés
  • Intégration mobile — flux QR setup-phone, API mobile, profils mobileconfig
  • Intégration pkarr — DNS auto-souverain via DHT Mainline
  • Noms globaux .numa — basés sur DHT, sans registre