2020-11-07 19:40:32 +08:00
|
|
|
|
syntax = "proto3";
|
|
|
|
|
|
option go_package = "./pb";
|
|
|
|
|
|
|
|
|
|
|
|
package pb;
|
|
|
|
|
|
|
2021-01-25 16:41:30 +08:00
|
|
|
|
import "models/rpc_messages.proto";
|
|
|
|
|
|
import "models/model_ip_item.proto";
|
2021-11-17 19:51:04 +08:00
|
|
|
|
import "models/model_ip_list.proto";
|
|
|
|
|
|
import "models/model_server.proto";
|
|
|
|
|
|
import "models/model_http_firewall_policy.proto";
|
2020-11-07 19:40:32 +08:00
|
|
|
|
|
|
|
|
|
|
// IP条目管理
|
|
|
|
|
|
service IPItemService {
|
|
|
|
|
|
// 创建IP
|
|
|
|
|
|
rpc createIPItem (CreateIPItemRequest) returns (CreateIPItemResponse);
|
|
|
|
|
|
|
|
|
|
|
|
// 修改IP
|
2020-11-13 18:23:06 +08:00
|
|
|
|
rpc updateIPItem (UpdateIPItemRequest) returns (RPCSuccess);
|
2020-11-07 19:40:32 +08:00
|
|
|
|
|
|
|
|
|
|
// 删除IP
|
2020-11-13 18:23:06 +08:00
|
|
|
|
rpc deleteIPItem (DeleteIPItemRequest) returns (RPCSuccess);
|
2020-11-07 19:40:32 +08:00
|
|
|
|
|
2021-11-21 09:42:39 +08:00
|
|
|
|
// 批量删除IP
|
|
|
|
|
|
rpc deleteIPItems(DeleteIPItemsRequest) returns (RPCSuccess);
|
|
|
|
|
|
|
2020-11-07 19:40:32 +08:00
|
|
|
|
// 计算IP数量
|
2020-11-12 14:41:23 +08:00
|
|
|
|
rpc countIPItemsWithListId (CountIPItemsWithListIdRequest) returns (RPCCountResponse);
|
2020-11-07 19:40:32 +08:00
|
|
|
|
|
|
|
|
|
|
// 列出单页的IP
|
|
|
|
|
|
rpc listIPItemsWithListId (ListIPItemsWithListIdRequest) returns (ListIPItemsWithListIdResponse);
|
|
|
|
|
|
|
|
|
|
|
|
// 查找单个IP
|
|
|
|
|
|
rpc findEnabledIPItem (FindEnabledIPItemRequest) returns (FindEnabledIPItemResponse);
|
2020-11-09 10:43:47 +08:00
|
|
|
|
|
|
|
|
|
|
// 根据版本列出一组IP
|
|
|
|
|
|
rpc listIPItemsAfterVersion (ListIPItemsAfterVersionRequest) returns (ListIPItemsAfterVersionResponse);
|
2021-06-23 13:13:58 +08:00
|
|
|
|
|
|
|
|
|
|
// 检查IP状态
|
|
|
|
|
|
rpc checkIPItemStatus (CheckIPItemStatusRequest) returns (CheckIPItemStatusResponse);
|
|
|
|
|
|
|
|
|
|
|
|
// 检查IP是否存在
|
|
|
|
|
|
rpc existsEnabledIPItem (ExistsEnabledIPItemRequest) returns (ExistsEnabledIPItemResponse);
|
2021-11-17 19:51:04 +08:00
|
|
|
|
|
|
|
|
|
|
// 计算所有IP数量
|
|
|
|
|
|
rpc countAllEnabledIPItems(CountAllEnabledIPItemsRequest) returns (RPCCountResponse);
|
|
|
|
|
|
|
|
|
|
|
|
// 列出所有名单中的IP
|
|
|
|
|
|
rpc listAllEnabledIPItems(ListAllEnabledIPItemsRequest) returns (ListAllEnabledIPItemsResponse);
|
2022-01-08 16:48:01 +08:00
|
|
|
|
|
|
|
|
|
|
// 设置所有为已读
|
|
|
|
|
|
rpc updateIPItemsRead(UpdateIPItemsReadRequest) returns (RPCSuccess);
|
2020-11-07 19:40:32 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 创建IP
|
|
|
|
|
|
message CreateIPItemRequest {
|
2021-01-03 21:38:12 +08:00
|
|
|
|
int64 ipListId = 1; // IP列表ID
|
|
|
|
|
|
string ipFrom = 2; // 开始IP
|
|
|
|
|
|
string ipTo = 3; // 结束IP(可选)
|
|
|
|
|
|
int64 expiredAt = 4; // 过期时间戳(可选)
|
|
|
|
|
|
string reason = 5; // 加入理由(可选)
|
2021-02-02 15:25:49 +08:00
|
|
|
|
string type = 6; // 类型
|
2021-02-06 17:37:27 +08:00
|
|
|
|
string eventLevel = 7; // 级别
|
2021-11-16 16:10:52 +08:00
|
|
|
|
|
|
|
|
|
|
int64 nodeId = 8; // 所属节点ID
|
|
|
|
|
|
int64 serverId = 9; // 所属服务ID
|
|
|
|
|
|
|
|
|
|
|
|
int64 sourceNodeId = 10;
|
|
|
|
|
|
int64 sourceServerId = 11;
|
|
|
|
|
|
int64 sourceHTTPFirewallPolicyId = 12;
|
|
|
|
|
|
int64 sourceHTTPFirewallRuleGroupId = 13;
|
|
|
|
|
|
int64 sourceHTTPFirewallRuleSetId = 14;
|
2020-11-07 19:40:32 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message CreateIPItemResponse {
|
|
|
|
|
|
int64 ipItemId = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 修改IP
|
|
|
|
|
|
message UpdateIPItemRequest {
|
|
|
|
|
|
int64 ipItemId = 1;
|
|
|
|
|
|
string ipFrom = 2;
|
|
|
|
|
|
string ipTo = 3;
|
|
|
|
|
|
int64 expiredAt = 4;
|
|
|
|
|
|
string reason = 5;
|
2021-02-02 15:25:49 +08:00
|
|
|
|
string type = 6; // 类型
|
2021-02-06 17:37:27 +08:00
|
|
|
|
string eventLevel = 7; // 级别
|
2020-11-07 19:40:32 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 删除IP
|
2022-05-10 15:12:03 +08:00
|
|
|
|
// 可以使用 ipItemId 删除,也可以使用 ipFrom+ipTo+ipListId 删除,如果只是单个IP,则不需要指定ipTo
|
2020-11-07 19:40:32 +08:00
|
|
|
|
message DeleteIPItemRequest {
|
2021-10-26 09:17:13 +08:00
|
|
|
|
int64 ipItemId = 1; // IP条目的ID
|
2022-05-10 15:12:03 +08:00
|
|
|
|
|
|
|
|
|
|
string ipFrom = 2; // v0.4.8新增,开始IP,和ipItemId二选一
|
|
|
|
|
|
string ipTo = 3; // v0.4.8新增,结束IP,和ipItemId二选一
|
|
|
|
|
|
int64 ipListId = 4; // v0.4.8新增,IP列表,IP所在的IP列表,如果不指定,则会删除所有IP列表中的相关IP信息
|
2020-11-07 19:40:32 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2021-11-21 09:42:39 +08:00
|
|
|
|
// 批量删除IP
|
|
|
|
|
|
message DeleteIPItemsRequest {
|
|
|
|
|
|
repeated int64 ipItemIds = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-11-07 19:40:32 +08:00
|
|
|
|
// 计算IP数量
|
|
|
|
|
|
message CountIPItemsWithListIdRequest {
|
|
|
|
|
|
int64 ipListId = 1;
|
2021-10-22 12:18:58 +08:00
|
|
|
|
string keyword = 2;
|
2021-10-26 09:17:13 +08:00
|
|
|
|
string ipFrom = 3;
|
|
|
|
|
|
string ipTo = 4;
|
2022-03-30 09:39:21 +08:00
|
|
|
|
string eventLevel = 5;
|
2020-11-07 19:40:32 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 列出单页的IP
|
|
|
|
|
|
message ListIPItemsWithListIdRequest {
|
|
|
|
|
|
int64 ipListId = 1;
|
2021-10-22 12:18:58 +08:00
|
|
|
|
string keyword = 4;
|
2021-10-26 09:17:13 +08:00
|
|
|
|
string ipFrom = 5;
|
|
|
|
|
|
string ipTo = 6;
|
2022-03-30 09:39:21 +08:00
|
|
|
|
string eventLevel = 7;
|
2020-11-07 19:40:32 +08:00
|
|
|
|
int64 offset = 2;
|
|
|
|
|
|
int64 size = 3;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message ListIPItemsWithListIdResponse {
|
|
|
|
|
|
repeated IPItem ipItems = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 查找单个IP
|
|
|
|
|
|
message FindEnabledIPItemRequest {
|
|
|
|
|
|
int64 ipItemId = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message FindEnabledIPItemResponse {
|
|
|
|
|
|
IPItem ipItem = 1;
|
2020-11-09 10:43:47 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 根据版本列出一组IP
|
|
|
|
|
|
message ListIPItemsAfterVersionRequest {
|
|
|
|
|
|
int64 version = 1;
|
|
|
|
|
|
int64 size = 2;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message ListIPItemsAfterVersionResponse {
|
|
|
|
|
|
repeated IPItem ipItems = 1;
|
2021-06-23 13:13:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 检查IP状态
|
|
|
|
|
|
message CheckIPItemStatusRequest {
|
|
|
|
|
|
int64 ipListId = 1;
|
|
|
|
|
|
string ip = 2;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message CheckIPItemStatusResponse {
|
|
|
|
|
|
bool isOk = 1; // 是否查询成功
|
|
|
|
|
|
string error = 2;
|
|
|
|
|
|
bool isFound = 3; // 是否找到
|
|
|
|
|
|
bool isAllowed = 4; // 是否允许
|
|
|
|
|
|
IPItem ipItem = 5; // 匹配的IPItem
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 检查IP是否存在
|
|
|
|
|
|
message ExistsEnabledIPItemRequest {
|
|
|
|
|
|
int64 ipItemId = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message ExistsEnabledIPItemResponse {
|
|
|
|
|
|
bool exists = 1;
|
2021-11-17 19:51:04 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 计算所有IP数量
|
|
|
|
|
|
message CountAllEnabledIPItemsRequest {
|
|
|
|
|
|
string ip = 1;
|
2021-11-17 20:25:40 +08:00
|
|
|
|
bool globalOnly = 2;
|
2022-01-08 16:48:01 +08:00
|
|
|
|
bool unread = 3;
|
2022-03-30 09:39:21 +08:00
|
|
|
|
string eventLevel = 4;
|
2022-04-21 15:09:11 +08:00
|
|
|
|
string listType = 5;
|
2021-11-17 19:51:04 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 列出所有名单中的IP
|
|
|
|
|
|
message ListAllEnabledIPItemsRequest {
|
|
|
|
|
|
string ip = 1;
|
2021-11-17 20:25:40 +08:00
|
|
|
|
bool globalOnly = 2;
|
2022-01-08 16:48:01 +08:00
|
|
|
|
bool unread = 5;
|
2022-03-30 09:39:21 +08:00
|
|
|
|
string eventLevel = 6;
|
2022-04-21 15:09:11 +08:00
|
|
|
|
string listType = 7;
|
2021-11-17 20:25:40 +08:00
|
|
|
|
int64 offset = 3;
|
|
|
|
|
|
int64 size = 4;
|
2021-11-17 19:51:04 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message ListAllEnabledIPItemsResponse {
|
|
|
|
|
|
repeated Result results = 1;
|
|
|
|
|
|
|
|
|
|
|
|
message Result {
|
|
|
|
|
|
IPList ipList = 1; // 所属名单
|
|
|
|
|
|
IPItem ipItem = 2; // IP信息
|
|
|
|
|
|
Server server = 3; // 所属服务
|
|
|
|
|
|
HTTPFirewallPolicy httpFirewallPolicy = 4; // 所属WAF策略
|
|
|
|
|
|
}
|
2022-01-08 16:48:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 设置所有为已读
|
|
|
|
|
|
message UpdateIPItemsReadRequest {
|
|
|
|
|
|
|
2021-10-26 09:17:13 +08:00
|
|
|
|
}
|