В этой статье поговорим о том, как можно настроить прокси в системе Linux через терминал.

Проще всего для использования прокси в командной строке, определить переменные окружения http_proxyhttps_proxy, socks_proxy или ftp_proxy.

Практически все утилиты командной строки, такие как curl, ssh, ftp и прочие, используют данные переменные.

Рассмотрим настройку переменных для использования прокси

Используйте следующий синтаксис для настройки таких типов трафика как http, https, socks и ftp из командной строки:

export ftp_proxy="http://proxy-server:port"
export http_proxy="http://proxy-server:port"
export https_proxy="https://proxy-server:port"
export socks_proxy="socks://proxy-server:port"

Используйте следующий синтаксис, если прокси-сервер требует аутентификацию:

export ftp_proxy="ftp://user:password@proxy-server:port"
export http_proxy="http://user:password@proxy-server:port"
export https_proxy="https://user:password@proxy-server:port"
export socks_proxy="socks://user:password@proxy-server:port"

Если Ваш пароль содержит спец. символы, Вы должны заменить их на ASCII коды.

Например символ собаки @, должен быть заменен на «%40».

Настроить прокси на системном уровне можно и через конфигурационные файлы (True UNIX-way). Для этого нужно открыть на редактирования с правами root файл /etc/environment 

sudo nano /etc/environment

В конец файла добавим строки:

https_proxy="https://user:pass@proxy:port/" 
http_proxy="http://user:pass@proxy:port/"
ftp_proxy="ftp://user:pass@proxy:port/"
socks_proxy="socks://user:pass@proxy:port/"

Если прокси без авторизации, то строки должны быть вида:

ftp_proxy="http://proxy-server:port"
http_proxy="http://proxy-server:port"
https_proxy="https://proxy-server:port"
socks_proxy="socks://proxy-server:port"

Для применения настроек придется перезагрузит систему, изменения в файле /etc/environment вступили в силу при запуске процесса init – родителя всех процессов в системе и именно от него все дочерние процессы унаследуют настройки прокси в переменных окружения.

Тестирование работы

Используйте следующую команду для проверки текущих переменных прокси:

env | grep -i proxy

Можно проверить работу прокси, узнав ваш внешний IP адрес из командной строки:

curl icanhazip.com

Отключение

Используйте следующие команды для отключения прокси:

unset http_proxy
unset https_proxy
unset ftp_proxy

Упрощенное использование прокси

Если у Вас один и тот же прокси-сервер для http, https и ftp трафика, Вы можете использовать следующие команды для включения и отключения прокси:

export {http,https,ftp}_proxy="http://proxy-server:port"
unset {http,https,ftp}_proxy

Если Вам приходится очень часто пользоваться прокси, Вы можете создать следующие bash функции (добавьте в Ваш ~/.bashrc) :

# Включить прокси
function setproxy() {
    export {http,https,ftp}_proxy="http://proxy-server:port"
}

# Выключить прокси
function unsetproxy() { unset {http,https,ftp}_proxy }

Примените настройки, перезагрузив ~/.bashrc.

. ~/.bashrc

Теперь, для включения и отключения прокси можно использовать команды setproxy и unsetproxy.

Как правила глобальной настройки прокси достаточно для того что бы все остальные приложения работали через прокси без необходимости настраивать прокси внутри приложения. Однако некоторые приложения не умеют работать с глобальными настройками или им нужны особенные настройки.

Прокси для команды apt

В новых версиях умеет работать с глобальными настройками, но в более старых мог работать только с персональными настройками. Для внесения нашего прокси открываем файл:

sudo /etc/apt/apt.conf 

В нем указываем наш прокси и выключаем данную настройку последней строчкой:

Acquire::http::proxy "http://proxy-server:port/";
Acquire::https::proxy "https://proxy-server:port/";
Acquire::ftp::proxy "ftp://proxy-server:port/";
Acquire::socks::proxy "socks://proxy-server:port/";
Acquire::::Proxy "true";

Если сервер с авторизацией, то необходимо добавить логин:пароль@ по аналогии с предыдущими примерами.

Прокси для команды wget

Открываем файл:

sudo /etc/wgetrc

И в конце дописываем необходимый прокси:

proxy-user = username 
proxy-password = password
http_proxy = http://xxx.xxx.xxx.xxx:8080/
ftp_proxy = http://xxx.xxx.xxx.xxx:8080/
use_proxy = on

Если прокси без авторизации, то proxy-user и proxy-password нужно убрать

Настройка proxy в Ubuntu

Все настройки среды рабочего стола в Ubuntu хранятся в базе данных DConf, в том числе и настройки прокси сервера. Настройки записываются в виде пар ключ значение. Если изменить какой либо параметр из меню настроек системы все изменения сразу же запишутся в DConf. Из командной строки настройками DConf можно управлять с помощью команд gsettings и dconf. Дальше я покажу как настроить прокси в Ubuntu из терминала с помощью gsettings.

Базовое использование gsettings для работы с базой данных Dconf выглядит следующим образом. Для чтения данных используем:

gsettings set org.gnome.system.proxy.http host 'http://proxy-server'
gsettings set org.gnome.system.proxy.http port 8080
gsettings set org.gnome.system.proxy mode 'manual'

Если вы хотите использовать HTTPS прокси то вам нужно выполнить:

gsettings set org.gnome.system.proxy.https host 'http://proxy-server'
gsettings set org.gnome.system.proxy.https port 8080
gsettings set org.gnome.system.proxy mode 'manual'

Для других протоколов я думаю вы поняли что необходимо поменять в данных командах.

[endtxt]

RSS

Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

5 1 голос
Рейтинг статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять