
常玩亚太地区,现在高端线路(例如 gen2,专线)和普通线路(例如 skyline,aws)的差价太大了:
高端线路流量贵好几倍,而且很多口子也不大,用它下载既贵,可能也不快,但好在全天延迟稳定;
而普通的 “xx 快乐机” 尽管直连或者用 hy2 猛蹬还是能有不错的速度,但晚高峰延迟和丢包率飙升,下载可以,但上网体验并不爽。尽管可以进行分流,但很难覆盖到所有的稀奇古怪网站的大文件下载,而且域名规则往往不够精细,长期维护成本不低。
因此我们提出了 singbox-multipath,一个实验性的 singbox 改版,其增加了 multipath 逻辑节点,实现了类似 mptcp 的单 tcp 流聚合能力。但和 mptcp 的直接聚合不同,我们设计了如下的择优策略:每个新连接默认都会使用高端线路(leg0),此时其延迟表现与单独使用高端线路一致,而当这个流的下载量或者速率超过一定阈值,那就会无缝聚合进来普通线路(leg1),这种聚合能提高 tcp 单线程速度,同时由于普通线路一般口子更大,还会让普通线路承担多数流量。
通过 singbox-multipath 无缝聚合,可以使你的上网延迟体验依旧保持高端线路的水平,但大文件下载能自动达到大口子普通线路的速度,同时让普通线路承担更多流量。自动识别,无需任何手工分流
如上图所示,在一次 speedtest 单线程测速中,小口子的专线承担了 20MB/s 的速度,而大口子的直连线路承担了 60MB/s 的速度,其被聚合成了 80MB/s 的单 tcp 流。
这种方案需要在客户端和服务端都使用 singbox-multipath,同时服务端需要作为最终唯一出站,以得到统一的出口。因此合理的拓扑为:统一由普通线路鸡落地,leg0 为经过高端线路机转发连接普通线路鸡,leg1 为直连普通线路鸡
(或者如果你买了 nobrand 家的专线 + 日本 vps 二合一 DUAL 产品,那就能一台机器直接搞定)请注意,本项目目前仅为自用实验性工作,主要是分享思路,没有太多技术支持,也不保证绝对的开箱即用,使用有一些门槛(需要你的服务端 + 客户端都是魔改版 singbox-multipath,并手搓部分配置),若有问题可能得多找找 gpt
项目开源,共两部分:
singbox-multipath 本体:https://github.com/WuSiYu/singbox-multipath
可直接使用,配置文档见 READMEluci-app-homeproxy-multipath:https://github.com/WuSiYu/luci-app-homeproxy-multipath
homeproxy 的改版(一个 openwrt singbox 透明代理配置客户端),适配了 sing-box 1.14 和 singbox-multipath,同时加入了直观的 multipath 状态页面
limitations:
- 使用场景高度针对 “小口子优质线路”+“大口子一般线路” 的组合,但如果你的普通鸡本身跑不到大带宽,那就不会有下载加速效果。不过底层是支持任意协议的,例如 hy2,一般总能找到蹬得动的快乐机
- 目前的聚合策略为优质线路 + 一般线路按设定带宽比例使用,依然会在优质线路上跑流量,以最大化聚合带宽(但因为口子较小,因此只会跑总流量中的少数)。如果你希望极致节省优化线路流量,可以让 gpt 改一下代码,做成如下逻辑:大流量连接逐渐完全切换到一般线路,优化线路逐渐推出
- 收藏 3支持 5反对打赏 2
绑定,能兼容通用客户端就好了
bd,佬太强了
牛逼
bd 科技佬

绑定
梦寐以求的方式

牛啊
bd,牛逼
bd 牛逼
🐮,不愧是 NB 科研担当
绑定。。牛逼了。
支持大佬
这种使用情况对于大文件来说是有提升的 但对于中小文件 / api 来说短板在快乐机线路的稳定性上 如果不够稳定有可能会发生负优化

@silence0817
这种考虑了的,普通线路断掉的话上层连接不会断掉,会通过优质线路继续通信并尝试重连普通线路;同时当检测到普通线路内容丢失(超时)的话,也会通过优质线路重传,不会有内容丢失;
另外也可以调参数,可以只设置一个较高的速率阈值激活,不设置按传输量激活,这样中小文件 / api 就彻底只会走优质线路
支持
666

dd
bd,佬太强了

这思路很牛的
