
Proxy DNS semplice e veloce con funzionalità non così semplici. Focalizzato sull'inoltro DNS instradato, il filtraggio e il controllo parentale.
Un proxy DNS che ti dà il vero controllo sulla tua rete domestica.
Ho passato anni come consulente nell'"arena" del networking e della sicurezza "dei grandi". 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'impegno di filtrare per loro il grande e cattivo internet. Così ho creato sdproxy (Simple DNS Proxy). Porta protezioni/metodi/precisione di livello enterprise/grandi aziende al livello della rete domestica (più o meno).
Il proxy è scritto in Go e si compila in un binario leggero per router economici. NON ci sono abbonamenti cloud o canoni mensili. Parla ogni variante di DNS e include un controllo adattivo degli accessi per rimanere stabile. È solo una precisione snella (più o meno), cattiva, di ingegneria olandese per il soggiorno. Solo tu, un eseguibile e un file yaml.
E ricorda... È sempre il DNS!
Nota: Il file full_reference_config.yaml in questo repository (anch'esso incorporato nel binario tramite sdproxy --example-config) è 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 colloca nel mezzo di tutto ciò, sul tuo router, e ti permette di 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 bambino. Nessun abbonamento cloud, nessun canone mensile, nessun servizio esterno che va giù.
È scritto in Go, si compila in un singolo binario ed è abbastanza leggero da funzionare su router domestici economici (OpenWrt su un TP-Link, GL.iNet o NetGear, pfSense, OPNsense o semplicemente una normale macchina Linux).
Vedi KEY_ADVANTAGES.md per i principali vantaggi rispetto alle alternative.
Il buon vecchio UDP/TCP (porta 53), DNS-over-TLS crittografato (DoT), DNS-over-HTTPS (DoH) e DNS-over-QUIC (DoQ).
sdproxy analizza nativamente le intestazioni Alt-Svc e i parametri ALPN SVCB/HTTPS per aggiornare senza soluzione di continuità i flussi DoH standard a connessioni HTTP/3 (QUIC) ad alte prestazioni al volo.Protegge la tua navigazione dall'ispezione approfondita dei pacchetti da parte dell'ISP crittografando l'indicazione del nome del server TLS (SNI).
sdproxy agisce come un server ECH completo, decrittografando gli hello dei client e trasmettendo nativamente le proprie chiavi alla tua rete locale tramite DDR (_dns.resolver.arpa SVCB/HTTPS) e gli endpoint HTTPS /.well-known/origin-svcb / /.well-known/ech.sdproxy interroga attivamente i loro record HTTPS/SVCB (e i fallback L7 .well-known), estrae le loro chiavi ECH e protegge l'handshake TLS in modo completamente autonomo.Un motore di inferenza ML nativo a regressione logistica e a zero allocazioni viene eseguito sul percorso critico. Estrae l'entropia di Shannon, lo sbilanciamento vocali/consonanti, i pattern di cifre finali e le catene di consonanti per rilevare e bloccare istantaneamente i domini generati algoritmicamente (DGA) usati da botnet, malware e infrastrutture C2.
_for-sale. e dei domini parcheggiati_for-sale. (server.for_sale): sonda _for-sale.<qname> e _for-sale.<apex> alla ricerca di record TXT RFC 10023 validi (v=FORSALE1;) usando una cache dei verdetti a 64 shard, percorsi completi nella cache della catena dei domini padre e coalescenza SingleFlight. Supporta disabled, BLOCK, DROP, LOG o qualsiasi RCODE DNS standard.server.parked): rileva domini parcheggiati, domini padre intermedi e apex eTLD+1 sondando attivamente e ispezionando passivamente i record autoritativi NS, SOA, TXT, CNAME e A/AAAA per i comuni provider di parcheggio domini e monetizzazione aftermarket (Sedo, Bodis, ParkingCrew, Above.com, Dan.com, Afternic, CashParking, HugeDomains, Squadhelp/Atom, Uniregistry, ParkLogic, RookMedia, ecc.).(client/subnet, dominio apex) entro una finestra temporale configurabile (con exempt_shared_hosting opzionale) per intercettare il tunneling DNS slow-and-low e l'esfiltrazione degli info-stealer senza consentire attacchi denial of service tra client.rrs:) con supporto alle regexrtype_policy), suffissi di dominio, IP/CIDR o espressioni regolari (/pattern/) tramite configurazione inline, file locali o URL remoti.rrs:): Sovrascrive domini globali o per gruppo (esatti o regex /pattern/) con indirizzi IPv4/IPv6 statici o alias CNAME ricorsivi trasparenti (ad esempio, per imporre SafeSearch).sdproxy non si limita a inoltrare le query alla cieca; valuta dinamicamente gli upstream.
max_secure_upstreams (predefinito 5) server sani in un gruppo. Ispeziona in profondità le impronte canoniche degli RRset (catene CNAME, endpoint IP finali, SVCB/HTTPS, stato DNSSEC) con supporto per le preferenze fastest, ordered e consolidate (insieme di risposte unificato). In modalità strict sono imposti la partecipazione al 100% e l'equivalenza delle risposte; in modalità loose viene utilizzata la maggioranza dei responder sani. Scarta o blocca la risposta se gli upstream non concordano o restituiscono un NULL-IP avvelenato.Hai risposto a qualcosa di recente? Servilo dalla cache. sdproxy utilizza 32 shard di memoria con seed crittografico e persistenza su disco opzionale a prova di crash tra i riavvii (inclusa l'impronta digitale della configurazione delle route). Se un record scade mentre è ancora popolare, sdproxy attiva un prefetch in background così i tuoi dispositivi non si accorgono mai di un cache miss. Supporta pienamente il Stale-Serving RFC 8767, i limiti rigorosi di scadenza RRSIG DNSSEC e i fallback per interruzioni serve_stale_infinite.
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 né facendo trapelare query LAN verso l'upstream. Funziona con dnsmasq, ISC DHCP, Kea e odhcpd.