Cara Menggunakan Proxy di Android (dan Mengapa Pengaturan Proxy Wi-Fi Hanya Menawarkan HTTP, Bukan SOCKS5)
Dialog proxy Wi-Fi bawaan Android tidak memiliki opsi protokol, karena hanya HTTP. Berikut artinya bagi SOCKS5, mengapa sebagian aplikasi mengabaikan pengaturan ini, dan cara-cara praktis untuk mendapatkan trafik melalui proxy di Android.
Tekan lama jaringan Wi-Fi Anda di Android, ketuk Ubah jaringan, perluas Opsi lanjutan, atur Proxy ke Manual, dan Anda akan mendapatkan kolom hostname, kolom port, serta daftar bypass. Itu saja. Tidak ada dropdown protokol, tidak ada opsi SOCKS5, tidak ada prompt autentikasi.
Jika Anda selama ini mencari cara menggunakan proxy di Android dan bertanya-tanya mengapa SOCKS5 tidak pernah muncul, inilah alasannya: pengaturan proxy Wi-Fi bawaan Android adalah proxy HTTP, bukan klien SOCKS5 serbaguna.
Apa yang sebenarnya didukung oleh pengaturan proxy bawaan Android
- Hanya HTTP dan HTTPS. Trafik HTTPS diterowongkan dengan permintaan
CONNECTHTTP, sehingga situs HTTPS tetap berfungsi meskipun proxy-nya sendiri HTTP. - Tidak ada SOCKS4, SOCKS5, atau SOCKS5h. Tidak ada kolom untuk itu.
- Tidak ada UDP. Apa pun yang berbasis UDP - QUIC, trafik game, DNS melalui jalur yang sama - tidak akan melewatinya.
- Per jaringan. Pengaturan disimpan bersama jaringan Wi-Fi yang Anda edit, jadi tidak berlaku saat Anda beralih jaringan atau menggunakan data seluler.
- Bersifat anjuran, bukan dipaksakan. Android menyerahkan konfigurasi proxy ke aplikasi, tetapi aplikasi bebas mengabaikannya.
Poin terakhir itulah yang paling mengejutkan orang. Browser biasanya mematuhi proxy sistem; banyak aplikasi lain, terutama yang menyertakan klien HTTP atau pustaka jaringan sendiri, terhubung langsung dan sama sekali tidak menyentuh proxy. Data seluler tidak memiliki kolom proxy yang setara untuk pengguna di sebagian besar perangkat, jadi tidak ada yang bisa dikonfigurasi di sana juga.
Mengapa SOCKS5 di Android biasanya jalan buntu dengan alat bawaan
Bahkan ketika sebuah aplikasi menyediakan kolom SOCKS5-nya sendiri, tiga hal cenderung salah:
- Di mana DNS diselesaikan. SOCKS5 memiliki varian yang menyelesaikan hostname secara jarak jauh, biasanya ditulis sebagai
socks5h. Jika aplikasi menyelesaikan nama secara lokal terlebih dahulu, kueri DNS Anda pergi ke ISP sementara trafik Anda keluar di tempat lain - kebocoran sebagian. - Dukungan UDP. SOCKS5 memang mendefinisikan asosiasi UDP, tetapi dukungan klien tidak konsisten dan stack milik Android sendiri tidak mengeksposnya melalui proxy sistem.
- Autentikasi. Autentikasi username/password adalah bagian dari handshake SOCKS5, tetapi apakah aplikasi menampilkan kolom tersebut terserah pengembang.
Cara-cara praktis untuk mendapatkan trafik melalui proxy di Android
Opsi 1: Proxy HTTP bawaan (tercepat, paling terbatas)
- Buka Setelan, lalu Jaringan & internet, lalu Internet (diberi label Wi-Fi pada versi lama).
- Tekan lama jaringan Anda dan pilih Ubah jaringan.
- Perluas Opsi lanjutan dan atur Proxy ke Manual.
- Masukkan hostname dan port proxy. Beberapa versi juga menampilkan daftar bypass - tambahkan alamat lokal di sana.
- Simpan, lalu sambungkan kembali ke jaringan.
Uji dengan mengunjungi halaman cek IP di browser Anda dan bandingkan hasilnya saat proxy dimatikan. Jika browser menunjukkan IP proxy tetapi aplikasi masih menunjukkan IP asli Anda, aplikasi itu mengabaikan proxy sistem.
Opsi 2: Aplikasi yang membangun antarmuka VPN lokal
Aplikasi yang membuat terowongan VPN lokal dapat menangkap trafik perangkat dan meneruskannya ke endpoint proxy, yang menghindari keterbatasan hanya HTTP. Dua hal yang perlu dipahami sebelum Anda menempuh jalur ini:
- Android hanya mengizinkan satu VPN aktif pada satu waktu, jadi ini bersaing dengan aplikasi VPN yang sudah Anda gunakan.
- Aplikasi tersebut kini berada di jalur trafik untuk semua yang ditangkapnya. Pilih dengan hati-hati seperti Anda memilih penyedia VPN.
Opsi 3: Terminasi proxy di tempat lain
Daripada membuat Android berbicara SOCKS5, letakkan klien SOCKS5 di mesin yang Anda kendalikan - server rumah, router, atau instance cloud kecil - dan hubungkan Android ke sana. Mengakhiri SOCKS5 di terowongan dynamic-forward SSH (ssh -D) pada desktop dan membagikan koneksi tersebut adalah pola yang umum.
Opsi 4: Pengalihan tingkat root
Dengan root, pengalihan tingkat kernel dapat mengirim semua trafik TCP ke proxy SOCKS5, sepenuhnya melewati dukungan proxy per aplikasi. Ini membawa risiko nyata merusak konektivitas dan bukan opsi yang bisa dilakukan sembarangan.
Uji dengan benar dari command line
Jika Anda memiliki aplikasi terminal di perangkat, verifikasi proxy secara independen dari browser:
# Periksa IP yang ditampilkan oleh proxy
curl -s --proxy socks5h://user:[email protected]:1080 https://api.ipify.org; echo
# Proxy yang sama, keluaran JSON untuk skrip
curl -s --proxy socks5h://user:[email protected]:1080 "https://api.ipify.org?format=json"
Jika perintah tersebut menunjukkan alamat proxy tetapi browser Anda tidak, masalahnya adalah konfigurasi tingkat aplikasi, bukan proxy itu sendiri.
Catatan keamanan yang perlu ditanggapi serius
- Proxy HTTP melihat tujuan setiap permintaan. HTTPS menjaga konten tetap terenkripsi, tetapi metadata masih terlihat oleh siapa pun yang menjalankan proxy.
- Proxy publik gratis di platform apa pun harus dianggap bermusuhan. Jangan pernah mengirim kredensial atau cookie sesi melaluinya.
- Jika sebuah proxy transparan, gratis, dan tidak memerlukan akun, tanyakan apa model bisnisnya sebelum Anda merutekan hal sensitif melaluinya.
Intinya
Dialog proxy Wi-Fi Android hanyalah kemudahan HTTP, bukan klien SOCKS5 - itu keterbatasan platform, bukan kesalahan konfigurasi di pihak Anda. Gunakan pengaturan bawaan untuk penggunaan proxy HTTP sederhana di tingkat browser, gunakan aplikasi terowongan VPN lokal saat Anda memerlukan perutean seluruh perangkat ke endpoint SOCKS5, dan pertimbangkan untuk mengakhiri SOCKS5 di tempat lain, seperti terowongan SSH atau router yang Anda kendalikan, jika Anda menginginkan fleksibilitas tanpa root. Apa pun jalur yang Anda ambil, verifikasi dengan cek IP dari browser dan command line sebelum mempercayainya.