Cara Menggunakan Proxy SOCKS5 di Chrome dengan Nama Pengguna dan Kata Sandi (Metode Jembatan Lokal)
Chrome tidak dapat mengirim kredensial SOCKS5, sehingga proxy yang memerlukan autentikasi gagal secara default. Panduan ini membangun jembatan lokal dengan gost atau Privoxy yang menyimpan nama pengguna dan kata sandi IPRoyal Anda dan mengarahkan Chrome melalui proxy tersebut.
Ikhtisar
Chrome dan browser Chromium lainnya dapat menggunakan proxy SOCKS5 melalui flag --proxy-server, tetapi mereka tidak dapat mengirim nama pengguna dan kata sandi SOCKS5. Tidak ada dialog kredensial untuk SOCKS5 di Chrome, dan ekstensi proxy yang umum hanya mengautentikasi proxy HTTP dan HTTPS. Jika proxy Anda memerlukan login, Chrome akan gagal dengan ERR_PROXY_CONNECTION_FAILED atau terhubung tanpa kredensial dan ditolak.
Solusinya adalah jembatan lokal: penerus kecil yang mendengarkan di 127.0.0.1, menerima lalu lintas tanpa autentikasi dari Chrome, dan meneruskannya ke endpoint SOCKS5 hulu yang terautentikasi. Chrome tidak pernah melihat kredensial, dan tumpukan jaringan browser tidak pernah berbicara langsung ke hulu.
Bagaimana setiap metode proxy berperilaku di Chrome
| Metode | Menangani kredensial SOCKS5 | Catatan |
|---|---|---|
Flag --proxy-server="socks5://..." |
Tidak | Menyelesaikan DNS di proxy, tetapi gagal saat hulu memerlukan autentikasi |
| Pengaturan proxy OS atau sistem | Tidak | Batasan yang sama, dan memengaruhi setiap aplikasi, bukan hanya satu profil browser |
| Ekstensi proxy | Tidak | Sebagian besar ekstensi hanya mendukung autentikasi HTTP dan HTTPS |
| Daftar IP yang diizinkan di penyedia | Tidak diperlukan | Hanya berfungsi jika paket dan konfigurasi Anda mendukungnya |
| Jembatan lokal (tutorial ini) | Ya | Kredensial tetap di mesin Anda; Chrome berbicara ke localhost |
Prasyarat
- Instalasi Chrome atau Chromium yang dapat Anda jalankan dari baris perintah
- Kredensial SOCKS5 IPRoyal: host gateway, port, nama pengguna, kata sandi dari dasbor Anda
- Penerus lokal:
gost(direkomendasikan) atau Privoxy - Izin untuk menjalankan listener yang terikat ke
127.0.0.1
Langkah-langkah
-
Periksa apakah daftar IP yang diizinkan menghilangkan masalah sepenuhnya. Beberapa penyedia memungkinkan Anda mengotorisasi alamat IP tetap alih-alih mengirim kredensial. Buka dasbor IPRoyal Anda dan konfirmasi apakah opsi itu tersedia untuk paket yang Anda gunakan. Jika ya, dan IP publik Anda stabil, Anda dapat melewati jembatan dan langsung menggunakan flag
--proxy-server. -
Instal penerus lokal.
gostmendukung SOCKS5 di kedua arah dan dikirim sebagai satu biner, yang membuatnya menjadi pilihan paling sederhana.
- Windows: unduh biner
gostdari halaman rilis resminya dan tambahkan kePATHAnda - macOS: instal
gostdengan manajer paket Anda jika paket tersedia, jika tidak, unduh binernya - Linux: instal biner dari halaman rilis, atau gunakan paket distribusi jika tersedia
- Jalankan jembatan. Jembatan ini mendengarkan di port loopback tanpa autentikasi dan meneruskan semuanya ke hulu yang terautentikasi.
gost -L socks5://127.0.0.1:1080 -F 'socks5://USERNAME:PASSWORD@GATEWAY_HOST:GATEWAY_PORT'
Di Windows PowerShell, kutip URL hulu:
gost -L socks5://127.0.0.1:1080 -F "socks5://USERNAME:PASSWORD@GATEWAY_HOST:GATEWAY_PORT"
Biarkan proses ini berjalan di jendela terminalnya sendiri selama Anda menjelajah.
- Verifikasi jembatan sebelum Anda menyentuh Chrome. Permintaan ini melewati jembatan, jadi alamat yang dikembalikan harus berupa IP keluar proxy, bukan alamat ISP Anda.
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.org
Jika perintah macet, jembatan tidak meneruskan. Jika mengembalikan kesalahan autentikasi, kredensial hulu salah.
- Jalankan Chrome melalui jembatan. Gunakan profil khusus agar penjelajahan harian Anda tidak terganggu dan flag tidak bocor ke sesi normal Anda.
macOS:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--proxy-server="socks5://127.0.0.1:1080" \
--user-data-dir="$HOME/.chrome-proxy-profile"
Linux:
google-chrome \
--proxy-server="socks5://127.0.0.1:1080" \
--user-data-dir="$HOME/.chrome-proxy-profile"
Windows:
& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
--proxy-server="socks5://127.0.0.1:1080" `
--user-data-dir="$env:TEMP\chrome-proxy-profile"
-
Konfirmasi IP keluar di dalam Chrome. Buka halaman pencarian IP di jendela baru dan bandingkan alamatnya dengan yang dikembalikan
curl. Keduanya harus cocok. Jika Chrome menampilkan IP asli Anda, lihat bagian pemecahan masalah. -
Buat peluncur yang dapat digunakan kembali agar Anda tidak mengetik ulang flag. Di macOS atau Linux, simpan perintah dalam skrip shell atau alias. Di Windows, buat pintasan yang targetnya menyertakan flag dan jalur
--user-data-dir. -
Lakukan rotasi dengan memulai ulang jembatan dengan identitas hulu baru. Jembatan menyimpan satu identitas hulu selama berjalan, jadi mengubah IP keluar, atau beralih ke endpoint khusus negara dari dasbor Anda, berarti menghentikan
gost, memulainya lagi dengan string penargetan baru, dan memuat ulang Chrome.
Alternatif: Privoxy sebagai front end
Jika Anda memerlukan proxy HTTP di depan hulu SOCKS5, karena alat atau ekstensi yang Anda gunakan hanya mendukung proxy HTTP, Privoxy dapat melakukan konversi.
Tambahkan baris-baris ini ke file konfigurasinya:
listen-address 127.0.0.1:8118
forward-socks5t / USERNAME:PASSWORD@GATEWAY_HOST:GATEWAY_PORT .
Lalu arahkan Chrome ke listener HTTP lokal:
google-chrome --proxy-server="http://127.0.0.1:8118" --user-data-dir="$HOME/.chrome-privoxy-profile"
forward-socks5t mempertahankan resolusi DNS di sisi proxy, yang penting saat Anda memeriksa konten khusus wilayah.
Pemecahan Masalah
ERR_PROXY_CONNECTION_FAILED: jembatan tidak berjalan, port salah, atau Chrome diarahkan ke endpoint hulu alih-alih127.0.0.1.- Chrome mengabaikan flag: proses Chrome yang sudah ada mungkin telah menelan jendela baru. Keluar dari setiap jendela Chrome dan proses latar belakang, lalu jalankan ulang.
--user-data-diryang berbeda mencegah ini. - Halaman dimuat tetapi menampilkan IP asli Anda: pastikan Anda berada di profil yang Anda jalankan dengan flag. Ekstensi yang mengontrol pengaturan proxy, kebijakan perusahaan, dan skrip PAC dapat menimpa proxy baris perintah.
- Kredensial ditolak di hulu: lakukan percent-encode pada karakter khusus di kata sandi (
@menjadi%40,:menjadi%3A) atau berikan hulu sebagai opsi terpisah jika penerus Anda mendukungnya. - Beberapa situs macet saat pemuatan pertama: penerusan SOCKS5 mencakup TCP, bukan UDP, dan Chrome mungkin mencoba QUIC melalui UDP. Jalankan dengan
--disable-quicjika situs kehabisan waktu sebelum dirender. - WebRTC mengekspos alamat lokal: proxy SOCKS5 tidak mencakup WebRTC. Atur penanganan IP WebRTC ke
disable_non_proxied_udpmelalui kebijakan perusahaan, atau kelola dengan kebijakan browser atau ekstensi. - Jembatan dapat dijangkau dari jaringan Anda: selalu ikat ke
127.0.0.1, jangan pernah0.0.0.0. Siapa pun yang dapat menjangkau listener dapat menggunakan akun proxy Anda.
Ringkasan
Chrome tidak dapat mengirim kredensial SOCKS5, jadi jawaban praktisnya adalah jembatan lokal: gost atau Privoxy mendengarkan di loopback, menyimpan nama pengguna dan kata sandi IPRoyal, dan meneruskan lalu lintas Chrome ke hulu SOCKS5 yang terautentikasi. Verifikasi IP keluar dengan curl sebelum menjalankan browser, gunakan --user-data-dir terpisah, dan mulai ulang jembatan setiap kali Anda memerlukan IP baru atau negara yang berbeda.