8

У меня есть приложение, которое должно изменить настройки прокси-сервера, используемые Google Chrome, затем использовать браузер, а затем автоматически переключить прокси-сервер на прежнее состояние.

Я не смог найти, где в моей системе Ubuntu хранятся эти настройки. Его нет в файле настроек наверняка. Есть идеи, как решить эту задачу?

4 ответа4

11

Вы можете использовать настройки Chromium proxy из командной строки. Страница руководства рассказывает вам, как. Итак, вот выдержка из браузера chromium от моего Ubuntu Natty:

   --proxy-server=host:port
          Specify the HTTP/SOCKS4/SOCKS5 proxy server to use for requests.  This overrides any environment variables or settings picked via the options dialog.  An individual
          proxy server is specified using the format:

            [<proxy-scheme>://]<proxy-host>[:<proxy-port>]

          Where <proxy-scheme> is the protocol of the proxy server, and is one of:

            "http", "socks", "socks4", "socks5".

          If the <proxy-scheme> is omitted, it defaults to "http". Also note that "socks" is equivalent to "socks5".

          Examples:

            --proxy-server="foopy:99"
                Use the HTTP proxy "foopy:99" to load all URLs.

            --proxy-server="socks://foobar:1080"
                Use the SOCKS v5 proxy "foobar:1080" to load all URLs.

            --proxy-server="sock4://foobar:1080"
                Use the SOCKS v4 proxy "foobar:1080" to load all URLs.

            --proxy-server="socks5://foobar:66"
                Use the SOCKS v5 proxy "foobar:66" to load all URLs.

          It is also possible to specify a separate proxy server for different URL types, by prefixing the proxy server specifier with a URL specifier:

          Example:

            --proxy-server="https=proxy1:80;http=socks4://baz:1080"
                Load https://* URLs using the HTTP proxy "proxy1:80". And load http://*
                URLs using the SOCKS v4 proxy "baz:1080".

Преимущество использования аргументов командной строки заключается в том, что вам не нужно изменять глобальные системные настройки.

Например:

$ chromium-browser --proxy-server="http://127.0.0.1:8080"

Также посмотрите на пост Джастина в этой теме, где он описывает, как использовать прокси для DNS-запроса.

3

Ответ в Strubbl верный, это лучшее решение, так как вам не нужно постоянно включать / отключать общесистемные настройки прокси.

Я хотел бы добавить, что вы также должны использовать этот переключатель в сочетании

--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1" 

где 127.0.0.1 - ваш прокси-сервер. Этот переключатель останавливает chrome от внешних DNS-запросов, которые, когда важна конфиденциальность, не будут пропускать никакую информацию DNS.

Итак, полная команда выглядит следующим образом.

/usr/bin/google-chrome-stable %U --proxy-server="socks5://127.0.0.1:9050" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"
1

Для Ubuntu 14.04 LTS перейдите в терминал. Откройте этот файл, но сначала сохраните его

& cp /usr/share/applications/chromium-browser.desktop /home/@user/

& sudo su

(passwd)

затем

& gedit /usr/share/applications/chromium-browser.desktop &

Перейти к первой строке "Exec"

Exec=chromium-browser %U

Измените это на

Exec=chromium-browser %U --proxy-server="127.0.0.1:8118"

127.0.0.1:8118 или что еще. Сохраните этот файл, закройте редактор, снова запустите браузер и попробуйте.

Чтобы сделать это изменение обратно

& sudo su

(passwd)

& cp /home/@user/chromium-browser.desktop /usr/share/applications/

или переписать эту строку

Exec=chromium-browser %U

наслаждаться!

0

Chromium и Google Chrome используют настройки среды http_proxy , https_proxy и no_proxy . Доступ к ним отличается от языка программирования к языку программирования. В оболочке вы можете ввести

echo $http_proxy

и т.д. Они могут быть установлены множеством способов. См. Https://askubuntu.com/a/513956/438156 и https://askubuntu.com/a/755100/438156.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .