Panduan Proxychains + javaws di macOS (SSH SOCKS5 Tunnel)#
1. Install Homebrew (jika belum ada)#
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Lewati langkah ini kalau brew --version sudah jalan.
2. Install proxychains-ng#
macOS tidak punya paket proxychains klasik (itu untuk Linux, pakai LD_PRELOAD). Yang dipakai di macOS adalah fork-nya, proxychains-ng, yang memakai DYLD_INSERT_LIBRARIES.
brew install proxychains-ngBinary yang terpasang bernama proxychains4, bukan proxychains.
3. Lokasi file konfigurasi#
/opt/homebrew/etc/proxychains.conf # Apple Silicon
/usr/local/etc/proxychains.conf # Intel MacCek path pastinya dengan:
brew --prefix proxychains-ng4. Buat SSH Tunnel SOCKS5#
ssh -D 1080 -N -f user@remote-server.comPenjelasan flag:
-D 1080— buka SOCKS5 proxy lokal di port 1080-N— tidak menjalankan perintah remote, cuma tunneling-f— jalan di background
Kalau perlu autentikasi key-based:
ssh -D 1080 -N -f -i /path/to/key user@remote-server.comCek apakah tunnel aktif:
lsof -i :10805. Edit proxychains.conf#
nano /opt/homebrew/etc/proxychains.confIsi konfigurasinya:
# Mode chain — untuk 1 proxy, pakai strict_chain
strict_chain
# Pastikan dynamic_chain dan random_chain di-comment (nonaktif)
# dynamic_chain
# random_chain
# Diperlukan agar DNS lookup ikut lewat proxy (hindari DNS leak)
proxy_dns
# Timeout koneksi (ms)
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
socks5 127.0.0.1 10806. Jalankan javaws lewat proxychains#
proxychains4 -f /opt/homebrew/etc/proxychains.conf javaws your-app.jnlpCatatan: Sejak Java 11, Oracle menghapus Java Web Start dari JDK. Kalau
javawsmasih dipakai, kemungkinan besar itu berasal dari:
- OpenWebStart —
brew install --cask openwebstart- JDK lama (Java 8) yang masih menyertakan
javawsbawaan Oracle
7. Verifikasi trafik lewat proxy#
Tes dulu tanpa javaws:
proxychains4 curl https://ifconfig.meIP yang muncul harus menjadi IP dari remote-server.com, bukan IP asli mesin kamu.
Troubleshooting#
command not found: proxychains4— pastikan Homebrew ada di$PATH:export PATH="/opt/homebrew/bin:$PATH"Tambahkan baris ini ke
~/.zshrcagar permanen.javaws tidak ikut lewat proxy meski proxychains jalan — JVM kadang pakai native networking (NIO) yang tidak selalu bisa di-hook oleh
DYLD_INSERT_LIBRARIES. Alternatif yang lebih andal: konfigurasi proxy langsung di level JVM.javaws -J-DsocksProxyHost=127.0.0.1 -J-DsocksProxyPort=1080 your-app.jnlpDNS leak — pastikan
proxy_dnsaktif diproxychains.conf, agar resolusi DNS tidak bocor lewat koneksi jaringan asli.