FilterDNS
Selbst gehostete DNS-Filterung mit profilbasierter Konfiguration. Blockiert Werbung, Tracker und Malware über DoH, DoT und DNS53.
Rolle: Entwickler
Über das Projekt
Selbst gehosteter DNS-Filterdienst, der Werbung, Tracker und Malware auf DNS-Ebene mit gerätespezifischen Konfigurationen blockiert. Anfragen werden über ein Python-Gateway geroutet, das Profilinformationen aus Subdomains (DoH/DoT) oder Quell-IPs (Legacy-DNS) extrahiert, Blocklisten und eigene Regeln anwendet und alle Aktivitäten in PostgreSQL protokolliert. Gebaut mit Python (Quart/Hypercorn) im Backend und SvelteKit im Frontend, deployed als Docker-Compose-Stack.
Features
- Multi-Protokoll: DNS-over-HTTPS (Port 443), DNS-over-TLS (Port 853) und traditionelles DNS (Port 53)
- Profilbasierte Filterung: Wildcard-Subdomains (z.B.
meine-geraete.filterdns.example.com) für gerätespezifische Blocklisten und eigene Allow/Deny-Regeln - Vorgefertigte Regelsets: integrierte Unterstützung für Hagezi-, StevenBlack- und OISD-Blocklisten
- Self-Service-Verwaltung: Profilerstellung, Abfrage-Logging, Statistiken und temporäre Filterpausen (5/15/30/60 Minuten)
- Legacy-Geräte-Unterstützung: IP-basierte Profilzuordnung für Geräte ohne DoH/DoT-Support
- REST-API: öffentliche und authentifizierte Endpunkte für Profil-, Regel- und Geräteverwaltung
- Docker-Deployment: Auslieferung als Docker-Compose-Stack mit PostgreSQL und Alembic-Migrationen