14 KiB
NSNodeService
域名服务器节点服务
checkNSNodeLatestVersion
检查NS节点新版本
- 角色:
dns,admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/checkNSNodeLatestVersion - RPC:
rpc checkNSNodeLatestVersion (CheckNSNodeLatestVersionRequest) returns (CheckNSNodeLatestVersionResponse);
请求对象 (CheckNSNodeLatestVersionRequest)
{
"os": "string",
"arch": "string",
"currentVersion": "string"
}
响应对象 (CheckNSNodeLatestVersionResponse)
{
"hasNewVersion": "bool",
"newVersion": "string"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/checkNSNodeLatestVersion" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
countAllNSNodes
所有可用的NS节点数量
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/countAllNSNodes - RPC:
rpc countAllNSNodes (CountAllNSNodesRequest) returns (RPCCountResponse);
请求对象 (CountAllNSNodesRequest)
{}
响应对象 (RPCCountResponse)
{
"count": "int64 // 数量"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/countAllNSNodes" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
countAllNSNodesMatch
计算匹配的NS节点数量
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/countAllNSNodesMatch - RPC:
rpc countAllNSNodesMatch (CountAllNSNodesMatchRequest) returns (RPCCountResponse);
请求对象 (CountAllNSNodesMatchRequest)
{
"nsClusterId": "int64",
"installState": "int32",
"activeState": "int32",
"keyword": "string // int64 nodeGroupId = 5;",
"nodeRegionId": "int64"
}
响应对象 (RPCCountResponse)
{
"count": "int64 // 数量"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/countAllNSNodesMatch" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
countAllUpgradeNSNodesWithNSClusterId
计算需要升级的NS节点数量
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/countAllUpgradeNSNodesWithNSClusterId - RPC:
rpc countAllUpgradeNSNodesWithNSClusterId (CountAllUpgradeNSNodesWithNSClusterIdRequest) returns (RPCCountResponse);
请求对象 (CountAllUpgradeNSNodesWithNSClusterIdRequest)
{
"nsClusterId": "int64"
}
响应对象 (RPCCountResponse)
{
"count": "int64 // 数量"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/countAllUpgradeNSNodesWithNSClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
createNSNode
创建NS节点
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/createNSNode - RPC:
rpc createNSNode (CreateNSNodeRequest) returns (CreateNSNodeResponse);
请求对象 (CreateNSNodeRequest)
{
"name": "string // 名称",
"nodeClusterId": "int64 // 集群ID",
"nodeLogin": "NodeLogin"
}
响应对象 (CreateNSNodeResponse)
{
"nsNodeId": "int64"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/createNSNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
deleteNSNode
删除NS节点
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/deleteNSNode - RPC:
rpc deleteNSNode (DeleteNSNodeRequest) returns (RPCSuccess);
请求对象 (DeleteNSNodeRequest)
{
"nsNodeId": "int64"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/deleteNSNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findAllNSNodesWithNSClusterId
根据集群查找所有NS节点
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/findAllNSNodesWithNSClusterId - RPC:
rpc findAllNSNodesWithNSClusterId (FindAllNSNodesWithNSClusterIdRequest) returns (FindAllNSNodesWithNSClusterIdResponse);
请求对象 (FindAllNSNodesWithNSClusterIdRequest)
{
"nsClusterId": "int64"
}
响应对象 (FindAllNSNodesWithNSClusterIdResponse)
{
"nsNodes": "[]NSNode"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/findAllNSNodesWithNSClusterId" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findLatestNSNodeVersion
获取NS节点最新版本
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/findLatestNSNodeVersion - RPC:
rpc findLatestNSNodeVersion (FindLatestNSNodeVersionRequest) returns (FindLatestNSNodeVersionResponse);
请求对象 (FindLatestNSNodeVersionRequest)
{}
响应对象 (FindLatestNSNodeVersionResponse)
{
"version": "string"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/findLatestNSNodeVersion" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findNSNode
获取单个NS节点信息
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/findNSNode - RPC:
rpc findNSNode (FindNSNodeRequest) returns (FindNSNodeResponse);
请求对象 (FindNSNodeRequest)
{
"nsNodeId": "int64"
}
响应对象 (FindNSNodeResponse)
{
"nsNode": "NSNode"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/findNSNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findNSNodeAPIConfig
查找单个节点的API相关配置
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/findNSNodeAPIConfig - RPC:
rpc findNSNodeAPIConfig(FindNSNodeAPIConfigRequest) returns (FindNSNodeAPIConfigResponse);
请求对象 (FindNSNodeAPIConfigRequest)
{
"nsNodeId": "int64"
}
响应对象 (FindNSNodeAPIConfigResponse)
{
"apiNodeAddrsJSON": "bytes"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/findNSNodeAPIConfig" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findNSNodeDDoSProtection
获取NS节点的DDoS设置
- 角色:
admin,dns - HTTP:
POST https://backend.dooki.cloud/NSNodeService/findNSNodeDDoSProtection - RPC:
rpc findNSNodeDDoSProtection(FindNSNodeDDoSProtectionRequest) returns (FindNSNodeDDoSProtectionResponse);
请求对象 (FindNSNodeDDoSProtectionRequest)
{
"nsNodeId": "int64"
}
响应对象 (FindNSNodeDDoSProtectionResponse)
{
"ddosProtectionJSON": "bytes"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/findNSNodeDDoSProtection" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
findNSNodeInstallStatus
读取NS节点安装状态
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/findNSNodeInstallStatus - RPC:
rpc findNSNodeInstallStatus (FindNSNodeInstallStatusRequest) returns (FindNSNodeInstallStatusResponse);
请求对象 (FindNSNodeInstallStatusRequest)
{
"nsNodeId": "int64"
}
响应对象 (FindNSNodeInstallStatusResponse)
{
"installStatus": "NodeInstallStatus"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/findNSNodeInstallStatus" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
installNSNode
安装NS节点
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/installNSNode - RPC:
rpc installNSNode (InstallNSNodeRequest) returns (InstallNSNodeResponse);
请求对象 (InstallNSNodeRequest)
{
"nsNodeId": "int64"
}
响应对象 (InstallNSNodeResponse)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/installNSNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
listNSNodesMatch
列出单页NS节点
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/listNSNodesMatch - RPC:
rpc listNSNodesMatch (ListNSNodesMatchRequest) returns (ListNSNodesMatchResponse);
请求对象 (ListNSNodesMatchRequest)
{
"offset": "int64 // 读取位置",
"size": "int64 // 数量,通常不能小于0",
"nsClusterId": "int64",
"installState": "int32",
"activeState": "int32",
"keyword": "string // int64 nodeGroupId = 7;",
"nodeRegionId": "int64"
}
响应对象 (ListNSNodesMatchResponse)
{
"nsNodes": "[]NSNode"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/listNSNodesMatch" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
sendCommandToNSNode
向NS节点发送命令
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/sendCommandToNSNode - RPC:
rpc sendCommandToNSNode (NSNodeStreamMessage) returns (NSNodeStreamMessage);
请求对象 (NSNodeStreamMessage)
{
"nsNodeId": "int64",
"requestId": "int64",
"timeoutSeconds": "int32",
"code": "string",
"dataJSON": "bytes",
"isOk": "bool",
"message": "string"
}
响应对象 (NSNodeStreamMessage)
{
"nsNodeId": "int64",
"requestId": "int64",
"timeoutSeconds": "int32",
"code": "string",
"dataJSON": "bytes",
"isOk": "bool",
"message": "string"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/sendCommandToNSNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
startNSNode
启动NS节点
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/startNSNode - RPC:
rpc startNSNode (StartNSNodeRequest) returns (StartNSNodeResponse);
请求对象 (StartNSNodeRequest)
{
"nsNodeId": "int64"
}
响应对象 (StartNSNodeResponse)
{
"isOk": "bool",
"error": "string"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/startNSNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
stopNSNode
停止NS节点
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/stopNSNode - RPC:
rpc stopNSNode (StopNSNodeRequest) returns (StopNSNodeResponse);
请求对象 (StopNSNodeRequest)
{
"nsNodeId": "int64"
}
响应对象 (StopNSNodeResponse)
{
"isOk": "bool",
"error": "string"
}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/stopNSNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateNSNode
修改NS节点
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/updateNSNode - RPC:
rpc updateNSNode (UpdateNSNodeRequest) returns (RPCSuccess);
请求对象 (UpdateNSNodeRequest)
{
"nsNodeId": "int64",
"name": "string // 名称",
"nsClusterId": "int64",
"nodeLogin": "NodeLogin",
"isOn": "bool // 是否启用"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/updateNSNode" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateNSNodeAPIConfig
修改某个节点的API相关配置
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/updateNSNodeAPIConfig - RPC:
rpc updateNSNodeAPIConfig(UpdateNSNodeAPIConfigRequest) returns (RPCSuccess);
请求对象 (UpdateNSNodeAPIConfigRequest)
{
"nsNodeId": "int64",
"apiNodeAddrsJSON": "bytes"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/updateNSNodeAPIConfig" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateNSNodeDDoSProtection
修改NS节点的DDoS设置
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/updateNSNodeDDoSProtection - RPC:
rpc updateNSNodeDDoSProtection(UpdateNSNodeDDoSProtectionRequest) returns (RPCSuccess);
请求对象 (UpdateNSNodeDDoSProtectionRequest)
{
"nsNodeId": "int64",
"ddosProtectionJSON": "bytes"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/updateNSNodeDDoSProtection" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateNSNodeIsInstalled
修改NS节点安装状态
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/updateNSNodeIsInstalled - RPC:
rpc updateNSNodeIsInstalled (UpdateNSNodeIsInstalledRequest) returns (RPCSuccess);
请求对象 (UpdateNSNodeIsInstalledRequest)
{
"nsNodeId": "int64",
"isInstalled": "bool"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/updateNSNodeIsInstalled" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'
updateNSNodeLogin
修改NS节点登录信息
- 角色:
admin - HTTP:
POST https://backend.dooki.cloud/NSNodeService/updateNSNodeLogin - RPC:
rpc updateNSNodeLogin (UpdateNSNodeLoginRequest) returns (RPCSuccess);
请求对象 (UpdateNSNodeLoginRequest)
{
"nsNodeId": "int64",
"nodeLogin": "NodeLogin"
}
响应对象 (RPCSuccess)
{}
调用示例
curl -X POST "https://backend.dooki.cloud/NSNodeService/updateNSNodeLogin" \
-H "Content-Type: application/json" \
-H "X-Edge-Access-Token: <YOUR_TOKEN>" \
-d '{
...
}'