- OpenGFW adalah open source untuk Linux dari Great Firewall of China yang bisa dibuat sendiri oleh pengguna
- "Sekarang bukan hanya orang yang punya kekuasaan yang boleh bersenang-senang; saatnya membuat sensor bisa dilakukan siapa saja dan memberi kekuasaan kepada orang-orang"
- Bisa mulai melakukan pemfilteran layaknya ahli pada router di rumah, dan berperan sebagai Big Brother
- Perhatian: proyek ini masih berada pada tahap awal pengembangan dan harus digunakan dengan tanggung jawab pengguna sendiri
Fitur
- Reassembly IP/TCP penuh, berbagai parser protokol (HTTP, TLS, QUIC, DNS, SSH, SOCKS4/5, WireGuard, dll.)
- Fitur deteksi "traffic terenkripsi sepenuhnya" seperti Shadowsocks
- Fitur deteksi Trojan (protokol proxy) berbasis Trojan-killer
- [Dalam pengerjaan] klasifikasi traffic berbasis machine learning
- Dukungan penuh IPv4 dan IPv6
- Penyeimbangan beban multicore berbasis flow
- Offloading koneksi
- Rule engine kuat berbasis expr
- Rule yang bisa di-hot-reload (reload dengan sinyal
SIGHUP)
- Framework parser dan modifier yang fleksibel
- Implementasi IO yang dapat diperluas (hanya mendukung NFQueue)
- [Dalam pengerjaan] web UI
Kasus penggunaan
- Pemblokiran iklan
- Kontrol orang tua terhadap anak
- Perlindungan terhadap malware
- Pencegahan penyalahgunaan layanan VPN/proxy
- Analisis traffic (mode log-only)
- Membantu Anda mewujudkan ambisi diktatorial Anda (Help you fulfill your dictatorial ambitions)
Cara pakai
Build
go build
Jalankan
export OPENGFW_LOG_LEVEL=debug
./OpenGFW -c config.yaml rules.yaml
OpenWrt
- OpenGFW telah diuji berjalan pada OpenWrt 23.05, dan diperkirakan juga akan berjalan di versi lain, tetapi belum diverifikasi
- Instal dependensi:
opkg install kmod-nft-queue kmod-nf-conntrack-netlink
Contoh konfigurasi
Aksi yang didukung
allow: izinkan koneksi, tanpa pemrosesan tambahan
block: blokir koneksi, tanpa pemrosesan tambahan
drop: untuk UDP, paket yang memicu rule akan dibuang, lalu pemrosesan paket berikutnya pada flow yang sama tetap dilanjutkan. Untuk TCP, sama seperti block
modify: untuk UDP, paket yang memicu rule akan dimodifikasi menggunakan modifier yang diberikan, lalu pemrosesan paket berikutnya pada flow yang sama tetap dilanjutkan. Untuk TCP, sama seperti allow
4 komentar
Wkwkwkwkwkwkwkwk
hahaha lucu ya
Komentar Hacker News