建议bitcomet支持proxy protocol v2

国内目前仍然有很多用户拿不到公网ip(包括我)。这个时候最佳的方法是搭建正向和反向代理让bitcomet的流量由公网vps转发(之所以不用linux版bitcomet是因为vps配置低跑不动,并且x11很卡)。

但是使用frp会导致连接地址全为127.0.0.1,严重影响反吸血效果,如图所示:

强烈建议bitcomet支持proxy protocol v2。该协议通过在tcp请求的开头添加一段二进制描述来指示真实来源地址。frp业已支持。希望bitcomet能够增加此功能(在设置里加一个开关来区分是否使用proxy protocol v2),以便使用frp代理流量拿公网地址时能够获取真实ip地址,确保反吸血效果。

相关资料(方便开发):
proxy protocol v1 / v2 详细介绍
frp官方文档 - 获取客户端真实ip地址

1個讚

想要支持proxy protocol v2,只需要在tcp连接成功后接受一次固定长度的数据并解析出真实地址即可。

协议内容如图所示:

建议:

此功能作为一个选项提供,一个比较可能的选项是【为来自指定ip的tcp连接启用proxy protocol v2解析

这样不仅可以增强安全性(防止未授权的远程地址利用这个协议绕过吸血保护),还能够提升检测效率(比如说frp挂在127.0.0.1上,那么固定解析127.0.0.1的数据包。如果127.0.0.1在tcp握手后,第一条消息不能解析出proxy protocol v2则丢弃该tcp连接,完全不需要智能解析tcp连接到底有没有传proxy protocol v2。来自其他地址的连接则完全不用理会proxy protocol v2即可)

至于为什么不需要支持udp(utp):使用这个功能意味着你尝试通过代理拿到公网地址,既然有公网地址了为什么还要utp打洞?