Skip to content

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": {}
}

上报在线IP接口

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": {}
}
Clone this wiki locally