目标需求
家宽再24-48小时内,运营商会回收IP,释放之后会重发IP,这样如果游戏是TCP的话中,宽带重拨上去之后TCP会中断。
QQ,VW那些宽带短暂中断无感的。但是对于TCP连接的游戏会直接中断游戏。
探索过程
开始设想是用一台公网VPS作为代理端。本地宽带连接VPS上网。但是效果皆不仅人意。始终不能保活。
中途尝试过了多种方式,给豆包,千问。等等一堆AI给我不断绕圈子,
OVPN,SOCK5,frpc,WireGuard,ZeroTier,PacketiX VPN等等。试过太多东西了。忘记了
核心问题
虽然都是可以通过VPS作为最终的出口。但是上面的种种本身就是基于TCP的基础上的。宽带短暂中断重连之后。TCP信息还是会重新连接分配,
游戏使用的是TCP协议,而TCP本身不支持连接迁移(源IP/端口变化会导致连接重置)。
只有通过QUIC协议的连接迁移特性,才能在底层网络变化时保持上层TCP连接。
最后确定了Hysteria2能实现这个方案,并完美适配游戏需求
Hysteria2
QUIC协议支持连接迁移
QUIC(Quick UDP Internet Connections)是Google开发的协议,支持连接迁移(connection migration)。当客户端IP变化时,QUIC连接可以自动迁移到新IP,而无需重新建立连接。
Hysteria2 基于 QUIC,因此可以保持TCP连接不断,即使宽带重拨导致IP变化。
高性能与抗干扰
Hysteria2 优化了UDP传输,支持多路复用和抗QoS干扰,适合游戏场景。
支持自定义加密和混淆,避免被运营商限速。
最终效果
VPS上面假设H2的服务,再旁路由OPENWRT上用SS2设置一条H2,流量全局VPS的线路。
1,主路由ROS上设置指定客户机走这H2的出口。
2,客户机使用Proxifier设置指定IP或者进程走H2的SOCK5代理端口也可。(可省流量,比较全局跑VPS,流量有可能不足)
最后再宽带短暂释放IP重获取的时候。游戏可能只会短暂的卡顿。并不会提示掉线,只要网络恢复之后。游戏依旧可正常运行。
这样就能达到长期无需重等游戏。不然2天就需要登一次游戏。烦都烦死了