Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
numa — Resolutor DNS portatile in Rust — domini locali .numa, blocco pubblicità, override per sviluppatori | Kitploit
Strumenti/GitHubGitHub/razvandimescu/numa
Strumenti di Crittografia/DecrittografiaEnumerazione DNS e SottodominiSicurezza di RetePrivacyFuzzing DNSAnalisi DNS
GitHubrazvandimescu/numa

numa

Resolutor DNS portatile in Rust — domini locali .numa, blocco pubblicità, override per sviluppatori

Vedi Repository
1.4k10118h 48m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Numa

CI crates.io License: MIT

Il DNS che possiedi. Ovunque tu vada. — numa.rs

Un risolutore DNS portabile in un singolo binario. Blocca gli annunci su qualsiasi rete, dai un nome ai tuoi servizi locali (frontend.numa), sovrascrivi qualsiasi hostname con ripristino automatico e sigilla ogni query in uscita con ODoH (RFC 9230) in modo che nessuna singola parte veda sia chi sei sia cosa hai chiesto — tutto dal tuo laptop, senza account cloud o Raspberry Pi.

Realizzato da zero in Rust. Zero librerie DNS. Caching, blocco annunci e domini per servizi locali pronti all'uso. Risoluzione ricorsiva opzionale dai nameserver root con convalida completa della catena di fiducia DNSSEC, più un listener DNS-over-TLS per connessioni client crittografate (iOS Private DNS, systemd-resolved, ecc.). Esegui numa relay e lo stesso binario diventa anche un endpoint ODoH pubblico — l'elenco DNSSEC curato attualmente ha un solo relay sopravvissuto, quindi ogni deploy di Numa espande materialmente l'ecosistema. Un singolo binario di ~8MB, tutto incorporato.

Dashboard di Numa

Avvio rapido

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 — scarica da GitHub Releases
# Tutte le piattaforme
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                              # esegui in primo piano (porta 53 richiede root/admin)

Apri la dashboard: http://numa.numa (o http://localhost:5380)

Imposta come DNS di sistema:

Su macOS e Linux, numa viene eseguito come servizio di sistema (launchd/systemd). Su Windows, numa si avvia automaticamente al login tramite registro. Windows inoltre associa 127.0.0.2:53 (il Dnscache integrato possiede 127.0.0.1:53) e installa una regola NRPT per instradare le query verso di esso — quindi modifica bind_addr/api_bind_addr rispetto a 127.0.0.2, non 127.0.0.1.

Servizi locali

Assegna un nome ai tuoi servizi di sviluppo invece di ricordare i numeri di porta:

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

Adesso https://frontend.numa funziona nel tuo browser — lucchetto verde, certificato valido, passaggio WebSocket per HMR. Nessun mkcert, nessun nginx, nessun /etc/hosts.

Aggiungi instradamento basato su percorso (app.numa/api → :5001), condividi servizi tra macchine tramite scoperta LAN o configura tutto in numa.toml.

Blocco pubblicità e privacy

Oltre 385.000 domini bloccati tramite Hagezi Pro. Funziona su qualsiasi rete — caffetterie, hotel, aeroporti. Viaggia con il tuo laptop.

Tre modalità di risoluzione:

  • forward (predefinita) — proxy trasparente al tuo DNS di sistema esistente. Tutto funziona come prima, solo con caching e blocco annunci in più. Portali captive, VPN, DNS aziendali — tutti rispettati.
  • recursive — risolvi direttamente dai nameserver root. Nessuna dipendenza upstream, nessuna singola entità vede il tuo pattern completo di query. Aggiungi [dnssec] enabled = true per la convalida completa della catena di fiducia.
  • auto — sonda i server root all'avvio, ricorsivo se raggiungibile, fallback DoH crittografato se bloccato.

DNSSEC convalida l'intera catena di fiducia: firme RRSIG, verifica DNSKEY, delega DS, prove di negazione NSEC/NSEC3. Leggi come funziona →

Listener DNS-over-TLS (RFC 7858) — accetta query crittografate sulla porta 853 da client rigorosi come iOS Private DNS, systemd-resolved o stubby. Due modalità:

  • Self-signed (predefinita) — numa genera automaticamente una CA locale. numa install la aggiunge al trust store di sistema su macOS, Linux (Debian/Ubuntu, Fedora/RHEL/SUSE, Arch) e Windows. Su iOS, installa il .mobileconfig da numa setup-phone. Firefox mantiene il proprio store NSS e ignora quello di sistema — aggiungi manualmente la fiducia alla CA lì se hai bisogno di HTTPS per i servizi .numa in Firefox.
  • Certificato proprio — imposta [dot] cert_path / key_path su un certificato pubblico attendibile (ad es., Let's Encrypt tramite sfida DNS-01 su un dominio che punta alla tua istanza numa). I client si connettono senza alcuna configurazione del trust store — stessa UX di AdGuard Home o Cloudflare 1.1.1.1.

ALPN "dot" viene pubblicizzato e applicato in entrambe le modalità; un handshake con ALPN non corrispondente viene rifiutato come difesa contro confusione tra protocolli.

Configurazione telefono — collega il tuo iPhone o Android a Numa in un passaggio:

root@kitploit:~
numa setup-phone

Stampa un codice QR. Scansiona, installa il profilo, attiva la fiducia del certificato — il DNS del tuo telefono ora passa attraverso Numa via TLS. Richiede [mobile] enabled = true in numa.toml.

Scoperta LAN

Esegui Numa su più macchine. Si trovano automaticamente tramite mDNS:

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

Dalla Macchina B: curl http://api.numa → inoltrato alla porta 8000 della Macchina A. Abilita con numa lan on.

Modalità hub: esegui un'istanza con bind_addr = "0.0.0.0:53" e punta il DNS di altri dispositivi verso di essa — ottengono blocco annunci + risoluzione .numa senza installare nulla. bind_addr accetta anche un elenco per associare un sottoinsieme specifico di interfacce.

Docker

root@kitploit:~
# Consigliato — rete host (Linux)
docker run -d --name numa --network host ghcr.io/razvandimescu/numa

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

Dashboard a http://localhost:5380. L'immagine associa API e proxy a 0.0.0.0 di default. Sovrascrivi con una configurazione personalizzata:

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 e linux/arm64.

Ricette compose chiavi in mano:

  • packaging/client/ — modalità client ODoH (DNS anonimo), Numa + numa.toml iniziale.
  • packaging/relay/ — relay ODoH pubblico, Numa + Caddy + ACME.

Confronto

Prestazioni

Query in cache da 0,1 ms — alla pari con Unbound e AdGuard Home. La cache a livello di rete memorizza byte grezzi con patch in-place della TTL. L'hedging delle richieste elimina gli spike p99: p99 ricorsivo a freddo 538 ms vs Unbound 748 ms (−28%), σ 4× più stretto. Benchmark →

Per saperne di più

  • Blog: Numa come risolutore della tua tailnet
  • Blog: DNS-over-TLS da zero in Rust
  • Blog: Implementare DNSSEC da zero in Rust
  • Blog: Ho costruito un risolutore DNS da zero
  • Riferimento configurazione — tutte le opzioni documentate inline
  • API REST — sovrascritture, cache, blocco, servizi, diagnostica
  • numa-metrics — cronologia durevole delle query e analisi, fuori host per design (nessuna scrittura su SD-card)

Roadmap

  • Inoltro DNS, caching, blocco annunci, sovrascritture sviluppatore
  • Domini locali .numa — TLS automatico, instradamento percorsi, proxy WebSocket
  • Scoperta servizi LAN — mDNS, DNS + proxy cross-macchina
  • DNS-over-HTTPS — upstream crittografato + endpoint server (RFC 8484)
  • DNS-over-TLS — listener client crittografato (RFC 7858) + inoltro upstream (tls://)
  • Oblivious DoH — modalità client anonima + relay pubblico (numa relay, RFC 9230)
  • Risoluzione ricorsiva + DNSSEC — catena di fiducia, NSEC/NSEC3
  • Selezione nameserver basata su SRTT
  • Failover multi-forwarder — più upstream con ranking SRTT, pool di fallback
  • Hedging delle richieste — richieste parallele salvano perdita di pacchetti e latenza di coda (tutti i protocolli)
  • Serve-stale + prefetch — RFC 8767, aggiornamento in background a <10% TTL e su serve-stale

Licenza

MIT

Scarica lo strumento
PiattaformaInstallazioneDisinstallazione
macOSsudo numa installsudo numa uninstall
Linuxsudo numa installsudo numa uninstall
Windowsnuma install (amministratore) + riavvionuma uninstall (amministratore) + riavvio
Pi-holeAdGuard HomeUnboundNuma
Proxy servizi locali + TLS automatico———Domini .numa, HTTPS, WebSocket
Scoperta servizi LAN———mDNS, zero configurazione
Sovrascritture sviluppatore (API REST)———Ripristino automatico, scriptabile
Risolutore ricorsivo——SìSì, con selezione SRTT
Convalida DNSSEC——SìSì (RSA, ECDSA, Ed25519)
Blocco annunciSìSì—Oltre 385.000 domini
Interfaccia web adminCompletaCompleta—Dashboard
Upstream crittografato (DoH/DoT)Necessita cloudflaredSolo DoHSolo DoTDoH + DoT (tls://)
Client crittografati (listener DoT)Necessita sidecar stunnelSìSìNativo (RFC 7858)
Endpoint server DoH—Sì—Sì (RFC 8484)
Hedging delle richieste———Tutti i protocolli (UDP, DoH, DoT)
Serve-stale + prefetch——Prefetch al 90% TTLRFC 8767, prefetch al 90% TTL
Inoltro condizionale—SìSìSì (regole per suffisso)
Portatile (laptop)No (appliance)No (appliance)ServerSingolo binario, macOS/Linux/Windows
Maturità community56K stelle, 10 anni33K stelle20 anniNuovo
  • Inoltro condizionale — regole per suffisso per DNS split-horizon (Tailscale, VPN)
  • Riscaldamento cache — risoluzione proattiva per domini configurati
  • Onboarding mobile — flusso QR setup-phone, API mobile, profili mobileconfig
  • Integrazione pkarr — DNS auto-sovrano tramite Mainline DHT
  • Nomi .numa globali — basati su DHT, nessun registrar