Kebanyakan Linux perintah akses bahwa tampilan Internet di HTTP_PROXY
, FTP_PROXY
, dan SOCKS_SERVER
variabel lingkungan untuk informasi proxy. Jadi, untuk melakukan sesuatu seperti contoh Anda, jalankan:
export SOCKS_SERVER=1.2.3.4:8000
wget http://superuser.com/q/262956/66003
Sintaks untuk HTTP_PROXY
dan FTP_PROXY
sedikit berbeda:
export HTTP_PROXY=http://1.2.3.4:3128/
export FTP_PROXY=ftp://1.2.3.4:25/
Lingkungan desktop GNOME default yang disertakan dengan pengaturan proksi Ubuntu memiliki tombol Terapkan Sistem-Lebar , yang secara otomatis akan mengatur variabel lingkungan tersebut untuk Anda. Jika tidak, Anda dapat menambahkan export
baris ke ~/.bashrc
file Anda untuk membuatnya berlaku di setiap login.
Sayangnya, sama wget
sekali tidak mendukung SOCKS. Anda dapat menggunakan curl
, yang disertakan dengan Ubuntu, untuk mencapai banyak hal wget
. Sayangnya, itu tidak memeriksa SOCKS_SERVER
, sementara itu memeriksa HTTP_PROXY
(seperti halnya wget
). Untuk menggunakan curl untuk mengunduh halaman ini dengan server SOCKS5 (melakukan resolusi DNS dengan server itu) dan menyimpannya sebagai superuser.html
, jalankan ini:
curl --socks5-hostname 1.2.3.4:8000 http://superuser.com/q/262956/66003 > superuser.html
Jika Anda ingin curl
selalu menggunakan proxy SOCKS itu, Anda bisa membuat alias shell. Cukup tambahkan baris berikut ke Anda ~/.bashrc
:
alias curl='curl --socks5-hostname 1.2.3.4:8000'
Anda perlu me-restart terminal Anda atau menjalankan baris itu seolah-olah itu adalah perintah agar perubahan diterapkan.
wget
denganSOCKS_SERVER
, tetapi tampaknya tidak bekerja.wget
hanya baca pengaturan proxy dari/etc/wgetrc
. Saya mencobalinks
juga, tidak apa-apa untuk menentukanlinks -socks-proxy 127.0.0.1:7878 <url>
, tetapi gagal digunakanexport SOCKS_SERVER=...; links <url>
.