WebApi 基础部分

本章涉及一些基础的后端与面板通讯所用Api

功能介绍

对应后端程序

  • 不同后端有其对应的链接;

  • 其中对应后端程序分别:ss,ssr,v2ray,trojan;

  • 正确链接也可通过访问 Route 文件获得;

功能:CoreController

本章节重点为所有WebApi都会使用的通用方程内容:包含上报节点心跳信息,在线人数,用户流量使用情况,节点的审计规则获取与触发审计后的上报。

新特性:所有的发送的Get请求数据都会在 header头部 带有ETAG属性,用与请求header('IF-NONE-MATCH') 进行对比减少重复信息交互。

$etag = sha1(json_encode($data))

注意

  • 节点后端与面板使用的时间误差不应该超过5分钟,否则API授权验证失败;

  • required 字段必须存在,后端可以多提供信息,但不能缺失required 字段,面板可以按需添加其他字段;

上报节点心跳信息

POST https://api.proxypanel.ml/api/{后端}/v1/nodeStatus/:id

后端周期性(每分钟)上传节点信息

Path Parameters

Name
Type
Description

id*

number

节点ID:int(10) unsigned

Headers

Name
Type
Description

key*

string

由管理后台线路系统,线路授权处取得授权密钥

timestamp*

number

每次请求的10位时间戳

Request Body

Name
Type
Description

cpu*

string

cpu负载

mem*

string

内存负载

net*

string

网络负载

disk*

string

磁盘情况

uptime*

number

后端存活时长(单位:秒)

传入参数示例

上报节点在线信息

POST https://api.proxypanel.ml/api/{后端}/v1/nodeOnline/:id

后端周期性(每分钟)上传节点在线信息

Path Parameters

Name
Type
Description

id*

integer

节点ID:int(10) unsigned

Headers

Name
Type
Description

key*

string

由管理后台线路系统,线路授权处取得授权密钥

timestamp*

integer

每次请求的10位时间戳

Request Body

Name
Type
Description

uid*

integer

用户ID

ip*

string

在线IP

传入参数示例

上报用户流量日志

POST https://api.proxypanel.ml/api/{后端}/v1/userTraffic/:id

后端周期性(每分钟)上传用户流量日志

Path Parameters

Name
Type
Description

id*

integer

节点ID:int(10) unsigned

Headers

Name
Type
Description

key*

string

由管理后台线路系统,线路授权处取得授权密钥

timestamp*

integer

每次请求的10位时间戳

Request Body

Name
Type
Description

uid*

integer

用户ID

upload*

integer

上传

download*

integer

下载

传入参数示例

获取节点的审计规则

GET https://api.proxypanel.ml/api/{后端}/v1/nodeRule/:id

后端启动和重载时获取对应节点的审计规则

Path Parameters

Name
Type
Description

id*

integer

节点ID:int(10) unsigned

Headers

Name
Type
Description

key*

string

由管理后台线路系统,线路授权处取得授权密钥

timestamp*

integer

每次请求的10位时间戳

上报用户触发审计规则记录

POST https://api.proxypanel.ml/api/{后端}/v1/trigger/:id

用户触发则实时上报,后端需要过滤用户在5~10分钟内的重复访问(例:10分钟内反复触发仅上报一次)

Path Parameters

Name
Type
Description

id*

integer

节点ID:int(10) unsigned

Headers

Name
Type
Description

key*

string

由管理后台线路系统,线路授权处取得授权密钥

timestamp*

integer

每次请求的10位时间戳

Request Body

Name
Type
Description

uid*

integer

用户ID

rule_id*

integer

规则ID

reason*

integer

触发原因

传入参数示例

最后更新于

这有帮助吗?