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