Skip to content

Panduan Konfigurator SOCKS5: Browser, SSH, curl, git, dan Python

Panduan praktis konfigurasi SOCKS5 untuk Firefox, macOS, Linux, penerusan dinamis SSH, curl, git, dan Python — termasuk perbedaan socks5 versus socks5h yang menyebabkan sebagian besar kebocoran geo dan DNS.

Mencari konfigurator SOCKS5 biasanya berarti Anda sudah memiliki host, port, dan mungkin nama pengguna serta kata sandi — dan Anda ingin browser, shell, atau skrip merutekan lalu lintas melaluinya. Tidak ada satu konfigurator universal, tetapi setiap tempat Anda mengonfigurasi SOCKS5 membutuhkan beberapa nilai yang sama, dan keanehannya dapat diprediksi. Panduan ini mencakup penyiapan yang benar-benar digunakan orang.

Apa Itu SOCKS5, dalam Sekitar 60 Detik

SOCKS5 (RFC 1928) adalah protokol proxy lapisan transport. Klien Anda membuka koneksi ke proxy, memintanya menjangkau tujuan, lalu meneruskan byte di kedua arah. Dua konsekuensi mengikuti desain tersebut:

  • Proxy tidak mengurai atau menulis ulang protokol aplikasi, sehingga membawa lalu lintas HTTPS, SSH, dan TCP arbitrer tanpa konfigurasi khusus.
  • SOCKS5 tidak mengenkripsi apa pun. Kerahasiaan berasal dari protokol tujuan (HTTPS, SSH) atau dari menjalankan terowongan melalui transport terenkripsi seperti SSH.

Autentikasi nama pengguna dan kata sandi untuk SOCKS5 adalah spesifikasi terpisah, RFC 1929. Dukungan klien untuk itu bervariasi, dan variasi tersebut menyebabkan sebagian besar masalah konfigurasi.

Nilai yang Anda Perlukan Sebelum Memulai

  1. Host — nama host atau alamat IP proxy.
  2. Port — port yang mendengarkan yang disediakan oleh penyedia atau terowongan.
  3. Autentikasi — nama pengguna dan kata sandi, daftar IP yang diizinkan, atau tidak ada.
  4. Skema — apakah alat Anda mengharapkan socks5:// atau socks5h://.

socks5:// vs socks5h:// dan Mengapa DNS Menentukan Geo Anda

Skema Siapa yang me-resolve DNS Mengenkripsi lalu lintas Gunakan saat
socks5:// mesin Anda tidak resolusi DNS lokal dapat diterima
socks5h:// proxy tidak Anda ingin pencarian dan geo cocok dengan proxy
awalan http:// mesin Anda tidak Anda menggunakan proxy HTTP, bukan SOCKS
awalan https:// mesin Anda TLS ke proxy penyedia menawarkan endpoint proxy terbungkus TLS

Huruf h berarti nama host di-resolve oleh proxy. Menggunakan socks5:// padahal Anda menginginkan socks5h:// adalah penyebab paling umum proxy yang berfungsi tetapi masih menunjukkan wilayah yang salah, dan itu juga dapat mengekspos nama host yang Anda kunjungi ke resolver lokal Anda. Hanya sebagian alat — curl, git melalui libcurl, dan pustaka Python tertentu — yang mematuhi konvensi socks5h; aplikasi GUI biasanya menampilkannya sebagai kotak centang.

Mengonfigurasi SOCKS5 di Firefox

Firefox adalah browser arus utama termudah untuk diarahkan ke proxy SOCKS5 karena menyimpan pengaturan proxy-nya sendiri alih-alih mewarisi dari sistem operasi.

  1. Buka Pengaturan dan cari Pengaturan Jaringan, atau navigasikan ke Pengaturan, lalu Umum, lalu Pengaturan Jaringan.
  2. Pilih Konfigurasi proxy manual.
  3. Masukkan host dan port di bidang SOCKS Host dan pilih SOCKS v5.
  4. Centang Proxy DNS saat menggunakan SOCKS v5 jika proxy harus me-resolve nama host.
  5. Biarkan bidang proxy HTTP kosong kecuali Anda juga memiliki proxy HTTP.
  6. Klik OK, lalu muat halaman yang melaporkan alamat IP Anda untuk mengonfirmasi perubahan.

Chrome, Edge, dan Browser Chromium Lainnya

Browser berbasis Chromium membaca pengaturan proxy sistem operasi. Untuk pengujian terisolasi, luncurkan salah satunya dengan flag dan profil sementara:

# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --proxy-server="socks5://127.0.0.1:1080" \
  --user-data-dir=/tmp/chrome-socks-test
# Linux
google-chrome --proxy-server="socks5://127.0.0.1:1080" --user-data-dir=/tmp/chrome-socks-test

Dua catatan. --user-data-dir terpisah menjaga pengujian tetap terisolasi dari profil normal Anda, dan flag tersebut bukan tempat yang andal untuk kredensial — jika proxy Anda memerlukan autentikasi, konfigurasikan di pengaturan sistem operasi atau rutekan melalui penerus lokal alih-alih menyematkan nama pengguna dan kata sandi di flag.

macOS: Konfigurasikan SOCKS5 dari Terminal

Utilitas networksetup menulis pengaturan yang persis sama dengan yang ditampilkan panel preferensi Jaringan.

# Daftar layanan jaringan yang tersedia jika Anda tidak yakin dengan namanya
networksetup -listallnetworkservices

# Ganti "Wi-Fi" dengan nama layanan aktif Anda
sudo networksetup -setsocksfirewallproxy "Wi-Fi" 127.0.0.1 1080
sudo networksetup -setsocksfirewallproxystate "Wi-Fi" on

# Matikan kembali
sudo networksetup -setsocksfirewallproxystate "Wi-Fi" off

Banyak alat command-line mengabaikan pengaturan proxy sistem macOS sepenuhnya dan memerlukan konfigurasi sendiri, jadi jangan berasumsi terminal sudah tercakup setelah perintah ini berhasil.

Linux dan Alat CLI: Variabel Lingkungan

export ALL_PROXY="socks5h://user:[email protected]:1080"
export all_proxy="$ALL_PROXY"

Sebagian besar alat command-line membaca ALL_PROXY atau varian huruf kecilnya. Periksa apa yang saat ini diatur dengan env | grep -i proxy. Aplikasi grafis di Linux umumnya mengikuti pengaturan proxy lingkungan desktop alih-alih variabel ini, jadi konfigurasikan kedua jalur atau gunakan pembungkus seperti proxychains untuk biner yang membandel.

SSH: Ubah Server yang Anda Kendalikan Menjadi Proxy SOCKS5

# -D mengaktifkan penerusan dinamis (SOCKS), -N tidak menjalankan perintah remote, -C mengompres
ssh -N -C -D 1080 [email protected]

# Tambahkan -f untuk mendorongnya ke latar belakang
ssh -f -N -C -D 1080 [email protected]

Ini sering kali cara tercepat untuk mendapatkan endpoint SOCKS5 yang berfungsi. Tidak ada yang perlu diinstal di server remote, tidak diperlukan hak istimewa yang ditinggikan, dan hop antara mesin Anda dan server dienkripsi oleh SSH — yang mengatasi salah satu kelemahan SOCKS5. Arahkan browser atau CLI Anda ke 127.0.0.1:1080 setelah terowongan aktif.

curl, git, dan Python

# Resolve DNS secara lokal
curl --socks5 127.0.0.1:1080 https://api.ipify.org

# Resolve DNS di proxy
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.org

# Dengan autentikasi nama pengguna dan kata sandi
curl --socks5-hostname 127.0.0.1:1080 \
  --proxy-user "USER:PASS" \
  https://api.ipify.org
# Rutekan git melalui proxy SOCKS5; git menggunakan libcurl di bawahnya
git config --global http.proxy  socks5h://127.0.0.1:1080
git config --global https.proxy socks5h://127.0.0.1:1080

# Batalkan saat Anda selesai
git config --global --unset http.proxy
git config --global --unset https.proxy
# Memerlukan: pip install "requests[socks]"
import requests

proxies = {
    "http": "socks5h://user:[email protected]:1080",
    "https": "socks5h://user:[email protected]:1080",
}

response = requests.get("https://api.ipify.org", proxies=proxies, timeout=15)
print(response.status_code, response.text)

Pustaka requests memerlukan dependensi PySocks sebelum dapat memahami proxy SOCKS. Tanpanya, Anda mendapatkan error dependensi yang hilang yang dimunculkan sebelum koneksi apa pun dicoba, yang mudah salah dibaca sebagai kegagalan proxy.

Pemecahan Masalah Kegagalan yang Benar-Benar Akan Anda Hadapi

Gejala Kemungkinan penyebab Perbaikan
Koneksi ditolak Tidak ada yang mendengarkan di port itu Konfirmasikan port dan bahwa proxy atau terowongan SSH sedang berjalan
Autentikasi SOCKS5 gagal Kredensial salah, atau proxy mengharapkan IP yang diizinkan Periksa ulang kredensial; hapus jika Anda ada dalam daftar izin
Situs masih menunjukkan wilayah yang salah DNS di-resolve secara lokal karena Anda menggunakan socks5:// Beralih ke socks5h:// atau aktifkan DNS remote
407 Proxy Authentication Required Anda diarahkan ke port proxy HTTP, bukan SOCKS Periksa daftar port penyedia
Berfungsi di curl, gagal di browser Browser menggunakan pengaturan sistem, atau ekstensi menimpanya Nonaktifkan ekstensi proxy dan verifikasi pengaturan sistem
Aplikasi UDP gagal Asosiasi UDP SOCKS5 jarang diimplementasikan di sisi klien Gunakan VPN untuk lalu lintas UDP sebagai gantinya

Verifikasi Sebelum Anda Mempercayainya

# Bandingkan IP yang dilaporkan dengan dan tanpa proxy
curl -sS https://api.ipify.org; echo
curl -sS --socks5-hostname 127.0.0.1:1080 https://api.ipify.org; echo

Jika kedua alamat identik, lalu lintas tidak melalui proxy. Saat akurasi geo penting, jalankan juga tes kebocoran DNS di browser untuk mengonfirmasi bahwa pencarian keluar melalui proxy alih-alih resolver lokal Anda.

Poin Penting

Konfigurator SOCKS5 sebenarnya hanya empat nilai yang diterapkan di tempat yang tepat: host, port, kredensial, dan keputusan tentang di mana DNS di-resolve. Konfigurasikan browser atau alat CLI yang benar-benar Anda gunakan, konfirmasi IP keluar dengan perbandingan curl di atas, dan gunakan socks5h:// secara default setiap kali akurasi geo atau privasi DNS penting.