问题描述
我有一个需要更改Google chrome使用的代理设置的应用程序,然后使用浏览器,然后自动将代理切换回原来的状态。
我无法找到这些设置在我的Ubuntu系统上的存储位置。当然,它不在首选项文件中。有关如何执行此任务的任何想法?
最佳答案
您可以从命令行使用Chromium代理设置。手册页告诉您如何。这是我的Ubuntu Natty的man chromium-browser的摘录:
--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请求。
次佳答案
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"