Я использую прокси носков по туннелю ssh
ssh -D 1080 -f -C -q -N <user>@<server>
когда я установил прокси в System settings > Network > Network proxy
, все приложения как Chromium, Firefox, apt, ...
следуют за прокси.
теперь я хочу записать сценарий оболочки для автоматизации, как я могу установить Network proxy
терминалом?
все, что я нашел, является "использованием некоторое стороннее программное обеспечение как Tsocks
и... ". но поскольку я сказал, человечность, которую это сам может сделать, это без любого стороннего программного обеспечения так не хочет использовать их.
все, что я хочу, установлено Network proxy
использование команды в терминале.
как @taifwa сказал, настройки прокси, В масштабе всей системы в человечности были решением.
и вот мой сценарий:
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
выполненный, поскольку корень требуется для редактирования environment
и apt.conf
,
редактирование:
<час>, но важно знать редактированиеorg.gnome.system.proxy
, поскольку корень не имеет никакого эффекта на текущего пользователя, таким образом, их должен работать как обычный пользователь. так не запускают скрипт с sudo