Files
2025-11-18 03:36:49 +08:00

6.8 KiB
Raw Permalink Blame History

IPListService

IP列表


countAllEnabledIPLists

计算名单数量

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/IPListService/countAllEnabledIPLists
  • RPCrpc countAllEnabledIPLists (CountAllEnabledIPListsRequest) returns (RPCCountResponse);

请求对象 (CountAllEnabledIPListsRequest)

{
  "type": "string",
  "isPublic": "bool",
  "keyword": "string // 关键词"
}

响应对象 (RPCCountResponse)

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

调用示例

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

createIPList

创建IP列表

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/IPListService/createIPList
  • RPCrpc createIPList (CreateIPListRequest) returns (CreateIPListResponse);

请求对象 (CreateIPListRequest)

{
  "type": "string",
  "name": "string // 名称",
  "code": "string",
  "timeoutJSON": "bytes",
  "isPublic": "bool",
  "description": "string // 描述(备注)",
  "isGlobal": "bool",
  "serverId": "int64 // 服务ID网站ID"
}

响应对象 (CreateIPListResponse)

{
  "ipListId": "int64"
}

调用示例

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

deleteIPList

删除IP名单

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/IPListService/deleteIPList
  • RPCrpc deleteIPList (DeleteIPListRequest) returns (RPCSuccess);

请求对象 (DeleteIPListRequest)

{
  "ipListId": "int64"
}

响应对象 (RPCSuccess)

{}

调用示例

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

existsEnabledIPList

检查IPList是否存在

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/IPListService/existsEnabledIPList
  • RPCrpc existsEnabledIPList (ExistsEnabledIPListRequest) returns (ExistsEnabledIPListResponse);

请求对象 (ExistsEnabledIPListRequest)

{
  "ipListId": "int64"
}

响应对象 (ExistsEnabledIPListResponse)

{
  "exists": "bool"
}

调用示例

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

findEnabledIPList

查找IP列表信息

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/IPListService/findEnabledIPList
  • RPCrpc findEnabledIPList (FindEnabledIPListRequest) returns (FindEnabledIPListResponse);

请求对象 (FindEnabledIPListRequest)

{
  "ipListId": "int64"
}

响应对象 (FindEnabledIPListResponse)

{
  "ipList": "IPList"
}

调用示例

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

findEnabledIPListContainsIP

根据IP来搜索IP名单

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/IPListService/findEnabledIPListContainsIP
  • RPCrpc findEnabledIPListContainsIP(FindEnabledIPListContainsIPRequest) returns (FindEnabledIPListContainsIPResponse);

请求对象 (FindEnabledIPListContainsIPRequest)

{
  "ip": "string"
}

响应对象 (FindEnabledIPListContainsIPResponse)

{
  "ipLists": "[]IPList"
}

调用示例

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

findIPListIdWithCode

根据IP名单代号获取IP名单ID

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/IPListService/findIPListIdWithCode
  • RPCrpc findIPListIdWithCode(FindIPListIdWithCodeRequest) returns (FindIPListIdWithCodeResponse);

请求对象 (FindIPListIdWithCodeRequest)

{
  "code": "string // IP名单代号"
}

响应对象 (FindIPListIdWithCodeResponse)

{
  "ipListId": "int64 // IP名单ID"
}

调用示例

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

findServerIdWithIPListId

查找IP名单对应的网站ID

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/IPListService/findServerIdWithIPListId
  • RPCrpc findServerIdWithIPListId(FindServerIdWithIPListIdRequest) returns (FindServerIdWithIPListIdResponse);

请求对象 (FindServerIdWithIPListIdRequest)

{
  "ipListId": "int64 // IP名单ID"
}

响应对象 (FindServerIdWithIPListIdResponse)

{
  "serverId": "int64 // 网站ID如果是公共IP名单则对应的网站ID为0"
}

调用示例

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

listEnabledIPLists

列出单页名单

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/IPListService/listEnabledIPLists
  • RPCrpc listEnabledIPLists (ListEnabledIPListsRequest) returns (ListEnabledIPListsResponse);

请求对象 (ListEnabledIPListsRequest)

{
  "type": "string",
  "isPublic": "bool",
  "keyword": "string // 关键词",
  "offset": "int64 // 读取位置",
  "size": "int64 // 数量通常不能小于0"
}

响应对象 (ListEnabledIPListsResponse)

{
  "ipLists": "[]IPList"
}

调用示例

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

updateIPList

修改IP列表

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/IPListService/updateIPList
  • RPCrpc updateIPList (UpdateIPListRequest) returns (RPCSuccess);

请求对象 (UpdateIPListRequest)

{
  "ipListId": "int64",
  "name": "string // 名称",
  "code": "string",
  "timeoutJSON": "bytes",
  "description": "string // 描述(备注)"
}

响应对象 (RPCSuccess)

{}

调用示例

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