Hầu hết các Linux lệnh truy cập mà giao diện Internet trong HTTP_PROXY
, FTP_PROXY
và SOCKS_SERVER
các biến môi trường để biết thông tin proxy. Vì vậy, để làm một cái gì đó giống như ví dụ của bạn, chỉ cần chạy:
export SOCKS_SERVER=1.2.3.4:8000
wget http://superuser.com/q/262956/66003
Cú pháp cho HTTP_PROXY
và FTP_PROXY
hơi khác nhau:
export HTTP_PROXY=http://1.2.3.4:3128/
export FTP_PROXY=ftp://1.2.3.4:25/
Môi trường máy tính để bàn Gnome mặc định có trong cài đặt proxy của Ubuntu có nút Áp dụng toàn hệ thống , sẽ tự động đặt các biến môi trường đó cho bạn. Nếu không, bạn có thể thêm các export
dòng vào ~/.bashrc
tệp của mình để làm cho chúng có hiệu lực mỗi lần đăng nhập.
Thật không may, wget
không hỗ trợ SOCKS cả. Bạn có thể sử dụng curl
, đi kèm với Ubuntu, để đạt được nhiều thứ wget
. Thật không may, nó không kiểm tra SOCKS_SERVER
, trong khi nó không kiểm tra HTTP_PROXY
(như vậy wget
). Để sử dụng curl để tải xuống trang này với máy chủ SOCKS5 (thực hiện độ phân giải DNS với máy chủ đó) và lưu nó dưới dạng superuser.html
, hãy chạy nó:
curl --socks5-hostname 1.2.3.4:8000 http://superuser.com/q/262956/66003 > superuser.html
Nếu bạn muốn curl
luôn luôn sử dụng proxy SOCKS đó, bạn có thể tạo bí danh shell. Chỉ cần thêm dòng sau vào ~/.bashrc
:
alias curl='curl --socks5-hostname 1.2.3.4:8000'
Bạn sẽ cần phải khởi động lại thiết bị đầu cuối của mình hoặc chạy dòng đó như thể đó là một lệnh để các thay đổi có hiệu lực.
wget
vớiSOCKS_SERVER
, nhưng có vẻ như không hoạt động.wget
chỉ đọc cài đặt proxy từ/etc/wgetrc
. Tôi cũng đã cố gắnglinks
để xác địnhlinks -socks-proxy 127.0.0.1:7878 <url>
, nhưng không thành công khi sử dụngexport SOCKS_SERVER=...; links <url>
.