Mac下使用自动代理配置(pac)

来源:http://cn.programmingnote.com/blog/?p=180

刚知道居然还有pac这玩意,可以自己写配置文件来设置哪些网站的访问需要使用代理。Firefox、IE都支持,而Mac上可以直接在网络设置里指定自动代理,也就是说,设置好了之后所有的程序都会应用这个代理配置了。

使用pac的前提是有一个安全稳定的socks代理,我建议用SSH Tunnel来做,没有SSH的自己想办法弄一个。假设SSH Tunnel设置的本地转发端口为7070,则只要写一个.pac文件,内容为:

function FindProxyForURL(url, host)
{
// 对于所有的连接,先尝试直接连接,如果连不上,则使用localhost 7070端口的socks代理。参数url和host分别表示连接的完整URL和URL中的host name部分,可以据此为不同的地址配置不同的代理。
return "DIRECT; SOCKS localhost:7070";
}

例如保存成proxy.pac。接着在System Preferences — Network — Advanced… — Proxies里,把Automatic Proxy Configuration选上,Proxy Configuration File里写上刚才那个proxy.pac的路径,就可以了。

pac configuration on Mac OS X

对于一些知名的网站,其实可以应用一些更“快捷”的配置,直接使用代理,不需要再去尝试直接连接,例如我使用的pac文件:

function FindProxyForURL(url, host) {
var proxy = 0;
if(shExpMatch(host, "*.blogspot.com") || shExpMatch(host, "*.blogger.com"))
{
proxy = 1;
}
 
if(shExpMatch(host, "*twitter.com") || shExpMatch(host, "*.twimg.com"))
{
proxy = 1;
}
 
if(shExpMatch(host, "*.facebook.com"))
{
proxy = 1;
}
 
if(shExpMatch(host, "*.youtube.com") || shExpMatch(host, "*.ytimg.com"))
{
proxy = 1;
}
 
if(proxy == 0)
{
return "DIRECT; SOCKS localhost:7070";
}
 
if(proxy == 1)
{
return "SOCKS localhost:7070";
}
}

—————————————————————————————————————————

需要翻墙利器赛风? 请阅读和关注中国数字时代

推特用户请点击这里免翻墙上推特

请点击这里下载翻墙软件

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG(免翻墙)

请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙)http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。


没有评论: