分享自己用 Go 写的游戏加速器 IkaGo
作为在校学生以及任系玩家,闲暇时间一直在 Switch 上玩,但平台上的数款游戏的联机都是玩家间各自通过 UDP 连接完成的。如果没有稳定的 UDP 环境,或者 NAT 类型不佳的话可能就只能享受单机。其中一个简单的解决途径便是使用加速器,但因为不想花钱,所以我就自己实现了一个。
IkaGo
IkaGo 是一个以 Go 语言撰写的,用于绕过 UDP 封锁、UDP QoS 以及 NAT 防火墙的代理。
附上程序框图:

特性
- 利用了类似 Udp2raw-tunnel 的 FakeTCP 机制,绕过 UDP 封锁与 UDP QoS
- 利用了代理 ARP 应答指定 IP 地址的请求,实现将自身作为网关处理来自指定 IP 地址的网络流量(也就是类似市面上的加速器,将主机的 IP 地址与网关设为网络环境中不存在的值,由加速器来处理流量)
- 通过 IkaGo-web,一个相关联的前端项目,监控网络流量
- 多路复用、跨平台、Full Cone NAT 、加密、KCP 支持……
与市面上的加速器的比较
- IkaGo 将所有支持的包通过 FakeTCP 转换为 TCP 包,绕过 UDP 封锁与 UDP QoS
- 多路复用使得多个主机可以一同被加速
- 免费(但你还是需要租用 VPS 等服务器)、启动快、无广告、跨平台、设置可自定义、开源……
一些不得不提的话
实际上,加速器最重要的是线路而不是技术,市面上的加速器使用的 IPLC 、专线等才是其作为加速器最重要的部分。如果想要真的好好游戏,还是建议选择市面上的产品比较好。
从本质上看,IkaGo 可以通过串联代理 ARP 、代理以及 Udp2raw-tunnel 来实现,IkaGo 从某种意义上只是简化了大量的中间流程,使得只需要简单的部署就能完成主机加速。
IkaGo 之所以这样命名,是因为和自己喜欢的游戏有关,イカ+ Go 。
项目地址
- IkaGo https://github.com/zhxie/ikago
- IkaGo-web https://github.com/zhxie/ikago-web
希望 IkaGo 能帮助到需要解决联机游戏问题的你