mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			181 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			181 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						||
option go_package = "./pb";
 | 
						||
 | 
						||
package pb;
 | 
						||
 | 
						||
import "models/model_http_firewall_policy.proto";
 | 
						||
import "models/model_ip_list.proto";
 | 
						||
import "models/model_ip_item.proto";
 | 
						||
import "models/model_region_country.proto";
 | 
						||
import "models/model_region_province.proto";
 | 
						||
import "models/rpc_messages.proto";
 | 
						||
 | 
						||
// HTTP防火墙(WAF)服务
 | 
						||
service HTTPFirewallPolicyService {
 | 
						||
	// 获取所有可用策略
 | 
						||
	rpc findAllEnabledHTTPFirewallPolicies (FindAllEnabledHTTPFirewallPoliciesRequest) returns (FindAllEnabledHTTPFirewallPoliciesResponse);
 | 
						||
 | 
						||
	// 创建防火墙策略
 | 
						||
	rpc createHTTPFirewallPolicy (CreateHTTPFirewallPolicyRequest) returns (CreateHTTPFirewallPolicyResponse);
 | 
						||
 | 
						||
	// 创建空防火墙策略
 | 
						||
	rpc createEmptyHTTPFirewallPolicy (CreateEmptyHTTPFirewallPolicyRequest) returns (CreateEmptyHTTPFirewallPolicyResponse);
 | 
						||
 | 
						||
	// 修改防火墙策略
 | 
						||
	rpc updateHTTPFirewallPolicy (UpdateHTTPFirewallPolicyRequest) returns (RPCSuccess);
 | 
						||
 | 
						||
	// 修改分组信息
 | 
						||
	rpc updateHTTPFirewallPolicyGroups (UpdateHTTPFirewallPolicyGroupsRequest) returns (RPCSuccess);
 | 
						||
 | 
						||
	// 修改inbound信息
 | 
						||
	rpc updateHTTPFirewallInboundConfig (UpdateHTTPFirewallInboundConfigRequest) returns (RPCSuccess);
 | 
						||
 | 
						||
	// 计算可用的防火墙策略数量
 | 
						||
	rpc countAllEnabledHTTPFirewallPolicies (CountAllEnabledHTTPFirewallPoliciesRequest) returns (RPCCountResponse);
 | 
						||
 | 
						||
	// 列出单页的防火墙策略
 | 
						||
	rpc listEnabledHTTPFirewallPolicies (ListEnabledHTTPFirewallPoliciesRequest) returns (ListEnabledHTTPFirewallPoliciesResponse);
 | 
						||
 | 
						||
	// 删除某个防火墙策略
 | 
						||
	rpc deleteHTTPFirewallPolicy (DeleteHTTPFirewallPolicyRequest) returns (RPCSuccess);
 | 
						||
 | 
						||
	// 查找单个防火墙配置
 | 
						||
	rpc findEnabledHTTPFirewallPolicyConfig (FindEnabledHTTPFirewallPolicyConfigRequest) returns (FindEnabledHTTPFirewallPolicyConfigResponse);
 | 
						||
 | 
						||
	// 获取防火墙的基本信息
 | 
						||
	rpc findEnabledHTTPFirewallPolicy (FindEnabledHTTPFirewallPolicyRequest) returns (FindEnabledHTTPFirewallPolicyResponse);
 | 
						||
 | 
						||
	// 导入策略数据
 | 
						||
	rpc importHTTPFirewallPolicy (ImportHTTPFirewallPolicyRequest) returns (RPCSuccess);
 | 
						||
 | 
						||
	// 检查IP状态
 | 
						||
	rpc checkHTTPFirewallPolicyIPStatus (CheckHTTPFirewallPolicyIPStatusRequest) returns (CheckHTTPFirewallPolicyIPStatusResponse);
 | 
						||
}
 | 
						||
 | 
						||
// 获取所有可用策略
 | 
						||
message FindAllEnabledHTTPFirewallPoliciesRequest {
 | 
						||
 | 
						||
}
 | 
						||
 | 
						||
message FindAllEnabledHTTPFirewallPoliciesResponse {
 | 
						||
	repeated HTTPFirewallPolicy firewallPolicies = 1;
 | 
						||
}
 | 
						||
 | 
						||
// 创建防火墙策略
 | 
						||
message CreateHTTPFirewallPolicyRequest {
 | 
						||
	bool isOn = 1;
 | 
						||
	string name = 2;
 | 
						||
	string description = 3;
 | 
						||
	repeated string httpFirewallGroupCodes = 4;
 | 
						||
	int64 serverId = 5;
 | 
						||
	int64 serverGroupId = 6;
 | 
						||
}
 | 
						||
 | 
						||
message CreateHTTPFirewallPolicyResponse {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
}
 | 
						||
 | 
						||
// 创建空防火墙策略
 | 
						||
message CreateEmptyHTTPFirewallPolicyRequest {
 | 
						||
	bool isOn = 1;
 | 
						||
	string name = 2;
 | 
						||
	string description = 3;
 | 
						||
	int64 serverId = 4;
 | 
						||
	int64 serverGroupId = 5;
 | 
						||
}
 | 
						||
 | 
						||
message CreateEmptyHTTPFirewallPolicyResponse {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
}
 | 
						||
 | 
						||
// 修改防火墙策略
 | 
						||
message UpdateHTTPFirewallPolicyRequest {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
	bool isOn = 2;
 | 
						||
	string name = 3;
 | 
						||
	string description = 4;
 | 
						||
	repeated string firewallGroupCodes = 5;
 | 
						||
	bytes blockOptionsJSON = 6;
 | 
						||
	bytes captchaOptionsJSON = 11;
 | 
						||
	string mode = 7;
 | 
						||
	bool useLocalFirewall = 8;
 | 
						||
	bytes synFloodJSON = 9;
 | 
						||
	bytes LogJSON = 10;
 | 
						||
}
 | 
						||
 | 
						||
// 修改分组信息
 | 
						||
message UpdateHTTPFirewallPolicyGroupsRequest {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
	bytes inboundJSON = 2;
 | 
						||
	bytes outboundJSON = 3;
 | 
						||
}
 | 
						||
 | 
						||
// 修改inbound信息
 | 
						||
message UpdateHTTPFirewallInboundConfigRequest {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
	bytes inboundJSON = 2;
 | 
						||
}
 | 
						||
 | 
						||
// 计算可用的防火墙策略数量
 | 
						||
message CountAllEnabledHTTPFirewallPoliciesRequest {
 | 
						||
	string keyword = 1;
 | 
						||
	int64 nodeClusterId = 2;
 | 
						||
}
 | 
						||
 | 
						||
// 列出单页的防火墙策略
 | 
						||
message ListEnabledHTTPFirewallPoliciesRequest {
 | 
						||
	int64 offset = 1;
 | 
						||
	int64 size = 2;
 | 
						||
	string keyword = 3;
 | 
						||
	int64 nodeClusterId = 4;
 | 
						||
}
 | 
						||
 | 
						||
message ListEnabledHTTPFirewallPoliciesResponse {
 | 
						||
	repeated HTTPFirewallPolicy httpFirewallPolicies = 1;
 | 
						||
}
 | 
						||
 | 
						||
// 删除某个防火墙策略
 | 
						||
message DeleteHTTPFirewallPolicyRequest {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
}
 | 
						||
 | 
						||
// 查找单个防火墙配置
 | 
						||
message FindEnabledHTTPFirewallPolicyConfigRequest {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
}
 | 
						||
 | 
						||
message FindEnabledHTTPFirewallPolicyConfigResponse {
 | 
						||
	bytes httpFirewallPolicyJSON = 1;
 | 
						||
}
 | 
						||
 | 
						||
// 获取防火墙的基本信息
 | 
						||
message FindEnabledHTTPFirewallPolicyRequest {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
}
 | 
						||
 | 
						||
message FindEnabledHTTPFirewallPolicyResponse {
 | 
						||
	HTTPFirewallPolicy httpFirewallPolicy = 1;
 | 
						||
}
 | 
						||
 | 
						||
// 导入策略数据
 | 
						||
message ImportHTTPFirewallPolicyRequest {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
	bytes httpFirewallPolicyJSON = 2;
 | 
						||
}
 | 
						||
 | 
						||
// 检查IP状态
 | 
						||
message CheckHTTPFirewallPolicyIPStatusRequest {
 | 
						||
	int64 httpFirewallPolicyId = 1;
 | 
						||
	string ip = 2;
 | 
						||
}
 | 
						||
 | 
						||
message CheckHTTPFirewallPolicyIPStatusResponse {
 | 
						||
	bool isOk = 1; // 是否查询成功
 | 
						||
	string error = 2;
 | 
						||
	bool isFound = 3; // 是否找到
 | 
						||
	bool isAllowed = 4; // 是否允许
 | 
						||
	IPList ipList = 5; // 匹配的IPList
 | 
						||
	IPItem ipItem = 6; // 匹配的IPItem
 | 
						||
	RegionCountry regionCountry = 7; // 匹配到封禁的地区
 | 
						||
	RegionProvince regionProvince = 8; // 匹配到封禁的省份
 | 
						||
} |