-
Notifications
You must be signed in to change notification settings - Fork 12
REST API
ByteInternetHK edited this page Sep 3, 2021
·
14 revisions
全部接口GET请求参数均为url params 参数, & 拼接, POST请求均以json格式传输
参数均以小驼峰方式命名
对接的节点key需携带在header中的key字段
此接口需根据具体后端节点类型去请求对应类型的接口
GET /api/node
参数名称 | 参数类型 | 是否必须 | 备注 |
---|---|---|---|
type | string | true | 节点类型,类型见下方 |
nodeId | number | true | 节点id |
type为以下值
- ss
- v2ray
- trojan
请求参数格式参考如下
?type=ss&nodeId=1
返回值根据具体的节点类型有不同字段返回值,分别返回如下格式
ss
{
"ret": 200,
"data": {
"method": "aes-256-gcm",
"id": 1,
"name": "test_ss",
"outServer": "test.ss.com",
"outPort": 8080,
"subServer": "test.ss.com",
"subPort": 8080,
"trafficRate": 1.0,
"clazz": 1,
"speedlimit": 0,
"heartbeat": "2021-07-30 21:15:23",
"flag": true
}
}
v2ray
{
"ret": 200,
"data": {
"alterId": 2,
"network": "ws",
"security": "none",
"host": "www.iqiyi.com",
"path": "/video",
"id": 1,
"name": "test_v2ray",
"outServer": "test.v2ray.com",
"outPort": 443,
"subServer": "test.v2ray.com",
"subPort": 443,
"trafficRate": 1.0,
"clazz": 1,
"speedlimit": 0,
"heartbeat": "2021-07-25 22:10:19",
"flag": true
}
}
trojan
{
"ret": 200,
"data": {
"grpc": false,
"id": 1,
"name": "test_trojan",
"outServer": "test.trojan.com",
"outPort": 443,
"subServer": "test.trojan.com",
"subPort": 443,
"trafficRate": 1.0,
"clazz": 1,
"speedlimit": 0,
"heartbeat": "2021-07-30 20:38:53",
"flag": true
}
}
GET /api/users
参数名称 | 参数类型 | 是否必须 | 备注 |
---|---|---|---|
type | string | true | 节点类型 |
nodeId | number | true | 节点id |
all | boolean | false | 是否请求所有用户数据 |
请求参数格式参考如下
?type=trojan&nodeId=1&all=true
返回参数格式参考如下
{
"ret": 200,
"data": {
"addOrUpdate": [
{
"passwd": "ed53a867-6d63-3884-bd0c-bd72680eda70",
"speedlimit": 0,
"id": 1
},
{
"passwd": "cd0b7da0-9353-3a26-a2a3-e14e868a2304",
"speedlimit": 0,
"id": 2
}
],
"delete": [
{
"id": 3
}
]
}
}
GET /api/rules
参数名称 | 参数类型 | 是否必须 | 备注 |
---|---|---|---|
type | string | true | 节点类型 |
nodeId | number | true | 节点id |
请求参数格式参考如下
?type=ss&nodeId=1
返回参数格式参考如下
{
"ret": 200,
"data": [
{
"id": 1,
"name": "test1",
"regex": "test1",
"type": 1
},
{
"id": 2,
"name": "test2",
"regex": "test2",
"type": 1
}
]
}
此接口需根据具体后端去请求对应类型的接口
POST /api/traffic
参数名称 | 参数类型 | 是否必须 | 备注 |
---|---|---|---|
type | string | true | 节点类型,类型见下方 |
nodeId | number | true | 节点id |
users | list | true | 本次用户流量,类型见下方 |
type为以下值
- ss
- v2ray
- trojan
users的json为以下格式
参数名称 | 参数类型 | 是否必须 | 备注 |
---|---|---|---|
id | number | true | 用户id |
up | number | true | 本次上传流量 |
down | number | true | 本次下载流量 |
ip | string | true | 本次连接ip |
请求参数格式参考如下
{
"type": "ss",
"nodeId": 1,
"users": [
{
"id": 1,
"up": 1024,
"down": 1024,
"ip": "1.1.1.1"
}
]
}
返回参数参考如下
{
"ret": 200,
"data": {}
}
POST /api/online
参数名称 | 参数类型 | 是否必须 | 备注 |
---|---|---|---|
type | string | true | 节点类型,类型见下方 |
nodeId | number | true | 节点id |
onlines | list | true | 本次用户在线ip,类型见下方 |
type为以下值
- ss
- v2ray
- trojan
onlines的json为以下格式
参数名称 | 参数类型 | 是否必须 | 备注 |
---|---|---|---|
user_id | number | true | 用户id |
ip | string | true | 本次连接ip |
请求参数格式参考如下
{
"type": "ss",
"nodeId": 1,
"onlines": [
{
"user_id": 1,
"ip": "1.1.1.1"
}
]
}
返回参数参考如下
{
"ret": 200,
"data": {}
}