Как легко и быстро настроить общесистемный прокси
В этой статье мы рассмотрим простую, но полезную утилиту командной строки ProxyMan. Как следует из названия, программа помогает легко и быстро применять и управлять настройками прокси в системе. Используя ProxyMan, мы можем автоматически устанавливать или сбрасывать настройки прокси в нескольких точках, без необходимости настраивать их вручную одну за другой. Это также позволяет сохранить настройки для последующего использования. Короче говоря, ProxyMan упрощает задачу настройки параметров прокси всей системы с помощью одной команды. Это бесплатная утилита с открытым исходным кодом, написанная на Bash и стандартными инструментами POSIX, не требующая зависимости. ProxyMan может быть полезен, если вы находитесь за прокси-сервером и хотите применить настройки прокси для всей системы за один раз.
Установка ProxyMan
Загрузим последнюю версию ProxyMan со страницы релизов. Он доступен в виде файлов zip и tar. Мы скачаем zip-файл.
$ wget https://github.com/himanshub16/ProxyMan/archive/v3.1.1.zip
Распакуем загруженный файл архива:
$ unzip v3.1.1.zip
Приведенная выше команда извлечет содержимое в папку с именем «ProxyMan-3.1.1» в нашем текущем рабочем каталоге. Перейдем в эту папку и установим ProxyMan, как показано ниже:
$ cd ProxyMan-3.1.1/ $ ./install
Если вы видите сообщение “Installed successfully”, поздравляем! ProxyMan установлен.
Переходим к настройкам параметров прокси.
Настройка общесистемного прокси
Использование ProxyMan довольно простое и понятное. Он позволяет нам устанавливать/отменять настройки прокси, выводить список текущих настроек прокси и доступных конфигураций, сохранять настройки в профиле и загружать профиль позже. В настоящее время Proxyman позволяет управлять настройками прокси для GNOME, bash, apt, dnf, git, npm и Dropbox.
Установка настроек прокси
Чтобы установить параметры прокси для всей системы, просто запустите:
$ proxyman set
Вам будет предложено ответить на ряд простых вопросов, таких как,
- IP-адрес HTTP-прокси,
- Порт HTTP-прокси,
- Использование аутентификацию по имени пользователя/паролю,
- Использование тех же настроек для HTTPS и FTP,
- Сохранение профиля для последующего использования,
- Наконец, выбор списка целей для применения настроек прокси. Вы можете выбрать все сразу или несколько вариантов, разделив пробелом.
Пример вывода для вышеуказанной команды:
Enter details to set proxy HTTP Proxy Host 192.168.225.22 HTTP Proxy Port 8080 Use auth - userid/password (y/n)? n Use same for HTTPS and FTP (y/n)? y No Proxy (default localhost,127.0.0.1,192.168.1.1,::1,*.local) Save profile for later use (y/n)? y Enter profile name : proxy1 Saved to /home/test/.config/proxyman/proxy1. Select targets to modify | 1 | All of them ... Don't bother me | 2 | Terminal / bash / zsh (current user) | 3 | /etc/environment | 4 | apt/dnf (Package manager) | 5 | Desktop settings (GNOME/Ubuntu) | 6 | npm & yarn | 7 | Dropbox | 8 | Git | 9 | Docker Separate multiple choices with space ? 1 Setting proxy... To activate in current terminal window run source ~/.bashrc [sudo] password for test: Done
Вывод списка настроек прокси
Для просмотра текущих настроек прокси выполните:
$ proxyman list
Пример вывода
Hmm... listing it all Shell proxy settings : /home/test/.bashrc export http_proxy="http://192.168.225.22:8080/" export ftp_proxy="ftp://192.168.225.22:8080/" export rsync_proxy="rsync://192.168.225.22:8080/" export no_proxy="localhost,127.0.0.1,192.168.1.1,::1,*.local" export HTTP_PROXY="http://192.168.225.22:8080/" export FTP_PROXY="ftp://192.168.225.22:8080/" export RSYNC_PROXY="rsync://192.168.225.22:8080/" export NO_PROXY="localhost,127.0.0.1,192.168.1.1,::1,*.local" export https_proxy="/" export HTTPS_PROXY="/" git proxy settings : http http://192.168.225.22:8080/ https https://192.168.225.22:8080/ APT proxy settings : 3 Done
Сброс настроек прокси
Чтобы сбросить настройки прокси, выполните:
$ proxyman unset
Вы можете сбросить настройки прокси-сервера для всех целей одновременно, введя номер 1, или введите любое число, чтобы сбросить настройки прокси-сервера для конкретной цели.
Select targets to modify | 1 | All of them ... Don't bother me | 2 | Terminal / bash / zsh (current user) | 3 | /etc/environment | 4 | apt/dnf (Package manager) | 5 | Desktop settings (GNOME/Ubuntu) | 6 | npm & yarn | 7 | Dropbox | 8 | Git | 9 | Docker Separate multiple choices with space ? 1 Unset all proxy settings To activate in current terminal window run source ~/.bashrc Done
Чтобы применить изменения, просто запустите:
$ source ~/.bashrc
На ZSH используйте соответственно:
$ source ~/.zshrc
Чтобы проверить, были ли удалены настройки прокси, просто введите команду:
$ proxyman list Hmm... listing it all Shell proxy settings : /home/test/.bashrc None git proxy settings : http https APT proxy settings : None Done
Как видите, настройки прокси для всех целей отсутствуют.
Просмотр списка конфигов (профилей)
Помните, мы сохранили настройки прокси как профиль в разделе Установка настроек прокси? Можно просмотреть список доступных профилей с помощью команды:
$ proxyman configs
Пример вывода команды
Here are available configs! proxy1 Done
Как видим, у нас есть только один профиль и это proxy1.
Загрузка профиля
Профили будут доступны до тех пор, пока вы не удалите их, поэтому вы можете в любое время загрузить профиль (например, proxy1), используя команду:
$ proxyman load proxy1
Эта команда выведет список параметров прокси для профиля proxy1. Вы можете применить эти настройки ко всем или нескольким целям, введя соответствующий номер (если несколько, через пробел).
Loading profile : proxy1 HTTP > 192.168.225.22 8080 HTTPS > 192.168.225.22 8080 FTP > 192.168.225.22 8080 no_proxy > localhost,127.0.0.1,192.168.1.1,::1,*.local Use auth > n Use same > y Config > Targets > Select targets to modify | 1 | All of them ... Don't bother me | 2 | Terminal / bash / zsh (current user) | 3 | /etc/environment | 4 | apt/dnf (Package manager) | 5 | Desktop settings (GNOME/Ubuntu) | 6 | npm & yarn | 7 | Dropbox | 8 | Git | 9 | Docker Separate multiple choices with space ? 1 Setting proxy... To activate in current terminal window run source ~/.bashrc Done
Наконец, активируйте изменения, используя команду:
$ source ~/.bashrc
Для ZSH:
$ source ~/.zshrc
Удаление профилей
Для удаления профиля, выполните:
$ proxyman delete proxy1 Deleting profile : proxy1 Done
Для вывода справки запустите:
$ proxyman help