好的,不急 谢谢!
你现在测试的时候,是多个页面的流量都会走各自的代理吗? 还是要等在当前页面加载完?
我简单瞄了一个错误,晚上回来继续 review.
晚上回来我看看这个方法通用不,通用就合并。
没法解决的话可以在EAF和真实代理之间自己写一个socks代理来劫持dns做中转,相当于自己实现了pac。
当然第二种方式又会存在跨平台测试。
目前基于 QtWebEngine 还是做不到多个页面的代理独立。
https://doc.qt.io/qt-5/qtwebengine-overview.html#proxy-support
需要等页面加载完。目前我测试基本是work的,而且正常场景下应该够用,但是确实存在多个页面同时loading的时候,代理可能要相互影响的问题
看来只有两条路,一条中转socks来配置规则,一条是把EAF多进程化,每个页面自己一个进程可以独立切换。
多进程的改动还比较复杂,能很好的解决每个进程之间独立代理的这个功能,但是会带来一个副作用,就是每一个页面打开速度都会降低,因为它会有一个Python进程的启动消耗。
个人不倾向这种改造方案,多进程的形式无疑会增大内存损耗,降低性能
其实EAF内部写一个socks5代理应该很容易,根据规则再看要不要转发给本地代理,这样就不用和chromium较劲了,哈哈哈哈哈。
那我也来试试
1 个赞
我问了朋友,说不用自己写,你可以折腾一下 clash, 就是 socks5 server, 可以自定义规则:
- 安装 clash, 配置好规则和本地端口
- EAF 设置 socks5 端口到 clash 上
- clash 根据规则选择直连还是继续转发到本地的另外一个 socks5 client 上
我自己没有折腾过,欢迎折腾好发一下攻略哈,好多EAF用户都期待这个功能。
1 个赞
用起来了,不过看 clash 配置功能好多好复杂,感觉clash这个东西用来转发个规则有点杀鸡用牛刀的感觉,哈哈哈哈
等我摸索摸索两天配置先,再来写个攻略
2 个赞
通过Clash的规则的方式来转发
1 个赞