Некоторый прокси поддержки приложений (прокси HTTP или прокси носков), и некоторые не.
Для браузеров я могу указать прокси-сервер в диалоговом окне предпочтений/опций, и другие приложения могут настраивать прокси-серверы в файлах конфигурации.
Для общей цели я могу вызвать команду с помощью определенного прокси? Как следующее:
$ proxy-exec --type sock5 --server 1.2.3.4:8000 -- wget/ftp ...
Я использую Индивидуалиста Ubuntu.
P.S.
В win32 это может быть реализовано путем угона сокета dlls, возможно, я не знаком с программированием Linux, но я предполагаю, что это возможно в Linux.все же.
Большая часть 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
). Использовать завихрение, чтобы загрузить эту страницу сервером 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'
Необходимо будет перезапустить терминал или выполнить ту строку, как будто это была команда для изменений для вступления в силу.