Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
sdproxy — Proxy DNS semplice e veloce con funzionalità non così semplici. Focalizzato sull'inoltro DNS instradato, il filtraggio e il controllo parentale. | Kitploit
Strumenti/GitHubGitHub/cbuijs/sdproxy
Strumenti DifensiviStrumenti di Crittografia/DecrittografiaRaccolta InformazioniSicurezza WebSicurezza di RetePrivacyUtilità e FrameworkMachine LearningAnalisi DNSRilevamento di Anomalie
GitHub
553910h 28m 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 →
cbuijs/sdproxy

sdproxy

Proxy DNS semplice e veloce con funzionalità non così semplici. Focalizzato sull'inoltro DNS instradato, il filtraggio e il controllo parentale.

Vedi Repository
Condividi

sdproxy

Un proxy DNS che ti dà il controllo reale sulla tua rete domestica.


Introduzione

Ho passato anni come consulente nella "grande arena" del networking e della sicurezza. La sicurezza DNS era/è il mio lavoro quotidiano, ma anche un hobby preferito con cui armeggiare. Dato che ora ho dei figli e devo essere un genitore responsabile, mi sono preso l'incarico di filtrare per loro il grande e cattivo internet. Così ho costruito sdproxy (Simple DNS Proxy). Porta protezioni/metodi/precisione di livello enterprise/big-boy a livello di rete domestica (più o meno).

Il proxy è scritto in Go e si compila in un binario snello per router economici. NON ci sono abbonamenti cloud né canoni mensili. Parla ogni variante di DNS e include un controllo di ammissione adattivo per rimanere stabile. È solo snella (più o meno), cattiva, precisione olandese-ingegnerizzata per il salotto. Solo tu, un eseguibile e un file yaml.

E ricorda... È sempre il DNS!


Nota: Il file full_reference_config.yaml è sempre più aggiornato di questo README. In caso di dubbio, controlla lì.


Il DNS è la rubrica telefonica di internet - ogni dispositivo sulla tua rete cerca un nome prima di connettersi ovunque.

sdproxy si mette nel mezzo, sul tuo router, e ti lascia decidere cosa succede dopo: metterlo in cache, bloccarlo, instradarlo verso un resolver diverso, applicare modelli di sicurezza ML avanzati o imporre limiti di tempo per ogni figlio. Nessun abbonamento cloud, nessun canone mensile, nessun servizio esterno che va giù.

È scritto in Go, si compila in un singolo binario ed è abbastanza snello da girare su router domestici economici (OpenWrt su un TP-Link, GL.iNet o NetGear, pfSense, OPNsense o semplicemente una normale macchina Linux).

Vedi i principali vantaggi rispetto alle alternative .

qui

Cosa fa

Parla ogni variante di DNS e si auto-aggiorna

Il buon vecchio UDP/TCP (porta 53), DNS-over-TLS crittografato (DoT), DNS-over-HTTPS (DoH) e DNS-over-QUIC (DoQ).

  • Aggiornamenti dinamici DoH3: sdproxy analizza nativamente gli header Alt-Svc e aggiorna senza soluzione di continuità i flussi DoH standard a connessioni HTTP/3 (QUIC) ad alte prestazioni al volo.

Encrypted Client Hello (ECH) e auto-discovery DDR

Protegge la tua navigazione dall'ispezione approfondita dei pacchetti da parte dell'ISP crittografando il Server Name Indication (SNI) del TLS.

  • ECH in ingresso: sdproxy agisce come server ECH completo, decrittografando i client hello e trasmettendo nativamente le proprie chiavi alla tua rete locale tramite DDR (Discovery of Designated Resolvers).
  • Auto-discovery ECH in uscita: quando comunica con i provider upstream, sdproxy interroga attivamente i loro record HTTPS/SVCB, estrae le loro chiavi ECH e protegge completamente l'handshake TLS in modo autonomo.

Rilevamento DGA con Machine Learning

Un motore di inferenza ML nativo a regressione logistica a zero allocazioni gira sul percorso critico. Estrae l'entropia di Shannon, lo sbilanciamento vocali/consonanti e le catene di n-gram per rilevare e bloccare istantaneamente i domini generati algoritmicamente (DGA) usati da botnet, malware e infrastrutture C2.

Difesa da esfiltrazione dati e DNS tunneling

Il profiling volumetrico di base traccia la media mobile esponenziale (EMA) con smoothing Alpha dei dati trasferiti per client o per subnet. Rileva improvvise e anomale raffiche di dati in uscita dalla rete sulla porta 53 e mette il client in blackhole in una Penalty Box ad alte prestazioni.

Routing enterprise e validazione a consenso

sdproxy non inoltra le query ciecamente; valuta dinamicamente gli upstream.

  • Consenso sicuro: interroga simultaneamente tutti gli upstream di un gruppo. Ispeziona a fondo i payload (catene CNAME, endpoint IP finali) e interrompe attivamente la connessione se QUALSIASI upstream restituisce dati non corrispondenti o un NULL-IP avvelenato.
  • EMA più veloce: traccia la latenza in nanosecondi di ogni upstream. Usa un algoritmo Epsilon-Greedy per restare sul resolver più veloce riservando il 5% delle query all'esplorazione casuale per scoprire percorsi di rete che si riprendono.
  • Coalescing SingleFlight: query concorrenti identiche che mancano la cache vengono fuse senza soluzione di continuità in un'unica esecuzione in uscita, eliminando i picchi di Thundering Herd.

Cache aggressiva

Hai risposto a qualcosa di recente? Servilo dalla cache. sdproxy utilizza 32 shard di memoria lock-free con seed crittografico. Se un record scade mentre è ancora popolare, sdproxy attiva un prefetch in background così i tuoi dispositivi non notano mai un cache miss. Supporta pienamente lo Stale-Serving RFC 8767.

Conosce la tua rete locale

Puntalo ai tuoi file di lease DHCP e a /etc/hosts e risponderà alle ricerche di nomi locali (il tuo NAS, la tua stampante, il tuo Pi) senza disturbare un resolver upstream. Funziona con dnsmasq, ISC DHCP, Kea e odhcpd.

Instrada dispositivi diversi in modo diverso

Mappa l'identità di un dispositivo a un diverso gruppo di resolver upstream o profilo parentale.

  • Identificatori: MAC esatto, mascheramento glob MAC, IP / CIDR, ASN (Autonomous System Number via IPinfo), nome client, TLS SNI e percorsi HTTP DoH.
  • Sinkhole istantanei: associa un codice di ritorno DNS esplicito (RCODE: REFUSED, NXDOMAIN) direttamente a una regola di routing per la quarantena istantanea del client.

Controlli parentali - per figlio, per categoria

Crea un profilo per ogni figlio, assegna i loro dispositivi e configura:

  • Orari - Orari diversi per i giorni di scuola rispetto ai weekend.
  • Budget di tempo - Tracciamento accumulativo minuto per minuto. 2 ore totali, con sotto-limiti (1 ora giochi, 30 minuti social media).
  • Blocchi per categoria - Caricati dinamicamente da repo pubblici (uBlock, hosts o liste di domini grezze).
  • Tracciamento dello stato: il tracciamento del tempo avviene tramite TTL di heartbeat DNS e snapshot su disco per sopravvivere ai riavvii.

Pannello di amministrazione web

UI opzionale, protetta da password, basata su browser per operazioni in tempo reale.

  • Commuta istantaneamente un gruppo di dispositivi su ALLOW (cancello spalancato), BLOCK (taglia internet), FREE (sospendi i limiti) o LOG (modalità audit).
  • Visualizza log delle query in streaming live e grafici delle prestazioni a Ring-Buffer di 24 ore.

Protegge dal DNS Rebinding

Scarta qualsiasi risposta upstream contenente IP privati o bogon (RFC1918, loopback, ULA) restituendo NXDOMAIN per prevenire attacchi Server-Side Request Forgery (SSRF) e pivoting del browser.


Avvio rapido

root@kitploit:~
git clone https://github.com/cbuijs/sdproxy
cd sdproxy
go build -o sdproxy .
./sdproxy --config config.yaml

Richiede Go 1.25+. Nessun CGo, nessuna libreria esterna.

Configurazione minima

root@kitploit:~
server:
  listen_udp: ["0.0.0.0:53"]

cache:
  enabled: true
  size: 1024

upstreams:
  default:
    - "udp://1.1.1.1:53"
    - "udp://9.9.9.9:53"

Compila per il tuo router

root@kitploit:~
# OpenWrt MIPS (TP-Link, Netgear, etc.)
GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -ldflags="-s -w" -o sdproxy .

# OpenWrt ARM (Linksys, Asus, etc.)
GOOS=linux GOARCH=arm GOARM=7 go build -ldflags="-s -w" -o sdproxy .

# OpenWrt x86_64
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o sdproxy .

I flag -s -w rimuovono i simboli di debug - risparmiano il 30-40% della dimensione del binario, cosa che conta su piccole memorie flash.


Configurazione

Tutto vive in un unico file YAML. Il file full_reference_config.yaml in questo repo documenta ogni singola opzione inline - quel file è il manuale. Copialo, elimina ciò che non ti serve, regola il resto.


Output dei log

root@kitploit:~
2026/05/01 14:23:01 [DNS] [DoH3+ECH] 192.168.1.42 (alice-iphone) -> google.com A | ROUTE: kids | UPSTREAM: doh3://cloudflare-dns.com | OK
2026/05/01 14:23:02 [DNS] [UDP] 192.168.1.42 (alice-iphone) -> google.com A | ROUTE: kids | CACHE HIT
2026/05/01 14:23:05 [DNS] [DoQ] 192.168.1.10 -> nas.lan A | LOCAL IDENTITY
2026/05/01 14:23:10 [DNS] [UDP] 192.168.1.42 (alice-iphone) -> dga-domain-xzq1.com A | DGA INTERCEPT (Score: 98.2) | NXDOMAIN
Scarica lo strumento