Files
pyGoEdge-UserPanel/reference/goedge 文档/NSClusterService.md
2025-11-18 03:36:49 +08:00

18 KiB
Raw Permalink Blame History

NSClusterService

域名服务集群相关服务


countAllNSClusters

计算所有可用集群的数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/countAllNSClusters
  • RPCrpc countAllNSClusters (CountAllNSClustersRequest) returns (RPCCountResponse);

请求对象 (CountAllNSClustersRequest)

{}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/countAllNSClusters" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllNSClustersWithSSLCertId

计算使用某个SSL证书的集群数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/countAllNSClustersWithSSLCertId
  • RPCrpc countAllNSClustersWithSSLCertId (CountAllNSClustersWithSSLCertIdRequest) returns (RPCCountResponse);

请求对象 (CountAllNSClustersWithSSLCertIdRequest)

{
  "sslCertId": "int64"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/countAllNSClustersWithSSLCertId" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

createNSCluster

创建集群

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/createNSCluster
  • RPCrpc createNSCluster (CreateNSClusterRequest) returns (CreateNSClusterResponse);

请求对象 (CreateNSClusterRequest)

{
  "name": "string // 名称",
  "accessLogJSON": "bytes",
  "hosts": "[]string",
  "soaJSON": "bytes",
  "email": "string"
}

响应对象 (CreateNSClusterResponse)

{
  "nsClusterId": "int64"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/createNSCluster" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

deleteNSCluster

删除集群

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/deleteNSCluster
  • RPCrpc deleteNSCluster (DeleteNSCluster) returns (RPCSuccess);

请求对象 (DeleteNSCluster)

{
  "nsClusterId": "int64"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/deleteNSCluster" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAllNSClusters

查找所有可用集群

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findAllNSClusters
  • RPCrpc findAllNSClusters (FindAllNSClustersRequest) returns (FindAllNSClustersResponse);

请求对象 (FindAllNSClustersRequest)

{}

响应对象 (FindAllNSClustersResponse)

{
  "nsClusters": "[]NSCluster"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findAllNSClusters" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findAvailableNSHostsForUser

查找用户可以使用的主机地址

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findAvailableNSHostsForUser
  • RPCrpc findAvailableNSHostsForUser(FindAvailableNSHostsForUserRequest) returns (FindAvailableNSHostsForUserResponse);

请求对象 (FindAvailableNSHostsForUserRequest)

{
  "userId": "int64 // 用户ID"
}

响应对象 (FindAvailableNSHostsForUserResponse)

{
  "hosts": "[]string"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findAvailableNSHostsForUser" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSCluster

查找单个可用集群信息

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSCluster
  • RPCrpc findNSCluster (FindNSClusterRequest) returns (FindNSClusterResponse);

请求对象 (FindNSClusterRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterResponse)

{
  "nsCluster": "NSCluster"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSCluster" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterAccessLog

查找集群访问日志配置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterAccessLog
  • RPCrpc findNSClusterAccessLog (FindNSClusterAccessLogRequest) returns (FindNSClusterAccessLogResponse);

请求对象 (FindNSClusterAccessLogRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterAccessLogResponse)

{
  "AccessLogJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterAccessLog" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterAnswerConfig

查找应答模式

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterAnswerConfig
  • RPCrpc findNSClusterAnswerConfig(FindNSClusterAnswerConfigRequest) returns (FindNSClusterAnswerConfigResponse);

请求对象 (FindNSClusterAnswerConfigRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterAnswerConfigResponse)

{
  "answerJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterAnswerConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterDDoSProtection

获取NS集群的DDoS设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterDDoSProtection
  • RPCrpc findNSClusterDDoSProtection(FindNSClusterDDoSProtectionRequest) returns (FindNSClusterDDoSProtectionResponse);

请求对象 (FindNSClusterDDoSProtectionRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterDDoSProtectionResponse)

{
  "ddosProtectionJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterDDoSProtection" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterDoHConfig

查找集群的DoH设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterDoHConfig
  • RPCrpc findNSClusterDoHConfig(FindNSClusterDoHConfigRequest) returns (FindNSClusterDoHConfigResponse);

请求对象 (FindNSClusterDoHConfigRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterDoHConfigResponse)

{
  "dohJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterDoHConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterHosts

查找NS集群的主机地址

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterHosts
  • RPCrpc findNSClusterHosts(FindNSClusterHostsRequest) returns (FindNSClusterHostsResponse);

请求对象 (FindNSClusterHostsRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterHostsResponse)

{
  "hosts": "[]string"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterHosts" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterRecursionConfig

读取递归DNS配置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterRecursionConfig
  • RPCrpc findNSClusterRecursionConfig(FindNSClusterRecursionConfigRequest) returns (FindNSClusterRecursionConfigResponse);

请求对象 (FindNSClusterRecursionConfigRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterRecursionConfigResponse)

{
  "recursionJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterRecursionConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterSOAConfig

查找SOA配置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterSOAConfig
  • RPCrpc findNSClusterSOAConfig(FindNSClusterSOAConfigRequest) returns (FindNSClusterSOAConfigResponse);

请求对象 (FindNSClusterSOAConfigRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterSOAConfigResponse)

{
  "soaJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterSOAConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterTCPConfig

查找集群的TCP设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterTCPConfig
  • RPCrpc findNSClusterTCPConfig(FindNSClusterTCPConfigRequest) returns (FindNSClusterTCPConfigResponse);

请求对象 (FindNSClusterTCPConfigRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterTCPConfigResponse)

{
  "tcpJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterTCPConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterTLSConfig

查找集群的TLS设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterTLSConfig
  • RPCrpc findNSClusterTLSConfig(FindNSClusterTLSConfigRequest) returns (FindNSClusterTLSConfigResponse);

请求对象 (FindNSClusterTLSConfigRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterTLSConfigResponse)

{
  "tlsJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterTLSConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSClusterUDPConfig

查找集群的UDP设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/findNSClusterUDPConfig
  • RPCrpc findNSClusterUDPConfig(FindNSClusterUDPConfigRequest) returns (FindNSClusterUDPConfigResponse);

请求对象 (FindNSClusterUDPConfigRequest)

{
  "nsClusterId": "int64"
}

响应对象 (FindNSClusterUDPConfigResponse)

{
  "udpJSON": "bytes"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/findNSClusterUDPConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

listNSClusters

列出单页可用集群

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/listNSClusters
  • RPCrpc listNSClusters (ListNSClustersRequest) returns (ListNSClustersResponse);

请求对象 (ListNSClustersRequest)

{
  "offset": "int64 // 读取位置",
  "size": "int64 // 数量通常不能小于0"
}

响应对象 (ListNSClustersResponse)

{
  "nsClusters": "[]NSCluster"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/listNSClusters" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSCluster

修改集群

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSCluster
  • RPCrpc updateNSCluster (UpdateNSClusterRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterRequest)

{
  "nsClusterId": "int64",
  "name": "string // 名称",
  "isOn": "bool // 是否启用",
  "hosts": "[]string",
  "email": "string",
  "autoRemoteStart": "bool",
  "timeZone": "string",
  "detectAgents": "bool",
  "checkingPorts": "bool // 是否检查端口连通性(目前仅在节点列表上)"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSCluster" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSClusterAccessLog

修改集群访问日志配置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSClusterAccessLog
  • RPCrpc updateNSClusterAccessLog (UpdateNSClusterAccessLogRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterAccessLogRequest)

{
  "nsClusterId": "int64",
  "accessLogJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSClusterAccessLog" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSClusterAnswerConfig

设置应答模式

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSClusterAnswerConfig
  • RPCrpc updateNSClusterAnswerConfig(UpdateNSClusterAnswerConfigRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterAnswerConfigRequest)

{
  "nsClusterId": "int64",
  "answerJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSClusterAnswerConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSClusterDDoSProtection

修改NS集群的DDoS设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSClusterDDoSProtection
  • RPCrpc updateNSClusterDDoSProtection(UpdateNSClusterDDoSProtectionRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterDDoSProtectionRequest)

{
  "nsClusterId": "int64",
  "ddosProtectionJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSClusterDDoSProtection" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSClusterDoH

修改集群的DoH设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSClusterDoH
  • RPCrpc updateNSClusterDoH (UpdateNSClusterDoHRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterDoHRequest)

{
  "nsClusterId": "int64",
  "dohJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSClusterDoH" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSClusterRecursionConfig

设置递归DNS配置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSClusterRecursionConfig
  • RPCrpc updateNSClusterRecursionConfig(UpdateNSClusterRecursionConfigRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterRecursionConfigRequest)

{
  "nsClusterId": "int64",
  "recursionJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSClusterRecursionConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSClusterSOAConfig

设置SOA配置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSClusterSOAConfig
  • RPCrpc updateNSClusterSOAConfig(UpdateNSClusterSOAConfigRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterSOAConfigRequest)

{
  "nsClusterId": "int64",
  "soaJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSClusterSOAConfig" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSClusterTCP

修改集群的TCP设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSClusterTCP
  • RPCrpc updateNSClusterTCP (UpdateNSClusterTCPRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterTCPRequest)

{
  "nsClusterId": "int64",
  "tcpJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSClusterTCP" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSClusterTLS

修改集群的TLS设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSClusterTLS
  • RPCrpc updateNSClusterTLS (UpdateNSClusterTLSRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterTLSRequest)

{
  "nsClusterId": "int64",
  "tlsJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSClusterTLS" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSClusterUDP

修改集群的UDP设置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSClusterService/updateNSClusterUDP
  • RPCrpc updateNSClusterUDP (UpdateNSClusterUDPRequest) returns (RPCSuccess);

请求对象 (UpdateNSClusterUDPRequest)

{
  "nsClusterId": "int64",
  "udpJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSClusterService/updateNSClusterUDP" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'