Большинство Linux команды , которые имеют доступ к Интернету смотреть в HTTP_PROXY, FTP_PROXYи SOCKS_SERVERпеременные окружения для прокси информации. Итак, чтобы сделать что-то вроде вашего примера, просто запустите:
export SOCKS_SERVER=1.2.3.4:8000
wget http://superuser.com/q/262956/66003
Синтаксис для HTTP_PROXYи FTP_PROXYнемного отличается:
export HTTP_PROXY=http://1.2.3.4:3128/
export FTP_PROXY=ftp://1.2.3.4:25/
Среда рабочего стола GNOME по умолчанию, включенная в настройки прокси-сервера Ubuntu, имеет кнопку Apply System-Wide , которая автоматически установит эти переменные среды для вас. В противном случае вы можете добавить exportстроки в ваш ~/.bashrcфайл, чтобы они вступили в силу при каждом входе в систему.
К сожалению, wgetвообще не поддерживает SOCKS. Вы можете использовать curl, который входит в Ubuntu, для достижения многих целей wget. К сожалению, он не проверяет SOCKS_SERVER, а проверяет HTTP_PROXY(как делает wget). Чтобы использовать curl для загрузки этой страницы с сервера SOCKS5 (выполнение DNS-разрешения на этом сервере) и сохранения ее как superuser.html, запустите:
curl --socks5-hostname 1.2.3.4:8000 http://superuser.com/q/262956/66003 > superuser.html
Если вы хотите curlвсегда использовать этот прокси-сервер SOCKS, вы можете создать псевдоним оболочки. Просто добавьте следующую строку в ваш ~/.bashrc:
alias curl='curl --socks5-hostname 1.2.3.4:8000'
Вам нужно будет перезапустить свой терминал или запустить эту строку, как если бы это была команда, чтобы изменения вступили в силу.
wgetсSOCKS_SERVER, но, похоже, не работает.wgetчитать только настройки прокси из/etc/wgetrc. Я пыталсяlinksтоже, это нормально, чтобы указатьlinks -socks-proxy 127.0.0.1:7878 <url>, но это не удалось использоватьexport SOCKS_SERVER=...; links <url>.