Safari 如何快速切换代理服务器?

如何在 Safari 上实现不同代理服务器的快速切换(Firefox / Chrome 可以一键实现)?


不知道 Safari 有类似切换代理的插件,但我提供一种使用 AppleScript 切换的思路(我使用的是GoAgent,代理地址是127.0.0.1:8087,可以根据实际情况作相应更改。),建立 AppleScript 然后导出为应用程序放到 Dock 上就很方便启动 GoAgent 同时切换代理。

启动后出现如下窗口,选 ON 运行 GoAgent 并设代理地址为 127.0.0.1:8087,选 OFF 关闭终端取消代理,选 Cancel 不作相应。

代码中***为用户名及用户密码。

tell application "Finder"
set dialog to display dialog "GoAgent switch. Please select:" buttons {"ON", "OFF", "Cancel"} default button "ON" with title "GoAgent"
set interface to button returned of dialog
end tell

if interface is "Cancel" then
return
end if

if interface is "ON" then
tell application "Terminal"
do script "python goagent/local/proxy.py"
end tell

do shell script "networksetup -setwebproxy Wi-Fi 127.0.0.1 8087" user name "***" password "***" with administrator privileges
do shell script "networksetup -setsecurewebproxy Wi-Fi 127.0.0.1 8087" user name "***" password "***" with administrator privileges
do shell script "networksetup -setwebproxystate Wi-Fi on" user name "***" password "***" with administrator privileges
do shell script "networksetup -setsecurewebproxystate Wi-Fi on" user name "***" password "***" with administrator privileges
end if
if interface is "OFF" then
tell application "Terminal"
do script "killall Terminal"
end tell
do shell script "networksetup -setwebproxystate Wi-Fi off" user name "***" password "***" with administrator privileges
do shell script "networksetup -setsecurewebproxystate Wi-Fi off" user name "***" password "***" with administrator privileges
end if


更新一个更好的方法:

Mac(OSX)使用VPN小技巧——国内外访问分流

-----------------------------------------------edit---------------------------------------------

用mac os x自带的PAC功能。

配置方法:

wifi图表-》网络偏好设置-》高级

在“代理”标签选第二个,自动代理配置,URL选pac文件就行

goagent文件夹的local目下会有一个proxy.pac文件(也可能是当时自己载code.google上下载的)。

URL里选区pac文件

点应用,就配置完成了。

另外,也可以从chrome的switchysharp插件中导出pac文件。


System Preferences - Network 里新建一个 Location,把 Proxy 的设置填上。需要切换代理时,在左上角的苹果菜单下的 Location 中切换即可。不过每次切换 WIFI 都要重新连接一遍。

2014 更新:不会重连 WIFI 的方法:设置好 Proxy 后,使用 Terminal:

networksetup -setsocksfirewallproxystate Wi-Fi on

networksetup -setsocksfirewallproxystate Wi-Fi off

这里假设你的使用的是 SOCKS 代理,例如 SSH -D,其他代理类同。


break wall

breakwall -

更新最快的苹果番羽土啬工具 :)gae proxy collector in OS X 10.4

可以基本上实现几个常见的代理的快速切换

缺点是没有像switchysharp 那样可以手工添加特定网站通过代理访问


为什么我设置好pac代理之后,safari不足pac代理,chrome走pac代理???


推薦閱讀:

如何評價windows10抄襲蘋果safari的「閱讀列表」功能的行為?
safari 支不支持HTML5的錄音?
Mac 更新 OS X 10.10 後,Safari 打開網易等網站會出現卡死現象,為什麼?如何解決?
為什麼 Chrome 和 Safari 相同字體的 kerning 效果存在明顯差異?
為什麼說 OS X 上 Safari 好用?

TAG:Safari插件 | Safari |