v2ray-apiproxy
v2ray grpc api proxy
为什么做这个项目
因为 v2ray 的远程控制不好调用,得再套一层才好用, 所以就做了这个项目
依赖
- v2ray 4.14.0 版本以上, 需要在环境变量里存在或者指定路径
运行
建议在 docker
中运行, 因为跑起来会占用大量 tcp
端口, 难免会有冲突。
不过可以通过合理设置端口上下限来规避, 例如:设置使用端口 13000-15000
构建
// todo
接口
关于接口为什么用 grpc
反正调用 v2ray 接口也需要的,不如也用 grpc 了,而且性能还不错
接口
apiproxy.add(vnext):(port)
添加一个新的代理连接,返回一个代理端口,不保证这个代理连接是通的,需要调用方自己做检测
代理端口有可能被重置为另外一个端口号, 所以每次调用的时候都要请求这个接口获取最新的端口。
如果代理端口频繁被重置的话,表示你需要设置更大的端口范围
程序运行架构
启动两个 v2ray 进程,两个进程各占据配置好的端口的一半,当一个进程使用
的端口达到了 75% 的时候就会把另外一个进程给重启(避免v2ray的路由规则更新不及时),
用于后续的代理连接