大家觉得有需要一个支持 PAC 文件的代理服务器么?

2015-09-17 09:11:30 +08:00
 liangqing

就是代理服务器自动解析 PAC 文件(其实就是 javascript ),知道如何将请求转发出去,不需要浏览器去解析判断了。
这样的话,只要在浏览器或者系统网络里面指定代理服务器即可,而不需要指定 PAC 文件,好处就是:
1 、有些浏览器对 PAC 文件支持不是很好,而且如果 PAC 文件太大的话,浏览器会卡
2 、统一了设置,不需要每个浏览器都设置 PAC 地址了,直接设置系统代理即可,这样对于那些移动设备也可以很方便通过局域网使用该代理。
3 、标准的 PAC 文件其实能力还是挺有限的(能够判断的条件有限),如果 PAC 文件不局限于浏览器来解析的话,那可以增加很多扩展,这样就能支持更多的逻辑。
4 、可以在代理服务器做一些解析 PAC 的缓存,这样的话,可以提高全局的性能。

我之前做了一个粗糙的版本(原谅我,安利一下): https://github.com/liangqing/PacProxy
之后自己(包括妹子)跌跌撞撞用了三年,功能也比较有限,有很多缺点:
* 仅仅支持 socks5 代理服务器,这个可能是最大缺陷,一定要支持 http/https 才行(否则就要在前面套一个 privoxy 转换,好麻烦)
* 有 Bug ,不过写了个脚本自动重启,所以一直也能用。。所以就没去修复了。。
* 代码已经比较过时了, nodejs 4 出来以后就没法用了,因为有些接口变了。

所以在这里想问下大家,觉得有必要做一个支持 PAC 文件的代理服务器么?或者现在已经有很成熟的方案了?
如果有必要的话,撸主就继续完善它,把它存在的问题解决掉
如果没必要的话,或者现在已经有很成熟的解决方案了,撸主就自己凑合也能用了。。

9274 次点击
所在节点    分享创造
18 条回复
goodbest
2015-09-17 11:12:08 +08:00
存在即合理。
其实就等于不用在服务器端配置 iptable 之类的了呗?这样也挺好。

加油
kawaiiushio
2015-09-17 13:43:37 +08:00
白名单持续更新 https://github.com/akar1nchan/gfvvlist

黑名单我不打算更了
ltxnwt
2015-09-17 18:51:46 +08:00
有需要,已经量化
https://opennet.xyz/
ajan
2015-09-18 15:03:53 +08:00
@ltxnwt 好东西
cc55555
2015-09-18 16:54:11 +08:00
@ltxnwt 有木有邀请码来一枚~
nothing2
2015-09-18 17:38:19 +08:00
@liangqing pac 加在 wifi 自动代理里面,相当好用。谢谢
everyx
2015-09-18 21:17:49 +08:00
其实根据 WPAD 协议配置一下也不用手动设置了
qw7692336
2015-09-19 12:22:18 +08:00
可以做到全局吗
liangqing
2015-09-21 10:17:27 +08:00
@hgyhyx 这个的确不错!在 Mac 电脑上随便 tinyproxy 开个 http 代理就能局域网使用了。为啥之前没发现。。。不过这个只支持 Mac 吧, Linux , Windows 我都没发现这个功能呢。
liangqing
2015-09-21 10:18:18 +08:00
@everyx 这个太复杂了,而且只是支持浏览器,别的应用或者移动设备可能也需要使用代理呢。
liangqing
2015-09-21 10:19:42 +08:00
@qw7692336 可以的阿,我自己一直这么用的,不过我做的这个东西需要完善一下才能方便使用。如果你是 mac 电脑的话,可以参考 6 楼的方法,不错哈~
ob
2015-10-19 23:21:50 +08:00
@kawaiiushio 白名单会不会有个问题?比如我把 twitter.com 设为白名单的时候, twimg.com ,或者 twittercdn.com (举例)这些相关联的域名有时候没办法一个一个找出来,导致显示的页面不全。这些相关联名单要怎么维护?
ob
2015-10-19 23:25:34 +08:00
@ltxnwt 配置过 opennet.xyz 的 pac 文件,可以直接用。话说用的 pac.opennet.eu.org:25 这个代理是怎么搭建的,想要在自己的服务器上搭建个一样的,速度会更快一些。
有知道的话,帮忙解答下,谢谢!
kawaiiushio
2015-10-20 00:15:30 +08:00
@ob 白名單是指域名或者 IP 指向身在大陸的服務器地址名單
kawaiiushio
2015-10-20 00:21:18 +08:00
@ob 這是個 HTTP PROXY 也就是傳輸內容爲明文 存在安全問題 如需要假設 可以在 server 上配置 HTTP PROXY 服務端
@liangqing 部分 linux 發行版不支持 pac 解析 需要安裝組件 主流發行版基本支持 在網絡設置內 Windows 的設置在 IE 的 internet 設置裡面可以找到局域網代理
ob
2015-10-20 00:26:44 +08:00
@kawaiiushio
刚试了下,把 pac 地址内容拷到其他站点下面( 25 端口那个地址保持不变,竟然就不能访问了,百度提示: DNS 错误)

架设地址:
http://bbs.itzmx.com/thread-8815-1-1.html
kawaiiushio
2015-10-20 13:24:08 +08:00
@ob 为什么不试试看神奇的 cow 呢 https://github.com/cyfdecyf/cow
reguser12005
2018-07-23 09:05:36 +08:00
这个太好了, 就需要这个. 如果是用 go 语言就更好了.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/221317

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX