分享自己用 Go 写的游戏加速器 IkaGo

2020-05-16 16:45:27 +08:00
 Sketch

作为在校学生以及任系玩家,闲暇时间一直在 Switch 上玩,但平台上的数款游戏的联机都是玩家间各自通过 UDP 连接完成的。如果没有稳定的 UDP 环境,或者 NAT 类型不佳的话可能就只能享受单机。其中一个简单的解决途径便是使用加速器,但因为不想花钱,所以我就自己实现了一个。

IkaGo

IkaGo 是一个以 Go 语言撰写的,用于绕过 UDP 封锁、UDP QoS 以及 NAT 防火墙的代理。

附上程序框图:

特性

与市面上的加速器的比较

一些不得不提的话

实际上,加速器最重要的是线路而不是技术,市面上的加速器使用的 IPLC 、专线等才是其作为加速器最重要的部分。如果想要真的好好游戏,还是建议选择市面上的产品比较好。

从本质上看,IkaGo 可以通过串联代理 ARP 、代理以及 Udp2raw-tunnel 来实现,IkaGo 从某种意义上只是简化了大量的中间流程,使得只需要简单的部署就能完成主机加速。

IkaGo 之所以这样命名,是因为和自己喜欢的游戏有关,イカ+ Go 。

项目地址


希望 IkaGo 能帮助到需要解决联机游戏问题的你 😊

14461 次点击
所在节点    分享创造
72 条回复
liuxu
2020-05-17 12:50:40 +08:00
我用下试试
Nostopping
2020-05-17 12:59:37 +08:00
@Sketch 26 楼的例子 client 是运行在路由器上的吗?如果我是 win 下运行 client 并且想代理本机流量应该怎么设置?
在 win 下我 client -r 本机 ip -s 服务器 ip 这样运行就会不停的 send error: PacketSendPacket failed
Sketch
2020-05-17 13:07:37 +08:00
@Nostopping #26 的例子是运行在电脑上的。由于某些众所周知的原因,IkaGo 并不能用于代理本地流量的,它实现的是类似市面上加速器“主机加速”的功能。如果要代理本地流量,Windows 的话可以用某些通过 PID 筛选流量的代理软件 : )
longgediyi999
2020-05-17 14:05:41 +08:00
可以加速 PUBG 吗楼主
Sketch
2020-05-17 14:27:01 +08:00
@longgediyi999 理论上 IkaGo 可以代理来自指定源地址所有支持的流量,但也如同 #43 所说的,是无法代理本地流量的,如果要代理 PC 游戏,那么需要再另一台设备上启动 IkaGo 。IkaGo 设计之初就是为主机游戏,Switch 或是 PS4 上的游戏,加速的。另外,正如我一再提及,加速器最重要的其实是线路,所以如果想要认真玩游戏可能还是选择市面上的加速器比较好。
MartinWu
2020-05-17 14:52:59 +08:00
一股淡淡的 geek 意味。。强。
simpx
2020-05-17 15:39:49 +08:00
看了下 github 主页,是浙大学弟啊

学弟大几了,有没有兴趣看看实习
CheekiBreeki
2020-05-17 16:12:49 +08:00
很強,先 star
leetao94
2020-05-18 09:06:19 +08:00
果然兴趣是第一驱动力~~
KickAssTonight
2020-05-18 09:51:15 +08:00
支持!
pzh
2020-05-18 12:04:32 +08:00
内测人员前来支持🎉
表示内测时被 intel 网卡驱动和 winpcap 折腾够呛(微星垃圾驱动)
latteczy
2020-05-18 12:14:07 +08:00
加密是为了绕过 GFW 的探测么?
Themyth
2020-05-18 12:32:16 +08:00
请问能否 n2n on IkaGo?
或者 openvpn on IkaGo?
谢谢
Sketch
2020-05-18 12:35:49 +08:00
@latteczy 只能是,加密是为了包的完整性,设计 IkaGo 的目的仅仅只是游戏加速。
Sketch
2020-05-18 12:44:13 +08:00
@Themyth IkaGo 的本质是代理 ARP + 代理 + Udp2raw-tunnel 。事实上,可以把 IkaGo 的代理 ARP 部分剥离出来,这样就可以接其他的代理了。目前,如果 OpenVPN 的下一级是 IkaGo 的话,可以是可以,但事实上做了代理( OpenVPN )+ 代理 ARP + 代理( IkaGo )+ FakeTCP,有点浪费。
Themyth
2020-05-18 13:26:02 +08:00
@Sketch 是的,那 IKAGO 默认启用了 Kcp 吗
Sketch
2020-05-18 13:34:20 +08:00
@Themyth 默认情况下,IkaGo 不使用 KCP 和加密,只使用 FakeTCP,因为对于游戏加速而言已经足够了。
ohooooo
2020-05-18 14:52:17 +08:00
大神的气息。
killerirving
2020-05-20 09:46:22 +08:00
@Sketch 可以试试 travis 记得可以提供多系统环境
EasonSummer
2020-06-13 19:41:31 +08:00
如果交叉编译能支持 openwrt 嘛?

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

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

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

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

© 2021 V2EX