Penyiapan Proxy SOCKS5 macOS: Seluruh Sistem, Terminal, dan Konfigurasi Per Aplikasi
macOS memang memiliki pengaturan proxy SOCKS sistem, tetapi tidak semua aplikasi mematuhinya. Berikut cara mengaturnya di Pengaturan Sistem dan networksetup, mengarahkan Terminal dan alat pengembang, serta memverifikasi DNS dan kebocoran.
macOS memang memiliki pengaturan proxy SOCKS, yang membuatnya terasa seperti sakelar seluruh sistem. Dalam praktiknya, Safari dan beberapa aplikasi mengikutinya, sementara Terminal, Homebrew, dan banyak alat pengembang mengabaikannya. Panduan ini menunjukkan cara mengatur proxy SOCKS5 di macOS dari Pengaturan Sistem dan networksetup, lalu cara membuat alat yang benar-benar Anda gunakan mematuhinya tanpa kebocoran DNS.
Di Mana macOS Menyimpan Pengaturan Proxy SOCKS-nya
Buka Pengaturan Sistem > Jaringan. Pilih Wi-Fi atau Ethernet, klik Detail, lalu Proksi. Anda akan melihat kotak centang untuk Proxy Web (HTTP), Proxy Web Aman (HTTPS), Proxy SOCKS, dan lainnya. Bagian Proxy SOCKS meminta server dan port. Tidak ada dropdown versi protokol. Untuk kontrol ketat, konfigurasikan aplikasi individual dengan socks5h jika mendukung.
Atur Proxy SOCKS macOS dari Pengaturan Sistem
- Buka Pengaturan Sistem > Jaringan.
- Pilih layanan jaringan aktif, seperti Wi-Fi.
- Klik Detail > Proksi.
- Aktifkan Proxy SOCKS.
- Masukkan alamat server dan port.
- Tambahkan domain bypass yang Anda perlukan, seperti sumber daya lokal.
- Klik OK dan terapkan.
Perlu diingat bahwa pengaturan ini memengaruhi aplikasi yang mematuhi proxy sistem macOS. Ini tidak menjamin bahwa setiap koneksi dari setiap aplikasi melewati proxy.
Atur dari Terminal dengan networksetup
networksetup berguna untuk skrip, dukungan jarak jauh, dan perubahan cepat.
# List network services
networksetup -listallnetworkservices
# Set SOCKS proxy for Wi-Fi
networksetup -setsocksfirewallproxy 'Wi-Fi' 127.0.0.1 1080
# Turn it on
networksetup -setsocksfirewallproxystate 'Wi-Fi' on
# Check the current setting
networksetup -getsocksfirewallproxy 'Wi-Fi'
# Turn it off
networksetup -setsocksfirewallproxystate 'Wi-Fi' off
Anda juga dapat mengatur domain bypass:
networksetup -setproxybypassdomains 'Wi-Fi' '*.local' '169.254/16' 'localhost'
Gunakan tanda kutip di sekitar nama layanan jaringan, terutama jika mengandung spasi.
Buat Terminal dan Alat Pengembang Menggunakan SOCKS5
Sesi Terminal umumnya tidak mewarisi pengaturan proxy SOCKS macOS. Atur variabel lingkungan untuk shell saat ini:
export ALL_PROXY=socks5h://127.0.0.1:1080
export all_proxy=socks5h://127.0.0.1:1080
Beberapa alat menggunakan HTTP_PROXY dan HTTPS_PROXY. Hati-hati: tidak semua alat memahami nilai socks5h:// di variabel tersebut. Jika suatu alat memiliki flag SOCKS khusus, gunakan itu sebagai gantinya.
curl
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.org
git
git config --global http.proxy socks5h://127.0.0.1:1080
git config --global https.proxy socks5h://127.0.0.1:1080
# Remove later
git config --global --unset http.proxy
git config --global --unset https.proxy
Python
import requests
proxies = {
'http': 'socks5h://127.0.0.1:1080',
'https': 'socks5h://127.0.0.1:1080',
}
print(requests.get('https://api.ipify.org?format=json', proxies=proxies, timeout=10).json())
Catatan Browser: Safari, Chrome, dan Firefox
- Safari biasanya mengikuti proxy sistem macOS.
- Chrome di macOS umumnya menggunakan pengaturan proxy sistem kecuali diluncurkan dengan flag proxy eksplisit.
- Firefox memiliki pengaturan jaringan sendiri. Jika diatur ke Gunakan pengaturan proxy sistem, Firefox harus mengikuti macOS. Jika Anda memerlukan DNS jarak jauh, atur Firefox ke Konfigurasi proxy manual dan aktifkan Proxy DNS saat menggunakan SOCKS v5.
Setelah mengubah pengaturan browser, uji di jendela privat agar koneksi yang di-cache tidak menyesatkan Anda.
Verifikasi Proxy dan Deteksi Kebocoran DNS
Periksa konfigurasi proxy sistem:
scutil --proxy
Periksa IP keluar:
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.org
Lalu bandingkan dengan uji kebocoran DNS. Perbedaan utamanya adalah socks5 versus socks5h: socks5 mungkin me-resolve DNS secara lokal, sedangkan socks5h mengirim hostname ke proxy untuk di-resolve. Jika penargetan geo penting, DNS jarak jauh biasanya yang Anda inginkan.
Matikan dan Hindari Jebakan Umum
- Nonaktifkan proxy saat tidak lagi diperlukan; portal captive dan perangkat lokal mungkin gagal jika tidak.
- Periksa konflik dengan klien VPN dan ekstensi jaringan lainnya.
- Ingat bahwa pengaturan proxy sistem tidak mencakup setiap aplikasi.
- Jika proxy berjalan di mesin lain, jangan gunakan
127.0.0.1. - Verifikasi aplikasi sebenarnya yang Anda pedulikan, bukan hanya Terminal.
Kesimpulan
macOS memberi Anda kotak centang proxy SOCKS sistem yang nyata, tetapi itu bukan solusi universal. Gunakan Pengaturan Sistem atau networksetup untuk aplikasi yang mengikuti proxy sistem, lalu konfigurasikan Terminal dan alat pengembang secara langsung dengan socks5h dan verifikasi perilaku DNS.