在 KDE 中,我可以设置手动代理,并且在例外情况下使用特定网站(例如此处的 youtube),如屏幕截图所示,仅使用该代理,所有其他网站均可正常加载,我的问题是如何在 unity 或 gnome 中执行此操作,以便只有 youtube 可以使用这些代理?
答案1
单个网站的代理设置
由于您要为单个网站设置代理,因此没有必要弄乱系统代理。而且一次又一次地更改系统代理也将是一项繁琐的工作。使用 Google Chrome 可以轻松实现您想要的功能。我可以向您推荐 Chrome 中的扩展程序“Proxy SwitchySharp”。您只需单击一下即可在两个或多个代理设置和直接连接之间切换。
除此之外,它还有许多其他高级选项可供您的代理使用,例如,您可以设置切换规则,可以备份您的设置等。
如何在 Google Chrome 中安装 Proxy SwitchySharp,
- 打开 google-chrome
转到设置>>扩展(或者在地址栏中输入
chrome://extensions/
)点击“获取更多扩展”(左下角)
- 搜索“Proxy SwitchySharp”
- 单击
+
标志进行添加。
一些澄清
- 它可以独立于 KDE、Gnome、Unity 等桌面环境使用。因为它在浏览器上使用自己的代理设置,而不是系统代理。
- 它可以使用由 tor 或任何其他来源配置的代理。
你需要做什么
- 在 Proxy SwitchySharp 中创建两个配置文件,例如 profile_1 和 profile_2。
- profile_1 将具有您的默认代理或直接连接,而 profile_2 将具有 tor 生成的代理和相应的端口。
- 当您浏览不受限制的网站时请使用profile_1,浏览受限制的网站时请使用profile_2。
希望这是您所问的。
答案2
为什么要为 2 或 3 个网站制作系统范围的代理?我的意思是,这更简单,而且在我看来,最好在 Firefox 或 Chrome 或您使用的任何浏览器中为这些网站制作代理。
想想看,每次使用 Skype 或 steam 或任何其他需要互联网的程序时,您都必须查看您是否正在访问 YouTube 或谷歌或任何其他您想要使用代理的网站。
我认为另一种解决方案是在 Chrome 或 Firefox 中安装扩展程序,并将浏览器配置为仅对那些特定网站使用代理。
答案3
我依然觉得这个答案是解决您问题的更好方法。如果您坚持要更改系统代理以实现您的目的,则可以使用下面给出的 shell 脚本。并且根据您的问题,您希望在 unity 或 gnome 上执行此操作。
#!/bin/bash
if [ $# -lt 1 ]
then
echo "$0: missing operand"
echo "Usage $0 [option]"
echo "options : [default|restricted]"
exit 0
fi
case "$1" in
default)
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http enabled true
gsettings set org.gnome.system.proxy.http host 'proxy.server.addr_1'
gsettings set org.gnome.system.proxy.http port proxy_port_1
gsettings set org.gnome.system.proxy.http authentication-user 'user_id'
gsettings set org.gnome.system.proxy.http authentication-password 'password'
gsettings set org.gnome.system.proxy use-same-proxy true
gsettings set org.gnome.system.proxy ignore-hosts ['localhost', '127.0.0.1', 'all', 'other', 'hosts']
;;
restricted)
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http enabled true
gsettings set org.gnome.system.proxy.http host 'proxy.server.addr_2'
gsettings set org.gnome.system.proxy.http port proxy_port_2
gsettings set org.gnome.system.proxy.http authentication-user 'user_id'
gsettings set org.gnome.system.proxy.http authentication-password 'password'
gsettings set org.gnome.system.proxy use-same-proxy true
gsettings set org.gnome.system.proxy ignore-hosts ['localhost', '127.0.0.1', 'all', 'other', 'hosts']
;;
* )
echo "$0: invalid option"
;;
esac
您需要在上面两节中分别为您的默认和 tor 创建的代理定义两组proxy.server.addr
、proxy_port
、user_id
和。password
ignored hosts
如果您不想要任何部分,只需删除该行或根据需要修改选项即可。例如,如果您没有代理user_id
,password
请在复制脚本时删除这些行。很可能 tor 不提供用户名和密码。
用法
将脚本另存为switch_proxy.sh
。赋予其执行权限。
chmod +x /path/to/switch_proxy.sh
要在整个系统范围内使用默认代理,
/path/to/switch_proxy.sh default
要在整个系统中使用修改后的代理,
/path/to/switch_proxy.sh restricted