apiproxy

package module
v0.0.0-...-abbf249 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2019 License: MPL-2.0 Imports: 0 Imported by: 0

README

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的路由规则更新不及时), 用于后续的代理连接

Documentation

Index

Constants

View Source
const APIEmail string = "api@v2ray.localhost"

APIEmail common api email

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	PortStart uint16
	PortRange uint16
}

Config apiproxy

type ProcInfo

type ProcInfo struct {
	Config
	PortController  uint16
	PortTest        uint16
	PortCheckServer uint16
	PortCursor      uint16
}

ProcInfo of controller

Directories

Path Synopsis
cmd
pb

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL