💾 Archived View for tilde.team › ~rami › alias_proxy.gmi captured on 2024-05-10 at 11:36:12. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-01-29)

🚧 View Differences

-=-=-=-=-=-=-

~Rami ₪ MANUALS

רמי

SUBJECT: Алиасы управления общесистемным прокси (system-wide proxy)

AUTHOR: Rami Rosenfeld

DATE: 12/11/22

TIME: 10.00

LANG: ru, en

LICENSE: GNU FDL 1.3

TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, proxy, security, privacy

АЛИАСЫ УПРАВЛЕНИЯ ОБЩЕСИСТЕМНЫМ ПРОКСИ (SYSTEM-WIDE PROXY)

INTRO

Многие достойные ОС - здесь я конечно же подразумеваю RHEL (а также Fedora с GNOME или MATE) - имеют специальный GUI для быстрого изменения "на лету" параметров и переключения состояния общесистемного прокси, что, признаюсь, невероятно удобно и экономит время. В случае с Fedora GNU/Linux + LXDE (и, как я подозреваю - со многими маргинальными ОС) все не так просто: пользователь вынужден править некоторые файлы конфигурации вручную. Подробнее об этом см. п. 12. "Установка, активация и настройка сетевого ПО и сервисов" в подразделе "Работа с ядром, командами, логами, пакетами, службами, сервисами, репозиториями, обновлениями и политиками безопасности в консоли/терминале".

Чтобы упростить этот процесс, я сконструировал два простейших и очень изящных алиаса. По сути, они могут успешно работать в любой ОС на базе GNU/Linux.

NOTE

1. Создание файла настроек общесистемного прокси

$ nano ~/.profile.my

export http_proxy=http://ADD:PORT/

export https_proxy=http://ADD:PORT/

export ftp_proxy=http://ADD:PORT/

export sftp_proxy=http://ADD:PORT/

export ftps_proxy=http://ADD:PORT/

export HTTP_PROXY=http://ADD:PORT/

export HTTPS_PROXY=http://ADD:PORT/

export FTP_PROXY=http://ADD:PORT/

export SFTP_PROXY=http://ADD:PORT/

export FTPS_PROXY=http://ADD:PORT/

export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"

export NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"

Примечание: Строки переменных приводятся (вернее, дублируются) в двух регистрах, например "http_proxy" и "HTTP_PROXY". Это связано с тем, что системные сервисы и прикладные программы реализуют подключение к "System-wide proxy" по-разному.

ПРИМЕРЫ:

export http_proxy=http://127.0.0.1:8118/

export http_proxy=http://10.1.10.1:8118/

export http_proxy=http://localhost:18080/

2. В .bashrc необходимо разместить следующие алиасы и затем перегрузить Bash.

АЛИАС 1 (proxyon)

alias proxyon='mv -f ~/.profile.my ~/.profile'

АЛИАС 2 (proxyoff)

alias proxyoff='mv -f ~/.profile ~/.profile.my'

3. Принцип работы

Алиас proxyon переместит (без излишних запросов) искомое содержимое файла настроек в .profile и временно удалит файл .profile.my

Алиас proxyoff произведет обратную операцию.

Примечание: Алиасы действуют только для текущего пользователя. Для активации обоих режимов требуется операция выхода и последующего входа в ОС (перезагрузка компьютера не нужна).

4. Проверка работоспособности отдельной переменной

$ echo $https_proxy

Результат: http://ADD:PORT/

Примечание: Вносить изменения необходимо именно в файл ~/.profile в домашнем каталоге текущего пользователя, а не в ~/.bashrc или в ~/.bashrc_profile, т.к. ~/.profile имеет наивысший приоритет.

5. Временная отмена переменных (в пределах текущей сессии, для отдельного пользователя):

$ unset http_proxy

$ unset HTTP_PROXY

(и т.п.)

UPD 29/03/2024: В конце марта вышла стабильная версия набора базовых системных утилит GNU Coreutils 9.5, в которой появилась одна весьма любопытная возможность. В утилиту mv добавлена опция "--exchange" для обмена содержимого источника и назначения (например, при выполнении "mv --exchange A B", содержимое А и B поменяется местами, т.е. A переместится в B, а B в A). Таким образом, вы можете переписать оба алиаса с ее использованием.

₪ Back to home ₪

🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.