我有一个应用程序需要更改 Google Chrome 使用的代理设置,然后使用浏览器,然后自动将代理切换回原来的状态。
我无法在我的 Ubuntu 系统上找到这些设置存储在哪里。它肯定不在首选项文件中。关于如何完成这项任务,有什么想法吗?
答案1
您可以从命令行使用 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"
还请查看此主题中 Justin 的帖子,其中他也描述了如何使用代理进行 DNS 请求。
答案2
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"
答案3
对于 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
享受!
答案4
Chromium 和 Google Chrome 使用http_proxy
、https_proxy
和no_proxy
环境设置。访问这些设置的方法因编程语言而异。在 shell 中,您可以输入
echo $http_proxy
等等。它们可以以多种方式设置。请参阅https://askubuntu.com/a/513956/438156和https://askubuntu.com/a/755100/438156。