Команда для установки socks прокси
Я использую прокси socks через SSH туннель
ssh -D 1080 -f -C -q -N <user>@<server>
когда я установил прокси в System settings > Network > Network proxy
, все приложения, как Chromium, Firefox, apt, ...
следите за прокси.
Теперь я хочу написать сценарий оболочки для автоматизации, как я могу установить Network proxy
по терминалу?
все, что я нашел, это "использовать какое-то стороннее программное обеспечение, такое как Tsocks
и... ". но, как я уже сказал, Ubuntu сам может сделать это без какого-либо стороннего программного обеспечения, поэтому не хочу их использовать.
все, что я хочу, установлено Network proxy
используя команду в терминале.
1 ответ
Как сказал @taifwa, настройки прокси-системы в Ubuntu были решением проблемы.
и вот мой сценарий:
ssh -D ${LOCAL_PORT} -f -C -q -N ${REMOTE_USER}@${REMOTE_HOST} -p ${REMOTE_PORT}
#set socks setting in System settings > Network > network proxy
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.socks port ${LOCAL_PORT}
gsettings set org.gnome.system.proxy.socks host 'localhost'
gsettings set org.gnome.system.proxy ignore-hosts "['localhost', '127.0.0.0/8', '${LOCAL_RANGE}', '::1']"
sudo su <<-EOF
#environment settings
echo "socks_proxy='socks://localhost:${LOCAL_PORT}/'" >> /etc/environment
#apt settings
echo "Acquire::socks::proxy 'socks://localhost:$LOCAL_PORT/';" >> /etc/apt/apt.conf
EOF
запуск от имени root необходим для редактирования environment
а также apt.conf
,
редактировать:
но важно знать редактирование
org.gnome.system.proxy
как root не влияет на текущего пользователя, поэтому они должны запускаться как обычный пользователь. так что не запускайте скрипт с помощью sudo