Versi: 4.2.0 — Enterprise 2026 Edition · Nftables Native
Alihkan seluruh lalu lintas jaringan sistem operasi secara transparan melalui jaringan Tor — tanpa konfigurasi manual di tiap aplikasi.
- Tentang Proyek
- Fitur Utama
- Cara Kerja
- Persyaratan Sistem
- Instalasi
- Uninstalasi
- Penggunaan
- Opsi Lanjutan
- Arsitektur Teknis
- Pengujian & Diagnostik
- Penanganan Error & Failsafe
- Catatan Keamanan
- Pertanyaan Umum (FAQ)
Tor-Proxy Enterprise adalah skrip Python berbasis sistem yang mengotomasi proses pengalihan seluruh koneksi jaringan pada level OS ke jaringan Tor melalui mekanisme transparent proxy. Tidak seperti Tor Browser yang hanya melindungi satu aplikasi, tool ini mengamankan semua koneksi outbound di sistem Anda — termasuk aplikasi yang tidak mendukung konfigurasi proxy secara native.
Skrip ini menggunakan arsitektur OOP modular dengan dukungan Native Nftables (firewall modern Linux) dan fallback otomatis ke Iptables (firewall legacy), serta integrasi pustaka Stem untuk kontrol Tor tingkat lanjut.
| Fitur | Keterangan |
|---|---|
| 🔥 Native Nftables | Menggunakan tabel terisolasi inet tor_proxy — tidak mengganggu aturan firewall yang sudah ada (termasuk Docker) |
| 🔄 Fallback Iptables | Otomatis beralih ke iptables klasik jika nft tidak tersedia |
| 🧠 Stem Integration | Pemantauan bootstrap Tor dengan persentase akurat & rotasi IP via NEWNYM |
| 🛡️ DNS Leak Prevention | Mengalihkan query DNS (port 53) ke DNSPort Tor — mencegah kebocoran DNS |
| 🔁 Rotasi IP Otomatis | Ganti sirkuit Tor dan dapatkan IP baru kapan pun |
| 💾 Backup & Restore Firewall | Backup aturan iptables asli beserta checksum SHA-256 sebelum modifikasi |
| 🌉 Dukungan Bridge | Opsi --use-bridges untuk melewati sensor ISP/negara |
| 🚨 Failsafe & Rollback | Rollback darurat otomatis jika terjadi error atau interupsi (Ctrl+C) |
| 🔍 Leak Tester | Uji kebocoran IP dan DNS secara real-time dari terminal |
| 📋 Verbose Logging | Mode debug untuk melacak setiap eksekusi perintah ke log dan terminal |
| 🔒 IPv6 Blocking | Memblokir seluruh lalu lintas IPv6 agar tidak bocor keluar Tor |
| 🚪 Port Exclusion | Bypass port tertentu (misalnya SSH) agar tetap terhubung langsung |
Aplikasi di OS Anda
│
▼ (semua koneksi TCP/UDP)
┌─────────────────────┐
│ Firewall (Kernel) │ ← Nftables / Iptables Rule
│ tabel: tor_proxy │
└─────────────────────┘
│
▼ REDIRECT ke port lokal
┌─────────────────────┐
│ Tor Daemon │
│ TransPort :9040 │ ← Transparent TCP Proxy
│ DNSPort :5353 │ ← DNS melalui Tor
│ ControlPort:9051 │ ← Kontrol via Stem/Netcat
└─────────────────────┘
│
▼
Jaringan Tor (Onion Network)
│
▼
Internet (dengan IP Anonim)
Alur Pengalihan:
tor-proxy -sdijalankan → daemon Tor di-restart & dikonfigurasi- Aturan firewall diterapkan: semua TCP dialihkan ke
TransPort 9040, DNS keDNSPort 5353 - Loopback (
127.x.x.x) dan jaringan LAN dikecualikan agar tidak ter-loop - Proses milik user
debian-tordikecualikan (Tor itu sendiri tidak ikut dialihkan) - DNS sistem (
/etc/resolv.conf) ditulis ulang ke127.0.0.1
- OS: Ubuntu 20.04+ / Debian 11+
- Akses:
root/sudo - Koneksi: Aktif (untuk mengunduh dependensi saat instalasi pertama)
| Paket | Fungsi |
|---|---|
tor |
Daemon utama jaringan Tor |
python3 |
Runtime skrip |
python3-stem |
Library kontrol Tor (bootstrap monitor & NEWNYM) |
nftables |
Firewall modern (mode utama) |
iptables |
Firewall legacy (mode fallback) |
netcat-openbsd |
Fallback kontrol Tor via socket |
dnsutils |
Uji kebocoran DNS (dig) |
curl |
Utilitas jaringan tambahan |
Pastikan kedua file berikut berada di direktori yang sama:
tor-proxy.py
install.sh
chmod +x install.shsudo ./install.shInstaller akan secara otomatis:
- Mengecek dan menginstal semua dependensi yang belum ada
- Mendaftarkan daemon
torke autostart sistem (systemctl enable tor) - Menyalin skrip ke
/usr/local/bin/tor-proxy(tersedia global di PATH) - Membuat file log di
/var/log/tor-proxy.log - Membuat direktori state di
/var/run/tor-proxy/
tor-proxy --helpsudo ./install.sh --uninstallProses uninstalasi akan:
- Menjalankan
--cleanupuntuk mengembalikan semua aturan firewall - Menghapus file eksekusi dari
/usr/local/bin/tor-proxy - Menghapus log dan direktori state
- Mengembalikan sistem ke kondisi semula
⚠️ Semua perintah membutuhkan akses root (sudo).
# Mengaktifkan mode penyamaran (transparan proxy via Tor)
sudo tor-proxy -s
# Mematikan mode penyamaran & kembali ke IP asli
sudo tor-proxy -x
# Restart (matikan lalu hidupkan kembali)
sudo tor-proxy -r
# Rotasi IP: minta sirkuit Tor baru
sudo tor-proxy -n
# Cek IP publik saat ini
sudo tor-proxy -i# Uji kebocoran IP dan DNS (tampilkan info lengkap)
sudo tor-proxy -t
# Jalankan dengan output debug penuh (verbose)
sudo tor-proxy -s -v
# Bersihkan konfigurasi jika ada error sebelumnya
sudo tor-proxy --cleanup╔══════════════════════════════════╗
║ MEMULAI TOR PROXY v4.2.0 ║
╚══════════════════════════════════╝
[*] Menganalisis lingkungan sistem...
[✓] Konfigurasi Tor-Proxy berhasil ditulis ke torrc.
[*] Merestart layanan background Tor...
[*] Menunggu Tor menyinkronkan Bootstrap...
[✓] Tor Bootstrap selesai 100%.
[*] Membangun aturan Nftables (Native Mode)...
[✓] Firewall Nftables tingkat maksimum berhasil diterapkan.
[✓] Sistem DNS di-intercept ke jaringan Tor.
IP SAMARAN ANDA : 185.220.xxx.xxx
Penggunaan: tor-proxy [OPSI UTAMA] [OPSI TAMBAHAN]
OPSI UTAMA (wajib pilih salah satu):
-s, --start Aktifkan transparent proxy
-x, --stop Matikan proxy & pulihkan sistem
-r, --restart Restart layanan proxy
-n, --newnym Rotasi sirkuit Tor (IP baru)
-t, --test-leak Uji kebocoran IP dan DNS
-i, --ip Tampilkan IP publik saat ini
--cleanup Rollback darurat & bersihkan konfigurasi
OPSI TAMBAHAN:
--exclude-ports PORT Bypass port tertentu dari tunneling Tor.
Berguna untuk SSH atau RDP.
Contoh: --exclude-ports 22,3389
--no-dns-redirect Jangan alihkan DNS ke Tor.
(Tidak disarankan, berisiko DNS leak)
--use-bridges Aktifkan dukungan Bridge Tor.
Gunakan jika Tor diblokir oleh ISP/negara Anda.
Edit /etc/tor/torrc setelah ini untuk menambah
daftar bridge.
--wait DETIK Waktu tunggu rotasi sirkuit (default: 5 detik)
-v, --verbose Tampilkan log eksekusi teknis secara real-time
# Aktifkan Tor, tapi bypass port SSH (22) & RDP (3389)
sudo tor-proxy -s --exclude-ports 22,3389
# Aktifkan dengan bridge (untuk melewati sensor)
sudo tor-proxy -s --use-bridges
# Aktifkan dengan mode debug penuh
sudo tor-proxy -s -v
# Rotasi IP dengan waktu tunggu 10 detik
sudo tor-proxy -n --wait 10| Kelas | Fungsi |
|---|---|
SistemUtils |
Eksekusi perintah shell, cek root, inisialisasi direktori, deteksi konflik (UFW, Docker), checksum SHA-256 |
FirewallManager |
Backup & restore aturan firewall, penerapan aturan Nftables (prioritas) dan Iptables (fallback) |
DNSManager |
Intercept DNS ke Tor (/etc/resolv.conf), pemulihan DNS sistem via systemd-resolved |
TorManager |
Konfigurasi torrc, monitoring bootstrap via Stem, rotasi sirkuit (NEWNYM) |
LeakTester |
Uji kebocoran DNS (dig whoami.akamai.net) dan IP publik via multi-API |
UI / Warna |
Output terminal berwarna, logging ke file, mode verbose |
| Port | Fungsi |
|---|---|
9040 |
TransPort — Penerima TCP yang dialihkan firewall |
5353 |
DNSPort — Resolver DNS melalui Tor |
9051 |
ControlPort — Kontrol daemon Tor (Stem / Netcat) |
# === BEGIN TOR PROXY CONFIGURATION ===
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
DNSPort 5353
ControlPort 9051
CookieAuthentication 1
# === END TOR PROXY CONFIGURATION ===
Aturan diterapkan dalam tabel terisolasi inet tor_proxy yang tidak menimpa konfigurasi nftables/iptables yang sudah ada:
- Loopback bypass →
oifname "lo" accept(mencegah loop pada ControlPort) - LAN bypass →
127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 - DNS redirect → UDP/TCP port 53 →
DNSPort 5353 - TCP redirect → Semua TCP →
TransPort 9040 - IPv6 drop →
meta nfproto ipv6 drop(cegah kebocoran IPv6) - ICMP reject → Blokir ping keluar
Urutan fallback saat -n dijalankan:
- Stem → Koneksi ke
ControlPort 9051, kirim sinyalNEWNYM - Netcat + Cookie Auth → Baca
/run/tor/control.authcookie, kirim vianc - Netcat + Empty Auth → Fallback tanpa autentikasi cookie
sudo tor-proxy -tOutput contoh:
╔══════════════════════════════╗
║ PENGUJIAN KEBOCORAN ║
╚══════════════════════════════╝
[*] Uji Kebocoran DNS (Menganalisis IP Resolver)...
[!] IP DNS Resolver : 185.220.101.x
[✓] DNS di-resolve oleh server di atas.
[*] Menghubungi server deteksi IP geografis...
[!] IP Publik : 185.220.xxx.xxx
[!] Penyedia (ISP) : Tor Project / Exit Node
[!] Lokasi Terdeteksi: Germany
[✓] Koneksi TERVERIFIKASI AMAN. (ISP komersial/Tor).
⚠️ Waspada: Jika "Penyedia (ISP)" menampilkan nama ISP rumahan Anda (misalnya Telkomsel, IndiHome), terjadi kebocoran! Segera jalankansudo tor-proxy -xlalu periksa konfigurasi.
tail -f /var/log/tor-proxy.logsystemctl status torSaat proxy aktif, file kunci dibuat di /var/run/tor-proxy/proxy.lock. Jika skrip sebelumnya crash, jalankan:
sudo tor-proxy --cleanupJika terjadi error kritis saat memulai proxy atau pengguna menekan Ctrl+C, sistem akan secara otomatis:
- Menghapus aturan firewall Nftables/Iptables
- Memulihkan
/etc/resolv.confke pengaturan semula - Menghapus lock file
Sebelum menerapkan aturan, iptables-save dijalankan dan hasilnya disimpan beserta checksum SHA-256 di:
/var/run/tor-proxy/iptables_v4.bak/var/run/tor-proxy/iptables_v6.bak/var/run/tor-proxy/backup_metadata.json
PERINGATAN PENTING — Baca Sebelum Menggunakan
-
Bukan Tor Browser. Tor-Proxy adalah transparent proxy tingkat OS. Ia mengamankan seluruh koneksi jaringan, namun tidak memberikan isolasi browser (fingerprinting, JavaScript, dll). Untuk anonimitas tertinggi di web, tetap gunakan Tor Browser.
-
Tor bukan VPN. Tor menyembunyikan IP Anda dari tujuan akhir, namun exit node Tor dapat melihat lalu lintas yang tidak terenkripsi. Selalu gunakan HTTPS.
-
DNS Leak. Fitur
--no-dns-redirecttidak disarankan karena berisiko kebocoran DNS ke ISP Anda. Biarkan opsi DNS redirect aktif (default). -
UFW / Docker. Jika UFW atau Docker terdeteksi aktif, akan muncul peringatan. UFW dapat menimpa aturan iptables. Pastikan tidak ada konflik aturan.
-
Akses Root. Skrip ini memerlukan
sudokarena memodifikasi konfigurasi kernel-level (firewall dan DNS sistem). Jangan jalankan kode yang tidak Anda percaya sebagai root. -
Exit Node. Pemilihan exit node dilakukan otomatis oleh Tor. Anda tidak dapat menjamin bahwa exit node bersifat jujur atau tidak memonitor lalu lintas.
Q: Apakah ini berpengaruh pada koneksi LAN / printer / NAS saya?
A: Tidak. Seluruh subnet LAN (192.168.x.x, 10.x.x.x, 172.16-31.x.x) dikecualikan secara eksplisit dari tunneling.
Q: Bagaimana cara bypass SSH agar tidak ikut masuk ke Tor?
A: Gunakan --exclude-ports 22 saat menjalankan -s. Contoh: sudo tor-proxy -s --exclude-ports 22.
Q: Tor diblokir oleh ISP saya. Apa solusinya?
A: Gunakan opsi --use-bridges. Setelah itu, tambahkan daftar bridge ke /etc/tor/torrc di bagian yang sudah ditandai. Dapatkan bridge di bridges.torproject.org.
Q: Apakah DNS saya aman?
A: Ya, selama --no-dns-redirect tidak digunakan. DNS diarahkan ke DNSPort 5353 milik Tor, bukan ke server ISP Anda. Verifikasi dengan sudo tor-proxy -t.
Q: Apa yang terjadi jika komputer mati mendadak saat proxy aktif?
A: Aturan nftables akan hilang sendiri setelah reboot (tidak persisten). DNS akan kembali normal setelah reboot karena systemd-resolved akan mengambil alih. Tidak perlu tindakan tambahan.
Q: Bagaimana cara mendapatkan IP baru lebih cepat?
A: Jalankan sudo tor-proxy -n. IP baru akan ditampilkan segera setelah sirkuit baru dibangun.
Proyek ini didistribusikan untuk keperluan edukasi dan penggunaan pribadi yang sah. Pengguna bertanggung jawab penuh atas segala konsekuensi hukum dari penggunaan tools ini di wilayah masing-masing.