Можно ли как-то автоматизировать проксирование http[s] через ssh-туннель, не запуская терминал

Можно ли автоматизировать проксирование через ssh тунель? Т.е. не запускать каждый раз в терминале команду ssh -D 1122 user@server, вообще без запуска терминала? См. описание ниже что имеется ввиду...

предположим, что вы подключаетесь к некоему серверу по протоколу ssh такой командой:

$ ssh user@server

тогда вам потребуется:

  1. запустить ssh-клиент с опцией -D порт, тогда программа ssh будет слушать указанный порт на локальном компьютере и (пока работает) все обращения к этому порту по протоколу socks будет ретранслировать на сервер:

    $ ssh -D 1122 user@server
    

    номер порта здесь произвольный, но, конечно, должен быть больше 1024 и меньше максимального номера порта (скорее всего, в вашей системе это 65536), и, конечно, не должен использоваться каким-нибудь другим локальным процессом.

  2. в браузере firefox на странице about:config измените следующие параметры:

    1. network.proxy.type = 1 (0 — отключить proxy)
    2. network.proxy.socks = 127.0.0.1
    3. network.proxy.socks_port = 1122 (тот порт, что вы указали выше)
    4. network.proxy.socks_remote_dns = true (dns-запросы тоже будут отправляться через туннель)

    вышеперечисленные настройки можно сделать и с помощью «мышки» — на странице "preferences": "advanced" → "network" → "settings".

socks settings for firefox

для отключения проксирования достаточно поменять один параметр — network.proxy.type = 0.

вероятно, достаточно удобным будет завести новый профиль в firefox с этими настройками, чтобы они не мешали «обычной» работе. запустить firefox, чтобы он показал диалог выбора профилей, можно примерно так:

$ firefox --no-remote -P

можно и сразу запускать нужный профиль. например, если вы назвали профиль proxy:

$ firefox --no-remote -P proxy

скорее всего, подобные настройки можно осуществить и в других браузерах. обратитесь к документации вашего браузера по поводу использования socks-proxy.


Ответы (0 шт):