Ручная настройка параметров прокси-сервера Google Chrome в Ubuntu


9

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

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


Похоже, вы хотите программно изменить настройки прокси. Чтобы изменить их вручную, нужно открыть раздел «Настройки» браузера Chrome. То, что вы хотите сделать, кажется очень странным - какова основная цель того, что вы пытаетесь достичь? Там может быть более простой способ достижения этой цели.
Майк Ровэйв

Может быть, объяснение, почему я хочу выполнить такую ​​вещь, поможет людям предложить альтернативные решения. Я хочу записать весь трафик, обслуживаемый Google Chrome. Для этого у меня есть клиент, который действует как прокси-сервер. Теперь, если я установлю прокси-сервер Chrome на localhost и определенный порт, весь трафик будет проходить через мой клиент, и мой клиент сможет записывать все, что произошло. И когда я закончу записывать то, что мне нужно, я отключу Chrome и восстановлю исходные настройки прокси. Я не хочу использовать аргументы командной строки, передаваемые браузеру Chrome, и хочу сделать это программно.
Elitecoder

Ответы:


12

Вы можете использовать настройки 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-запроса.


1
Есть ли способ установить конкретные домены, которые НЕ должны использовать прокси? Что-то аналогичное No proxy for настройке в Firefox ...
becko

1
chromeне работает, потому что у него нет выбора--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"
BeGood


не работает chrome игнорирует все настройки прокси
user27636

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

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

echo $http_proxy

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.