就是穿越我们的墙。以前写过一个我的pac的post,不过那个pac在很多环境不work,那就老实写那个笨的,可是太麻烦了。所以写了个rb脚本生成那个pac。
如下:
#!/usr/bin/env ruby
proxy = 'SOCKS 127.0.0.1:7777'
gfucked_sites = [
'youtube.com',
'ytimg.com',
'googlevideo.com',
'tinyurl.com',
'bit.ly',
'blogspot.com',
'twitter.com',
'plurk.com',
'torproject.org',
'wikipedia.org',
'tumblr.com',
'soup.io',
'pandora.com',
'adobe.com',
'last.fm',
'photoshop.com',
'google.com',
'googlecode.com',
'appspot.com',
'acer.com',
'demonoid.com',
'alexa.com',
'wikimedia.org',
'yahoo.com',
'zend.com',
'aptana.com',
'uncyclopedia.tw',
'uncyc.org',
'webarchive.org',
'pornhub.com',
'yourporn.com',
'facebook.com',
'mail-archive.com',
'versionapp.com',
'friendfeed.com',
'ff.im',
'chinagfw.org',
'bullogger.com',
'mulhollanddrive.com',
'iphone-dev.org',
'plurk.com',
'imageshack.us',
'zendesk.com',
'pbwiki.com',
'chromium.org',
'typepad.com',
'ff.im',
'friendfeed.com',
'tornadoweb.org',
'bullogger.com',
'blogspot.com',
'zendesk.com'
]
puts "function FindProxyForURL(url, host) {"
gfucked_sites.each do |site|
puts " if (shExpMatch(url, \"*://*.#{site}/*\")) { return \"#{proxy}\"; }"
puts " if (shExpMatch(url, \"*://#{site}/*\")) { return \"#{proxy}\"; }"
end
puts " return \"DIRECT\""
puts "}"
运行一下./gen_pac.rb > tin.pac就会生成tin.pac,我在.profile里面加入这一行并在开机默认启动Terminal就可以每次都更新pac文件了。但是还缺一个apple script告诉网络连接刷新一下pac文件,下次有空研究一下怎么做。
打开ssh tunnel我没有使用自动的方式,我设置了这个alias:
alias px='ssh -qTfnNC -D 7777 user@yourdomain.com'
然后每次用ssh-tunnel的时候只需要去Terminal执行一下px就好了。
在Mac里面我可以给每一块网卡指定系统级别的自动代理脚本pac文件:Air port图标-> Open Network preference->解锁->选择你的网络连接-> Advance …->Proxies->Automatice Proxy Configuration,让它指向你的pac文件。然后整个系统都回使用它作为代理了,如此Tweetie就可以非常爽的工作了。此法对于使用Tor的用户一样有效,修改一下pac生成脚本里面的proxy = 'SOCKS 127.0.0.1:7777'到proxy = 'HTTP 127.0.0.1:tor_port'就可以了。
Dylan 3:25 am on November 5, 2009 Permalink
比较奇怪的是safari不能通过proxy查询dns,现在只好用ff+foxproxy.
不知有什么诡异的设定能搞定safari吗?
xyb 3:38 am on November 5, 2009 Permalink
用privoxy把socks代理转变为http代理,浏览器就可以使用代理做dns查询了。
redoasis 9:27 am on January 3, 2010 Permalink
博主能否提供一个编译好的for mac osX 10.6.2的privoxy,我去下载,似乎都只有源码,编译这种事情对我等菜鸟来说,难度太高,搞不定。要是有空的话,打包个有图形界面的app那就太完美了。谢谢。另外,pac文件我写来写去都不能工作,博主能提供一个在mac osx 10.6 下可用的pac文件范本么?