在Ubuntu上手动配置Google Chrome浏览器的代理设置


9

我有一个需要更改Google chrome使用的代理设置的应用程序,然后使用浏览器,然后自动将代理切换回原来的状态。

我一直找不到这些设置在我的Ubuntu系统上的存储位置。当然,它不在首选项文件中。关于如何执行此任务的任何想法?


看起来您想以编程方式更改代理设置。手动更改它们将涉及打开Chrome浏览器的“偏好设置”部分。您想做的事情看起来很奇怪-您要完成的目标的基本目标是什么?实现该目标可能有更简单的方法。
Mike Rowave 2011年

可能正在解释为什么我希望执行这样的事情将帮助人们提供替代解决方案。我希望记录Google Chrome浏览器提供的所有流量。为此,我有一个充当代理服务器的客户端。现在,如果将Chrome的代理设置为localhost和某个端口,所有流量将通过我的客户端,并且我的客户端将能够记录所有发生的事情。记录完所需的内容后,我将关闭chrome并还原其原始代理设置。我不希望使用传递给Chrome浏览器的命令行参数,并且希望以编程方式执行此操作。
Elitecoder

Answers:


12

您可以从命令行使用Chromium代理设置。手册页告诉您如何。这是我的Ubuntu Natty的man铬浏览器的摘录:

   --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"

还可以看看Justin在此线程中的帖子,其中他还介绍了如何将代理用于DNS请求。


1
有没有办法设置不应使用代理的特定域?类似于No proxy for Firefox中的设置...
becko 2014年

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

请享用!


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.