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

9

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

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

Elitecoder
источник
Похоже, вы хотите программно изменить настройки прокси. Чтобы изменить их вручную, нужно открыть раздел «Настройки» браузера 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-запроса.

Strubbl
источник
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

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

TheRabi71
источник
0

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

echo $http_proxy

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

Serv-вкл
источник