Команда для установки 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

Другие вопросы по тегам