Membangun Konfigurator SOCKS5 Lokal untuk Merangkai dan Merotasi Proxy ChangeMyIP (Windows, macOS, Linux)
Ubah aplikasi apa pun menjadi aplikasi ber-proxy: jalankan konfigurator SOCKS5 lokal dengan gost, rangkai dua endpoint ChangeMyIP untuk perutean antarnegara, dan rotasi di beberapa node residensial.
Ringkasan
Konfigurator SOCKS5 adalah layanan lokal kecil yang mendengarkan pada port di mesin Anda dan meneruskan apa pun yang dikirim aplikasi Anda melaluinya ke proxy hulu, atau melalui rantai proxy. Ini adalah jawaban praktis ketika aplikasi tidak memiliki pengaturan proxy sendiri, atau ketika Anda ingin beberapa aplikasi yang tidak terkait berbagi satu konfigurasi proxy alih-alih mengedit masing-masing secara terpisah.
Dalam tutorial ini Anda akan membangun konfigurator tersebut dengan gost, alat proxy sumber terbuka, dan mengarahkannya ke endpoint SOCKS5 ChangeMyIP. Anda kemudian akan menambahkan hop kedua untuk perantaian antarnegara, merotasi di beberapa endpoint di dalam satu hop, menjaga kredensial tetap tidak terlihat, dan menjalankan listener secara persisten di Windows, macOS, dan Linux.
Penyedia SOCKS5 apa pun berfungsi dengan konfigurasi di bawah ini. ChangeMyIP digunakan sebagai contoh karena menawarkan SOCKS5 pada endpoint pusat data khusus dan bersama serta endpoint residensial berputar, dan karena penagihan bulanan tetap berarti listener lokal yang selalu aktif tidak menambah biaya per permintaan.
Prasyarat
- Paket ChangeMyIP yang mencakup akses SOCKS5, plus host endpoint, port, nama pengguna, dan kata sandi Anda dari dasbor.
- Satu endpoint untuk setiap hop yang ingin Anda rantai (perantaian membutuhkan dua endpoint independen).
- Izin untuk mengikat listener pada
127.0.0.1:1080, atau port lokal gratis mana pun. curluntuk verifikasi.- Kenyamanan dasar mengedit file YAML.
Bagaimana Konfigurator Berada di Antara Aplikasi Anda dan ChangeMyIP
Jalur lalu lintas:
- Aplikasi membuka koneksi SOCKS5 ke
127.0.0.1:1080. - Konfigurator menerimanya dan meneruskan sesi ke endpoint ChangeMyIP pertama (hop masuk).
- Jika hop kedua ditentukan, endpoint masuk membuka koneksi ke endpoint keluar.
- Endpoint keluar membuat permintaan keluar dan respons mengalir kembali melalui rantai.
Apa manfaatnya bagi Anda:
- Satu port lokal yang dapat digunakan aplikasi apa pun, termasuk aplikasi tanpa pengaturan proxy bawaan.
- Resolusi DNS jarak jauh, sehingga pencarian nama tidak bocor ke resolver lokal Anda saat Anda menggunakan skema
socks5h. - Egress deterministik: endpoint pusat data untuk IP stabil, atau endpoint residensial berputar saat Anda membutuhkan keragaman IP.
- Perutean berantai: paksa lalu lintas melalui pasangan lokasi tertentu dengan merantai dua endpoint.
Langkah-langkah
- Klasifikasikan endpoint ChangeMyIP yang akan Anda gunakan. Salin host, port, nama pengguna, dan kata sandi untuk masing-masing, dan catat apakah itu endpoint pusat data khusus, endpoint pusat data bersama, atau endpoint residensial berputar.
| Peran di konfigurator | Jenis endpoint | Kapan menggunakannya |
|---|---|---|
| Hop masuk | Pusat data khusus | Leg pertama yang cepat dan stabil; jaga tetap dekat dengan wilayah Anda untuk membatasi latensi |
| Hop masuk | Residensial berputar | Saat leg pertama tidak boleh menunjuk kembali ke satu subnet pusat data |
| Hop keluar | Pusat data atau residensial di negara target | Saat IP akhir harus muncul di negara atau kota tertentu |
| Hop tunggal (tanpa rantai) | Salah satu | Perutean sehari-hari di mana satu IP keluar sudah cukup |
- Instal gost. Unduh arsip rilis untuk sistem operasi dan arsitektur Anda dari halaman rilis resmi gost, lalu ekstrak.
Windows (PowerShell):
Expand-Archive -Path .\gost_*_windows_amd64.zip -DestinationPath .\gost
.\gost\gost.exe -V
macOS dan Linux (gunakan arsip darwin atau linux dan build amd64 atau arm64 yang sesuai):
tar -xzf gost_*_linux_amd64.tar.gz
sudo install -m 0755 gost /usr/local/bin/gost
gost -V
- Buat konfigurasi konfigurator untuk satu hop. Simpan sebagai
gost.yamldan batasi, karena berisi kredensial.
chmod 600 gost.yaml
services:
- name: socks-in
addr: "127.0.0.1:1080"
handler:
type: socks5
chain: cmi-single
listener:
type: tcp
chains:
- name: cmi-single
hops:
- name: hop-exit
nodes:
- name: exit-dc
addr: proxy-host.example:1080
connector:
type: socks5
auth:
username: YOUR_USERNAME
password: YOUR_PASSWORD
Ganti proxy-host.example:1080 dengan endpoint dari dasbor ChangeMyIP Anda dan isi kredensial yang diberikan dengan paket Anda.
- Mulai listener dan uji cepat.
gost -C gost.yaml
Di terminal kedua, konfirmasi bahwa IP keluar milik proxy dan bukan milik Anda:
curl --silent --show-error --proxy socks5h://127.0.0.1:1080 https://api.ipify.org
echo
curl --silent https://api.ipify.org
echo
Permintaan pertama harus melaporkan alamat endpoint ChangeMyIP; yang kedua melaporkan koneksi Anda sendiri.
- Tambahkan hop kedua untuk merantai dua lokasi. Permintaan berjalan dari aplikasi, lalu endpoint masuk, lalu endpoint keluar, lalu situs target. Situs melihat alamat endpoint keluar; endpoint keluar melihat endpoint masuk sebagai kliennya.
services:
- name: socks-in
addr: "127.0.0.1:1080"
handler:
type: socks5
chain: cmi-two-hop
listener:
type: tcp
chains:
- name: cmi-two-hop
hops:
- name: hop-entry
nodes:
- name: entry-de
addr: entry-host.example:1080
connector:
type: socks5
auth:
username: YOUR_USERNAME
password: YOUR_PASSWORD
- name: hop-exit
nodes:
- name: exit-us
addr: exit-host.example:1080
connector:
type: socks5
auth:
username: YOUR_USERNAME
password: YOUR_PASSWORD
- Rotasi di beberapa endpoint di dalam satu hop dengan selector. Beginilah cara Anda menyebarkan lalu lintas ke beberapa alamat berbeda alih-alih menyematkan satu node.
- name: hop-exit
selector:
strategy: round
maxFails: 1
failTimeout: 30s
nodes:
- name: exit-us-1
addr: exit-us-1.example:1080
connector:
type: socks5
auth:
username: YOUR_USERNAME
password: YOUR_PASSWORD
- name: exit-us-2
addr: exit-us-2.example:1080
connector:
type: socks5
auth:
username: YOUR_USERNAME
password: YOUR_PASSWORD
- name: exit-us-3
addr: exit-us-3.example:1080
connector:
type: socks5
auth:
username: YOUR_USERNAME
password: YOUR_PASSWORD
Jika Anda lebih suka tidak mencantumkan alamat sendiri, arahkan hop ke satu endpoint residensial berputar: ChangeMyIP merotasi IP di sisinya, dan konfigurator hanya membutuhkan satu node. Kumpulan ini mencakup 40+ negara, 300+ kota, dan 1000+ subnet, sehingga Anda dapat menyebarkan rotasi ke banyak jaringan berbeda saat tugas bergantung pada tampil seperti pengunjung yang tidak terkait.
- Arahkan aplikasi Anda ke listener lokal. Pengaturan proxy browser menggunakan host SOCKS5
127.0.0.1dan port1080, dengan DNS jarak jauh diaktifkan sehingga nama diselesaikan oleh proxy. Alat baris perintah biasanya menerima flag atau variabel lingkungan:
export ALL_PROXY=socks5h://127.0.0.1:1080
export HTTPS_PROXY=socks5h://127.0.0.1:1080
Beberapa alat mengabaikan variabel ini dan memerlukan flag eksplisit, misalnya curl --proxy socks5h://127.0.0.1:1080. Selalu utamakan skema socks5h daripada socks5 untuk apa pun yang sensitif privasi.
- Jaga konfigurator tetap berjalan. Di Linux, unit systemd adalah opsi paling bersih:
[Unit]
Description=Local SOCKS5 configurator (gost)
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/gost -C /etc/gost/gost.yaml
Restart=on-failure
User=proxyuser
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
sudo install -m 0600 gost.yaml /etc/gost/gost.yaml
sudo systemctl daemon-reload
sudo systemctl enable --now gost
systemctl status gost
Di Windows, buat tugas Task Scheduler yang menjalankan gost.exe -C C:\gost\gost.yaml saat logon dan atur agar berjalan baik pengguna masuk atau tidak. Di macOS, jalankan perintah yang sama dari terminal saat menguji, lalu bungkus dalam LaunchAgent agar mulai saat login.
Memverifikasi Rantai dan Perilaku DNS
Ulangi permintaan dalam loop untuk melihat apakah rotasi benar-benar terjadi:
for i in 1 2 3; do
curl --silent --proxy socks5h://127.0.0.1:1080 https://api.ipify.org
echo
done
Periksa lokasi yang dilaporkan dari alamat keluar:
curl --silent --proxy socks5h://127.0.0.1:1080 https://ifconfig.co/json
- Hop tunggal mengembalikan alamat endpoint tersebut. Rantai dua hop mengembalikan alamat endpoint keluar, bukan alamat masuk. Jika Anda melihat alamat masuk, rantai tidak diterapkan.
- Skema
socks5hmeminta proxy untuk menyelesaikan nama host.socks5://biasa diselesaikan secara lokal, yang dapat membocorkan resolver dan perkiraan lokasi Anda meskipun lalu lintasnya sendiri diproksikan. - Jika setiap permintaan mengembalikan alamat yang sama dengan selector dikonfigurasi, periksa bahwa
maxFailsdanfailTimeouttidak mengecualikan node, dan bahwa endpoint itu sendiri bukan alamat pusat data yang lengket.
Pemecahan Masalah
| Gejala | Kemungkinan penyebab | Perbaikan |
|---|---|---|
Failed to connect to 127.0.0.1 port 1080 |
Listener tidak berjalan, atau terikat ke port lain | Mulai gost -C gost.yaml dan periksa nilai addr di konfigurasi |
| Kegagalan autentikasi SOCKS5 | Nama pengguna, kata sandi, atau host endpoint salah | Salin ulang kredensial dari dasbor dan uji endpoint langsung dengan curl |
| Setiap permintaan timeout | Firewall memblokir akses keluar ke port endpoint, atau IP sumber Anda tidak diotorisasi | Uji endpoint mentah tanpa konfigurator, lalu izinkan koneksi di firewall Anda |
| IP yang dilaporkan adalah milik Anda sendiri | Aplikasi melewati listener, atau Anda menggunakan socks5:// alih-alih socks5h:// |
Arahkan aplikasi ke 127.0.0.1:1080 dan ganti skema ke socks5h |
| IP tidak pernah berubah | Node tunggal tanpa selector, atau endpoint pusat data yang lengket | Tambahkan selector dengan beberapa node, atau pindahkan hop ke endpoint residensial berputar |
| Perantaian berfungsi tetapi lambat | Dua hop menggandakan waktu bolak-balik | Turunkan ke satu hop, atau letakkan hop masuk lebih dekat ke wilayah Anda |
| Edit konfigurasi tidak berpengaruh | Proses lama masih berjalan | Restart layanan dengan systemctl restart gost, atau hentikan proses terminal dan mulai lagi |
Ringkasan
- Konfigurator SOCKS5 lokal, yang dibangun di sini dengan gost, memberi setiap aplikasi di mesin satu endpoint proxy di
127.0.0.1:1080, baik aplikasi mendukung proxy atau tidak. - Satu hop memberi Anda egress stabil; dua hop memberi Anda perutean antarnegara, dengan alamat endpoint keluar menjadi yang dilihat situs.
- Selector merotasi di beberapa endpoint di dalam satu hop, sementara endpoint residensial berputar menangani rotasi di sisi penyedia.
- Gunakan skema
socks5hagar DNS diselesaikan oleh proxy, dan verifikasi hasilnya dengan loopcurlberulang dan pencarian geolokasi. - Jaga file YAML pada
0600dan jalankan listener sebagai layanan agar bertahan dari reboot dan logout.