Blockig
Blocky ist ein in Go geschriebener DNS-Proxy und Werbeblocker für das lokale Netzwerk mit folgenden Funktionen:
Merkmale
Blockierung – Blockierung von DNS-Abfragen mit externen Listen (Werbeblocker, Malware) und Zulassungslisten
- Definition von Zulassungs-/Verweigerungslisten pro Kundengruppe (Kinder, Smart-Home-Geräte usw.)
- Regelmäßiges Neuladen externer Zulassungs-/Verweigerungslisten
- Regex-Unterstützung
- Blockierung der Anforderungsdomäne, des Antwort-CNAME (tiefe CNAME-Inspektion) und der Antwort-IP-Adressen (gegen IP-Listen)
Erweiterte DNS-Konfiguration – nicht nur ein Werbeblocker
- Benutzerdefinierte DNS-Auflösung für bestimmte Domänennamen
- Bedingte Weiterleitung an einen externen DNS-Server
- Upstream-Resolver können pro Client-Gruppe definiert werden
Leistung – Verbessert Geschwindigkeit und Leistung in Ihrem Netzwerk
- Anpassbares Caching von DNS-Antworten für Abfragen -> verbessert die Geschwindigkeit der DNS-Auflösung und reduziert die Anzahl externer DNS-Abfragen
- Vorabruf und Zwischenspeicherung häufig verwendeter Abfragen
- Gleichzeitige Verwendung mehrerer externer Resolver
- Geringer Speicherbedarf
Verschiedene Protokolle – Unterstützt moderne DNS-Protokolle
- DNS über UDP und TCP
- DNS über HTTPS (auch bekannt als DoH)
- DNS über TLS (auch bekannt als DoT)
Sicherheit und Datenschutz – Sichere Kommunikation
- Unterstützt moderne DNS-Erweiterungen: DNSSEC, eDNS, ...
- Frei konfigurierbare Sperrlisten – keine versteckten Filter usw.
- Stellt DoH-Endpunkt bereit
- Verwendet zufällige Upstream-Resolver aus der Konfiguration – erhöht Ihre Privatsphäre durch die Verteilung Ihres DNS-Verkehrs über mehrere Anbieter
- Blocky sammelt KEINE Benutzerdaten, Telemetriedaten, Statistiken usw.
Integration - verschiedene Integration
- Prometheus-Metriken
- Vorbereitete Grafana-Dashboards (Prometheus und Datenbank)
- Protokollierung von DNS-Anfragen pro Tag/pro Client im CSV-Format oder in der MySQL/MariaDB/PostgreSQL/Timescale-Datenbank – einfach zu analysieren
- Verschiedene REST-API-Endpunkte
- CLI-Tool
Einfache Konfiguration – einzelne oder mehrere Konfigurationsdateien im YAML-Format
- Einfach zu pflegen
- Einfach zu sichern
Einfache Installation/Konfiguration – blocky wurde für eine einfache Installation entwickelt
- Zustandslos (keine Datenbank, keine temporären Dateien)
- Docker-Image mit Multi-Arch-Unterstützung
- Einzelne Binärdatei
- Unterstützt x86-64- und ARM-Architekturen -> läuft einwandfrei auf Raspberry PI
- Von der Community unterstütztes Helm-Diagramm für die k8s-Bereitstellung
Schnellstart
Sie können zum Kapitel „Installation“ in der Dokumentation springen.
Vollständige Dokumentation
Die vollständige Dokumentation und Konfigurationsbeispiele finden Sie unter: https://0xERR0R.github.io/blocky/
Beitrag
Probleme, Funktionsvorschläge und Pull-Requests sind willkommen!