1
smallcolor 2011-07-04 21:36:28 +08:00
你需要自己建一个HTTP服务器,把pac放到上面。
file://已经不行了。 |
2
ccp0101 OP @smallcolor 这样啊。但是直接设置SOCKS都不行了?
|
3
linsk 2011-07-05 08:14:52 +08:00
我也遇到,时好时坏的。
|
4
honururu 2011-07-05 15:07:58 +08:00
@smallcolor 已经这样设置了,还是时灵时不灵。
|
6
yoyicue 2011-07-05 15:32:29 +08:00
@ccp0101
这个原因 是safari 不支持 sock5 只能用 socks, pac有一个 hack 写法 SOCKS5 127.0.0.1:7070; SOCKS 127.0.0.1:7070 曾经为此改过 switchy 的js gist.github.com/941950 |
7
ccp0101 OP 解决咯。。
首先system preferences里面设置PAC的时候不要手动打file://xxxx,按下面的choose file,因为URL格式不一样,变成file://localhost/<PATH> file://localhost/Volumes/Data/bin/autoproxy.pac 然后PAC里面按照@yoyicue的hack改下。 现在chrome和twitter等可以走代理了 |
10
ccp0101 OP 像autoproxy2pac下载的文件都是base64编码过的。需要先解码。然后可以看到
var PROXY = "SOCKS 127.0.0.1:7070"; 将它改成 var PROXY = "SOCKS5 127.0.0.1:7070; SOCKS 127.0.0.1:7070"; |
13
ccp0101 OP 找到
eval(decode64(" decode64("之后到最后的"))之间的内容就是编码后的。 例如像我的pac中: ... 1.length);return _3;}eval(decode64("LyoKICogUHJ .... VGQVVMVDsKfQo=")) 那么LyoKICogUHJ .... VGQVVMVDsKfQo=这部分就是编码的 将这部分内容保存到一个文件A。 到http://www.motobit.com/util/base64-decoder-encoder.asp 将Choose File选择文件A,选择decode the data from a Base64 string (base64 decoding) 和output to a textbox (as a string),然后convert the source data 过一会儿会出现以下开头的内容 /* * Proxy Auto-Config file generated by autoproxy2pac * Rule source: http://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt * Last update: Tue, 05 Jul 2011 09:14:20 GMT */ function FindProxyForURL(url, host) { var PROXY = "SOCKS 127.0.0.1:7070"; var DEFAULT = "DIRECT"; 复制框中所有内容并保存到decoded.pac decoded.pac就是解码后的。 |
15
honururu 2011-07-05 21:51:44 +08:00
基本搞定了,但是我的路径用的是http://localhost/~<user>/autoproxy.pac.
如果用file://XXX还是会变为全局代理,点下面choose按钮也一样。 |