Большинство 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>
.