- OpenGFW ist eine Open-Source-Implementierung von Chinas Great Firewall für Linux, die Nutzer selbst aufbauen können
- „Jetzt müssen nicht mehr nur Menschen mit Macht den Spaß haben; es ist Zeit, Zensur für alle möglich zu machen und den Menschen damit Macht zu geben“
- Man kann auf dem heimischen Router mit professionellem Filtering beginnen und selbst Big Brother spielen
- Achtung: Dieses Projekt befindet sich noch in einem frühen Entwicklungsstadium und sollte auf eigene Verantwortung verwendet werden
Funktionen
- Vollständige IP/TCP-Reassemblierung, verschiedene Protokoll-Parser (HTTP, TLS, QUIC, DNS, SSH, SOCKS4/5, WireGuard usw.)
- Erkennung von „vollständig verschlüsseltem Traffic“ wie Shadowsocks
- Erkennung von Trojan (Proxy-Protokoll) auf Basis von Trojan-killer
- [In Arbeit] Machine-Learning-basierte Traffic-Klassifizierung
- Vollständige Unterstützung für IPv4 und IPv6
- Flow-basierter Multicore-Load-Balancing
- Connection-Offloading
- Leistungsstarke regelbasierte Engine auf
expr-Basis
- Hot-reload-fähige Regeln (Reload per
SIGHUP-Signal)
- Flexibles Framework für Parser und Modifier
- Erweiterbare IO-Implementierung (unterstützt nur NFQueue)
- [In Arbeit] Web-UI
Anwendungsfälle
- Werbeblocker
- Elterliche Kontrolle für Kinder
- Schutz vor Malware
- Verhinderung des Missbrauchs von VPN-/Proxy-Diensten
- Traffic-Analyse (Nur-Log-Modus)
- Hilft dabei, diktatorische Ambitionen auszuleben (Help you fulfill your dictatorial ambitions)
Verwendung
Build
go build
Ausführen
export OPENGFW_LOG_LEVEL=debug
./OpenGFW -c config.yaml rules.yaml
OpenWrt
- OpenGFW wurde unter OpenWrt 23.05 erfolgreich getestet; es wird erwartet, dass es auch mit anderen Versionen funktioniert, dies wurde jedoch nicht verifiziert
- Abhängigkeiten installieren:
opkg install kmod-nft-queue kmod-nf-conntrack-netlink
Beispielkonfiguration
Unterstützte Aktionen
allow: Verbindung erlauben, keine weitere Verarbeitung
block: Verbindung blockieren, keine weitere Verarbeitung
drop: Bei UDP wird das Paket, das die Regel ausgelöst hat, verworfen, und zukünftige Pakete desselben Flows werden weiterhin verarbeitet. Bei TCP identisch zu block
modify: Bei UDP wird das Paket, das die Regel ausgelöst hat, mit dem angegebenen Modifier verändert, und zukünftige Pakete desselben Flows werden weiterhin verarbeitet. Bei TCP identisch zu allow
4 Kommentare
Hahahahahahahahahahaha
Hahaha, das ist lustig.
Hacker-News-Kommentare