You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.5 KiB
2.5 KiB
API 接口
API 接口配置提供了一些基于 gRPC的 API 接口供远程调用。
可以通过 api 配置模块开启接口. 当 api 配置开启时,Xray 会自建一个出站代理,须手动将所有的 API 入站连接通过 路由规则配置 指向这一出站代理。
请参考本节中的 相关配置
::: warning 大多数用户并不会用到此 API,新手可以直接忽略这一项。 :::
ApiObject
ApiObject
对应配置文件的 api
项。
{
"api": {
"tag": "api",
"services": ["HandlerService", "LoggerService", "StatsService"]
}
}
tag
: string
出站代理标识。
services
: [string]
开启的 API 列表,可选的值见 API 列表。
相关配置
可以在 inbounds 配置中增加一个 api 的 inbound
"inbounds": [
{
"listen": "127.0.0.1",
"port": 10085,
"protocol": "dokodemo-door",
"settings": {
"address": "127.0.0.1"
},
"tag": "api"
}
]
在路由配置中增加针对 api inbound 的路由规则
"routing": {
"rules": [
{
"inboundTag": [
"api"
],
"outboundTag": "api",
"type": "field"
}
]
}
在基础配置中增加 api
"api": {
"tag": "api",
"services": [
"StatsService"
]
}
支持的 API 列表
HandlerService
一些对于入站出站代理进行修改的 API,可用的功能如下:
- 添加一个新的入站代理;
- 添加一个新的出站代理;
- 删除一个现有的入站代理;
- 删除一个现有的出站代理;
- 在一个入站代理中添加一个用户(仅支持 VMess、VLESS、Trojan、Shadowsocks(v1.3.0+));
- 在一个入站代理中删除一个用户(仅支持 VMess、VLESS、Trojan、Shadowsocks(v1.3.0+));
LoggerService
支持对内置 Logger 的重启,可配合 logrotate 进行一些对日志文件的操作。
StatsService
内置的数据统计服务,详见 统计信息。
ReflectionService
支持 gRPC 客户端获取服务端的 API 列表。
$ grpcurl -plaintext localhost:10085 list
grpc.reflection.v1alpha.ServerReflection
v2ray.core.app.proxyman.command.HandlerService
v2ray.core.app.stats.command.StatsService
xray.app.proxyman.command.HandlerService
xray.app.stats.command.StatsService
API 调用示例
Xray-API-documents @crossfw