-
下载
git clone https://github.com/spencer404/v2ray-api.git
-
安装依赖
pip3.6 install grpcio grpcio-tools
-
编译proto到v2ray目录(此步可忽略,默认为v3.41)
cd v2ray-api # 下载v2ray-core源码 git clone https://github.com/v2ray/v2ray-core.git # 清空旧的v2ray目录 rm -rf v2ray mkdir v2ray # 编译到v2ray目录 python3.6 compile.py -s v2ray-core -d .
import uuid
from client import Client, VMessInbound
# 创建连接
c = Client("example.com", 8080)
# 上行流量(字节)
# 若未产生流量或email有误,返回None
c.get_user_traffic_uplink('[email protected]')
# 下行流量(字节)
# 若未产生流量或email有误,返回None
c.get_user_traffic_downlink('[email protected]')
# 在一个传入连接中添加一个用户(仅支持 VMess)
# 若用户不存在,抛出EmailExistsError异常
# 若inbound_tag不存在,抛出InboundNotFoundError异常
c.add_user('inbound_tag', uuid.uuid4().hex, '[email protected]', 0, 32)
# 在一个传入连接中删除一个用户(仅支持 VMess)
# 若用户不存在,抛出EmailNotFoundError异常
# 若inbound_tag不存在,抛出InboundNotFoundError异常
c.remove_user('inbound_tag', '[email protected]')
# 增加传入连接
# 若端口已被占用,抛出AddressAlreadyInUseError异常
vmess = VMessInbound(
{
'email': '[email protected]',
'level': 0,
'alter_id': 16,
'user_id': uuid.uuid4().hex
}
)
c.add_inbound("inbound_tag", '0.0.0.0', 9002, vmess)
# 移除传入连接
# 若inbound_tag不存在,抛出InboundNotFoundError异常
c.remove_inbound("inbound_tag")