Compare commits
34 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4e4acc327d | ||
|
|
f73251f57d | ||
|
|
d9350839f3 | ||
|
|
25269adaae | ||
|
|
351337fcbc | ||
|
|
505b6b6c9e | ||
|
|
1b6a5001e8 | ||
|
|
443a3f3ec3 | ||
|
|
e4861c3fa1 | ||
|
|
8ba8528c98 | ||
|
|
4d0b1c7e0c | ||
|
|
3de4223023 | ||
|
|
5f29576049 | ||
|
|
4adb8117f8 | ||
|
|
2d304b19b8 | ||
|
|
8e605cce67 | ||
|
|
0d53785620 | ||
|
|
73ee81da78 | ||
|
|
a600fc9cd3 | ||
|
|
cc0b2fd74f | ||
|
|
e54cfa7765 | ||
|
|
7c5c600e31 | ||
|
|
c6f9126ae2 | ||
|
|
5478e6a956 | ||
|
|
3945e94f71 | ||
|
|
9cd3618d9b | ||
|
|
4389ffb397 | ||
|
|
debb72c2d3 | ||
|
|
b314f7e96c | ||
|
|
823e519d58 | ||
|
|
5a54390f1d | ||
|
|
704d3af982 | ||
|
|
96b48f2bbc | ||
|
|
4a1c9be931 |
155
build/rpc.json
155
build/rpc.json
@@ -787,7 +787,18 @@
|
|||||||
"requestMessageName": "CheckAdminUsernameRequest",
|
"requestMessageName": "CheckAdminUsernameRequest",
|
||||||
"responseMessageName": "CheckAdminUsernameResponse",
|
"responseMessageName": "CheckAdminUsernameResponse",
|
||||||
"code": "rpc checkAdminUsername (CheckAdminUsernameRequest) returns (CheckAdminUsernameResponse);",
|
"code": "rpc checkAdminUsername (CheckAdminUsernameRequest) returns (CheckAdminUsernameResponse);",
|
||||||
"doc": "检查用户名是否存在",
|
"doc": "检查管理员用户名是否存在",
|
||||||
|
"roles": [
|
||||||
|
"admin"
|
||||||
|
],
|
||||||
|
"isDeprecated": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "findAdminWithUsername",
|
||||||
|
"requestMessageName": "FindAdminWithUsernameRequest",
|
||||||
|
"responseMessageName": "FindAdminWithUsernameResponse",
|
||||||
|
"code": "rpc findAdminWithUsername(FindAdminWithUsernameRequest) returns (FindAdminWithUsernameResponse);",
|
||||||
|
"doc": "使用用管理员户名查找管理员信息",
|
||||||
"roles": [
|
"roles": [
|
||||||
"admin"
|
"admin"
|
||||||
],
|
],
|
||||||
@@ -2600,7 +2611,8 @@
|
|||||||
"code": "rpc checkHTTPFirewallPolicyIPStatus (CheckHTTPFirewallPolicyIPStatusRequest) returns (CheckHTTPFirewallPolicyIPStatusResponse);",
|
"code": "rpc checkHTTPFirewallPolicyIPStatus (CheckHTTPFirewallPolicyIPStatusRequest) returns (CheckHTTPFirewallPolicyIPStatusResponse);",
|
||||||
"doc": "检查IP状态",
|
"doc": "检查IP状态",
|
||||||
"roles": [
|
"roles": [
|
||||||
"admin"
|
"admin",
|
||||||
|
"user"
|
||||||
],
|
],
|
||||||
"isDeprecated": false
|
"isDeprecated": false
|
||||||
},
|
},
|
||||||
@@ -9473,6 +9485,18 @@
|
|||||||
"user"
|
"user"
|
||||||
],
|
],
|
||||||
"isDeprecated": false
|
"isDeprecated": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "updateOriginIsOn",
|
||||||
|
"requestMessageName": "UpdateOriginIsOnRequest",
|
||||||
|
"responseMessageName": "RPCSuccess",
|
||||||
|
"code": "rpc updateOriginIsOn(UpdateOriginIsOnRequest) returns (RPCSuccess);",
|
||||||
|
"doc": "设置源站是否启用",
|
||||||
|
"roles": [
|
||||||
|
"admin",
|
||||||
|
"user"
|
||||||
|
],
|
||||||
|
"isDeprecated": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"filename": "service_origin.proto",
|
"filename": "service_origin.proto",
|
||||||
@@ -9953,7 +9977,7 @@
|
|||||||
"requestMessageName": "FindAllEnabledRegionProvincesWithCountryIdRequest",
|
"requestMessageName": "FindAllEnabledRegionProvincesWithCountryIdRequest",
|
||||||
"responseMessageName": "FindAllEnabledRegionProvincesWithCountryIdResponse",
|
"responseMessageName": "FindAllEnabledRegionProvincesWithCountryIdResponse",
|
||||||
"code": "rpc findAllEnabledRegionProvincesWithCountryId (FindAllEnabledRegionProvincesWithCountryIdRequest) returns (FindAllEnabledRegionProvincesWithCountryIdResponse) {\n\t\toption deprecated = true;\n\t};\n\n\t// 查找单个省份信息\n\trpc findEnabledRegionProvince (FindEnabledRegionProvinceRequest) returns (FindEnabledRegionProvinceResponse) {\n\t\toption deprecated = true;\n\t};",
|
"code": "rpc findAllEnabledRegionProvincesWithCountryId (FindAllEnabledRegionProvincesWithCountryIdRequest) returns (FindAllEnabledRegionProvincesWithCountryIdResponse) {\n\t\toption deprecated = true;\n\t};\n\n\t// 查找单个省份信息\n\trpc findEnabledRegionProvince (FindEnabledRegionProvinceRequest) returns (FindEnabledRegionProvinceResponse) {\n\t\toption deprecated = true;\n\t};",
|
||||||
"doc": "查找所有省份",
|
"doc": "根据国家|地区ID查找所有省份",
|
||||||
"roles": [],
|
"roles": [],
|
||||||
"isDeprecated": true
|
"isDeprecated": true
|
||||||
},
|
},
|
||||||
@@ -9962,10 +9986,22 @@
|
|||||||
"requestMessageName": "FindAllRegionProvincesWithRegionCountryIdRequest",
|
"requestMessageName": "FindAllRegionProvincesWithRegionCountryIdRequest",
|
||||||
"responseMessageName": "FindAllRegionProvincesWithRegionCountryIdResponse",
|
"responseMessageName": "FindAllRegionProvincesWithRegionCountryIdResponse",
|
||||||
"code": "rpc findAllRegionProvincesWithRegionCountryId (FindAllRegionProvincesWithRegionCountryIdRequest) returns (FindAllRegionProvincesWithRegionCountryIdResponse);",
|
"code": "rpc findAllRegionProvincesWithRegionCountryId (FindAllRegionProvincesWithRegionCountryIdRequest) returns (FindAllRegionProvincesWithRegionCountryIdResponse);",
|
||||||
"doc": "查找所有省份",
|
"doc": "根据国家|地区ID查找所有省份",
|
||||||
"roles": [],
|
"roles": [],
|
||||||
"isDeprecated": false
|
"isDeprecated": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "findAllRegionProvinces",
|
||||||
|
"requestMessageName": "FindAllRegionProvincesRequest",
|
||||||
|
"responseMessageName": "FindAllRegionProvincesResponse",
|
||||||
|
"code": "rpc findAllRegionProvinces(FindAllRegionProvincesRequest) returns (FindAllRegionProvincesResponse);",
|
||||||
|
"doc": "查找所有国家|地区的所有省份",
|
||||||
|
"roles": [
|
||||||
|
"admin",
|
||||||
|
"user"
|
||||||
|
],
|
||||||
|
"isDeprecated": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "findRegionProvince",
|
"name": "findRegionProvince",
|
||||||
"requestMessageName": "FindRegionProvinceRequest",
|
"requestMessageName": "FindRegionProvinceRequest",
|
||||||
@@ -10672,17 +10708,6 @@
|
|||||||
],
|
],
|
||||||
"isDeprecated": false
|
"isDeprecated": false
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "updateServerUnix",
|
|
||||||
"requestMessageName": "UpdateServerUnixRequest",
|
|
||||||
"responseMessageName": "RPCSuccess",
|
|
||||||
"code": "rpc updateServerUnix (UpdateServerUnixRequest) returns (RPCSuccess);",
|
|
||||||
"doc": "修改网站的Unix设置",
|
|
||||||
"roles": [
|
|
||||||
"admin"
|
|
||||||
],
|
|
||||||
"isDeprecated": false
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "updateServerUDP",
|
"name": "updateServerUDP",
|
||||||
"requestMessageName": "UpdateServerUDPRequest",
|
"requestMessageName": "UpdateServerUDPRequest",
|
||||||
@@ -14187,7 +14212,7 @@
|
|||||||
{
|
{
|
||||||
"name": "CheckAdminUsernameRequest",
|
"name": "CheckAdminUsernameRequest",
|
||||||
"code": "message CheckAdminUsernameRequest {\n\tint64 adminId = 1;\n\tstring username = 2;\n}",
|
"code": "message CheckAdminUsernameRequest {\n\tint64 adminId = 1;\n\tstring username = 2;\n}",
|
||||||
"doc": "检查用户名是否存在"
|
"doc": "检查管理员用户名是否存在"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "CheckAdminUsernameResponse",
|
"name": "CheckAdminUsernameResponse",
|
||||||
@@ -14536,7 +14561,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ComposeServerStatBoardResponse",
|
"name": "ComposeServerStatBoardResponse",
|
||||||
"code": "message ComposeServerStatBoardResponse {\n\tint64 minutelyPeekBandwidthBytes = 5; // 当前带宽(N分钟峰值)\n\tint64 dailyPeekBandwidthBytes = 2; // 当天带宽峰值\n\tint64 monthlyPeekBandwidthBytes = 3; // 当月带宽峰值\n\tint64 lastMonthlyPeekBandwidthBytes = 4; // 上个月带宽峰值\n\n\tint32 bandwidthPercentile = 7;\n\trepeated ServerBandwidthStat minutelyBandwidthStats = 1; // 分钟级的带宽统计\n\tServerBandwidthStat minutelyNthBandwidthStat = 8;\n\n\trepeated DailyTrafficStat dailyTrafficStats = 30;\n\trepeated HourlyTrafficStat hourlyTrafficStats = 31;\n\trepeated NodeStat topNodeStats = 32;\n\trepeated CountryStat topCountryStats = 35;\n\n\trepeated MetricDataChart metricDataCharts = 34;\n\n\n\tmessage DailyTrafficStat {\n\t\tstring day = 1;\n\t\tint64 bytes = 2;\n\t\tint64 cachedBytes = 3;\n\t\tint64 countRequests = 4;\n\t\tint64 countCachedRequests = 5;\n\t\tint64 countAttackRequests = 6;\n\t\tint64 attackBytes = 7;\n\t}\n\n\n\tmessage HourlyTrafficStat {\n\t\tstring hour = 1;\n\t\tint64 bytes = 2;\n\t\tint64 cachedBytes = 3;\n\t\tint64 countRequests = 4;\n\t\tint64 countCachedRequests = 5;\n\t\tint64 countAttackRequests = 6;\n\t\tint64 attackBytes = 7;\n\t}\n\n\n\tmessage NodeStat {\n\t\tint64 nodeId = 1;\n\t\tstring nodeName = 2;\n\t\tint64 countRequests = 3;\n\t\tint64 bytes = 4;\n\t\tint64 countAttackRequests = 6;\n\t\tint64 attackBytes = 7;\n\t}\n\n\n\tmessage CountryStat {\n\t\tstring countryName = 1;\n\t\tint64 bytes = 2;\n\t\tint64 countRequests = 3;\n\t\tfloat percent = 4; // 流量占比\n\t\tint64 countAttackRequests = 6;\n\t\tint64 attackBytes = 7;\n\t}\n}",
|
"code": "message ComposeServerStatBoardResponse {\n\tint64 minutelyPeekBandwidthBytes = 5; // 当前带宽(N分钟峰值)\n\tint64 dailyPeekBandwidthBytes = 2; // 当天带宽峰值\n\tint64 monthlyPeekBandwidthBytes = 3; // 当月带宽峰值\n\tint64 lastMonthlyPeekBandwidthBytes = 4; // 上个月带宽峰值\n\tint64 dailyCountIPs = 9; // 当天独立IP\n\tint64 dailyTrafficBytes = 10; // 当天流量\n\n\tint32 bandwidthPercentile = 7;\n\trepeated ServerBandwidthStat minutelyBandwidthStats = 1; // 分钟级的带宽统计\n\tServerBandwidthStat minutelyNthBandwidthStat = 8;\n\n\trepeated DailyTrafficStat dailyTrafficStats = 30;\n\trepeated HourlyTrafficStat hourlyTrafficStats = 31;\n\trepeated NodeStat topNodeStats = 32;\n\trepeated CountryStat topCountryStats = 35;\n\n\trepeated MetricDataChart metricDataCharts = 34;\n\n\n\tmessage DailyTrafficStat {\n\t\tstring day = 1;\n\t\tint64 bytes = 2;\n\t\tint64 cachedBytes = 3;\n\t\tint64 countRequests = 4;\n\t\tint64 countCachedRequests = 5;\n\t\tint64 countAttackRequests = 6;\n\t\tint64 attackBytes = 7;\n\t}\n\n\n\tmessage HourlyTrafficStat {\n\t\tstring hour = 1;\n\t\tint64 bytes = 2;\n\t\tint64 cachedBytes = 3;\n\t\tint64 countRequests = 4;\n\t\tint64 countCachedRequests = 5;\n\t\tint64 countAttackRequests = 6;\n\t\tint64 attackBytes = 7;\n\t}\n\n\n\tmessage NodeStat {\n\t\tint64 nodeId = 1;\n\t\tstring nodeName = 2;\n\t\tint64 countRequests = 3;\n\t\tint64 bytes = 4;\n\t\tint64 countAttackRequests = 6;\n\t\tint64 attackBytes = 7;\n\t}\n\n\n\tmessage CountryStat {\n\t\tstring countryName = 1;\n\t\tint64 bytes = 2;\n\t\tint64 countRequests = 3;\n\t\tfloat percent = 4; // 流量占比\n\t\tint64 countAttackRequests = 6;\n\t\tint64 attackBytes = 7;\n\t}\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -15476,7 +15501,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "CreateIPItemRequest",
|
"name": "CreateIPItemRequest",
|
||||||
"code": "message CreateIPItemRequest {\n\tint64 ipListId = 1; // 所属IP列表ID\n\tstring ipFrom = 2; // 开始IP\n\tstring ipTo = 3; // 结束IP(可选)\n\tint64 expiredAt = 4; // 过期时间戳(可选)\n\tstring reason = 5; // 加入理由(可选)\n\tstring type = 6; // IP类型,值为ipv4或ipv6\n\tstring eventLevel = 7; // 级别:debug, notice, warning, error, critical, fatal\n\n\tint64 nodeId = 8; // 可选项,所属节点ID\n\tint64 serverId = 9; // 可选项,所属网站ID\n\n\tint64 sourceNodeId = 10; // 可选项,来源节点\n\tint64 sourceServerId = 11; // 可选项,来源网站ID\n\tint64 sourceHTTPFirewallPolicyId = 12; // 可选项,来源WAF策略ID\n\tint64 sourceHTTPFirewallRuleGroupId = 13; // 可选项,来源WAF规则分组ID\n\tint64 sourceHTTPFirewallRuleSetId = 14; // 可选项,来源WAF规则集ID\n}",
|
"code": "message CreateIPItemRequest {\n\tint64 ipListId = 1; // 所属IP列表ID\n\tstring value = 15; // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数\n\tstring ipFrom = 2; // 开始IP\n\tstring ipTo = 3; // 结束IP(可选)\n\tint64 expiredAt = 4; // 过期时间戳(可选)\n\tstring reason = 5; // 加入理由(可选)\n\tstring type = 6; // IP类型,值为ipv4或ipv6\n\tstring eventLevel = 7; // 级别:debug, notice, warning, error, critical, fatal\n\n\tint64 nodeId = 8; // 可选项,所属节点ID\n\tint64 serverId = 9; // 可选项,所属网站ID\n\n\tint64 sourceNodeId = 10; // 可选项,来源节点\n\tint64 sourceServerId = 11; // 可选项,来源网站ID\n\tint64 sourceHTTPFirewallPolicyId = 12; // 可选项,来源WAF策略ID\n\tint64 sourceHTTPFirewallRuleGroupId = 13; // 可选项,来源WAF规则分组ID\n\tint64 sourceHTTPFirewallRuleSetId = 14; // 可选项,来源WAF规则集ID\n}",
|
||||||
"doc": "创建IP"
|
"doc": "创建IP"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -15486,7 +15511,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "CreateIPItemsRequest",
|
"name": "CreateIPItemsRequest",
|
||||||
"code": "message CreateIPItemsRequest {\n\trepeated IPItem ipItems = 1; // 要创建的IP列表\n\n\n\tmessage IPItem {\n\t\tint64 ipListId = 1; // IP列表ID\n\t\tstring ipFrom = 2; // 开始IP\n\t\tstring ipTo = 3; // 结束IP(可选)\n\t\tint64 expiredAt = 4; // 过期时间戳(可选)\n\t\tstring reason = 5; // 加入理由(可选)\n\t\tstring type = 6; // 类型\n\t\tstring eventLevel = 7; // 级别\n\n\t\tint64 nodeId = 8; // 所属节点ID\n\t\tint64 serverId = 9; // 所属服务ID\n\n\t\tint64 sourceNodeId = 10;\n\t\tint64 sourceServerId = 11;\n\t\tint64 sourceHTTPFirewallPolicyId = 12;\n\t\tint64 sourceHTTPFirewallRuleGroupId = 13;\n\t\tint64 sourceHTTPFirewallRuleSetId = 14;\n\t}\n}",
|
"code": "message CreateIPItemsRequest {\n\trepeated IPItem ipItems = 1; // 要创建的IP列表\n\n\n\tmessage IPItem {\n\t\tint64 ipListId = 1; // IP列表ID\n\t\tstring value = 15; // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数\n\t\tstring ipFrom = 2; // 开始IP\n\t\tstring ipTo = 3; // 结束IP(可选)\n\t\tint64 expiredAt = 4; // 过期时间戳(可选)\n\t\tstring reason = 5; // 加入理由(可选)\n\t\tstring type = 6; // 类型\n\t\tstring eventLevel = 7; // 级别\n\n\t\tint64 nodeId = 8; // 所属节点ID\n\t\tint64 serverId = 9; // 所属服务ID\n\n\t\tint64 sourceNodeId = 10;\n\t\tint64 sourceServerId = 11;\n\t\tint64 sourceHTTPFirewallPolicyId = 12;\n\t\tint64 sourceHTTPFirewallRuleGroupId = 13;\n\t\tint64 sourceHTTPFirewallRuleSetId = 14;\n\t}\n}",
|
||||||
"doc": "创建一组IP"
|
"doc": "创建一组IP"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -15766,7 +15791,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "CreateNodeClusterRequest",
|
"name": "CreateNodeClusterRequest",
|
||||||
"code": "message CreateNodeClusterRequest {\n\tstring name = 1;\n\tint64 nodeGrantId = 2;\n\tstring installDir = 3;\n\tint64 dnsDomainId = 4;\n\tstring dnsName = 5;\n\tint32 dnsTTL = 9;\n\tint64 httpCachePolicyId = 6;\n\tint64 httpFirewallPolicyId = 7;\n\tbytes systemServicesJSON = 8; // 系统服务设置\n\tbytes globalServerConfigJSON = 10; // 服务全局设置\n\tbool autoInstallNftables = 11; // 自动安装nftables\n\tbool autoSystemTuning = 12; // 是否自动调节系统参数\n}",
|
"code": "message CreateNodeClusterRequest {\n\tstring name = 1;\n\tint64 nodeGrantId = 2;\n\tstring installDir = 3;\n\tint64 dnsDomainId = 4;\n\tstring dnsName = 5;\n\tint32 dnsTTL = 9;\n\tint64 httpCachePolicyId = 6;\n\tint64 httpFirewallPolicyId = 7;\n\tbytes systemServicesJSON = 8; // 系统服务设置\n\tbytes globalServerConfigJSON = 10; // 服务全局设置\n\tbool autoInstallNftables = 11; // 自动安装nftables\n\tbool autoSystemTuning = 12; // 是否自动调节系统参数\n\tbool autoTrimDisks = 13; // 是否自动TRIM硬盘\n}",
|
||||||
"doc": "创建集群"
|
"doc": "创建集群"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -16031,7 +16056,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "CreateServerRequest",
|
"name": "CreateServerRequest",
|
||||||
"code": "message CreateServerRequest {\n\tint64 userId = 1; // 可选项,用户ID,如果不想指定用户,此值可以为0\n\tint64 adminId = 2; // 可选项,管理员ID\n\tstring type = 3; // 类型:httpProxy(HTTP反向代理,一般CDN服务都选这个)、httpWeb(静态文件服务,只会从服务器上读取文件内容,不会转发到源站)、tcpProxy(TCP反向代理)、udpProxy(UDP反向代理)\n\tstring name = 4; // 网站名称,通常可以是一个域名\n\tstring description = 5; // 可选项,网站描述\n\n\t// 配置相关\n\tbytes serverNamesJSON = 8; // 域名列表 @link json:server_names\n\tbytes serverNamesJON = 19 [deprecated = true]; // 已过期,请使用 serverNamesJSON 代替\n\tbytes httpJSON = 9; // HTTP协议设置,当type为httpProxy或者httpWeb时填写 @link json:http_protocol\n\tbytes httpsJSON = 10; // HTTPS协议设置,当type为httpProxy或者httpWeb时填写 @link json:https_protocol\n\tbytes tcpJSON = 11; // TCP协议设置,当type为tcpProxy时填写 @link json:tcp_protocol\n\tbytes tlsJSON = 12; // TLS协议设置,当type为tcpProxy时填写 @link json:tls_protocol\n\tbytes unixJSON = 13; // 备用参数,不用填写\n\tbytes udpJSON = 14; // UDP协议设置,当type为udpProxy时填写 @link json:udp_protocol\n\tint64 webId = 15; // 可选项,Web配置ID,当type为httpProxy或者httpWeb时填写,可以通过 /HTTPWebService/createHTTPWeb 接口创建;如果你需要配置缓存等信息时需要在 HTTPWebService 接口操作\n\tbytes reverseProxyJSON = 16; // 反向代理(包含源站)配置引用,此项可以在创建网站后再设置 @link json:reverse_proxy_ref\n\trepeated int64 serverGroupIds = 17; // 可选项,所属网站分组ID列表\n\tint64 userPlanId = 18; // 可选项,套餐ID\n\n\tint64 nodeClusterId = 30; // 所部署的集群ID\n\tbytes includeNodesJSON = 31; // 备用参数,不用填写\n\tbytes excludeNodesJSON = 32; // 备用参数,不用填写\n}",
|
"code": "message CreateServerRequest {\n\tint64 userId = 1; // 可选项,用户ID,如果不想指定用户,此值可以为0\n\tint64 adminId = 2; // 可选项,管理员ID\n\tstring type = 3; // 类型:httpProxy(HTTP反向代理,一般CDN服务都选这个)、httpWeb(静态文件服务,只会从服务器上读取文件内容,不会转发到源站)、tcpProxy(TCP反向代理)、udpProxy(UDP反向代理)\n\tstring name = 4; // 网站名称,通常可以是一个域名\n\tstring description = 5; // 可选项,网站描述\n\n\t// 配置相关\n\tbytes serverNamesJSON = 8; // 域名列表 @link json:server_names\n\tbytes serverNamesJON = 19 [deprecated = true]; // 已过期,请使用 serverNamesJSON 代替\n\tbytes httpJSON = 9; // HTTP协议设置,当type为httpProxy或者httpWeb时填写 @link json:http_protocol\n\tbytes httpsJSON = 10; // HTTPS协议设置,当type为httpProxy或者httpWeb时填写 @link json:https_protocol\n\tbytes tcpJSON = 11; // TCP协议设置,当type为tcpProxy时填写 @link json:tcp_protocol\n\tbytes tlsJSON = 12; // TLS协议设置,当type为tcpProxy时填写 @link json:tls_protocol\n\tbytes udpJSON = 14; // UDP协议设置,当type为udpProxy时填写 @link json:udp_protocol\n\tint64 webId = 15; // 可选项,Web配置ID,当type为httpProxy或者httpWeb时填写,可以通过 /HTTPWebService/createHTTPWeb 接口创建;如果你需要配置缓存等信息时需要在 HTTPWebService 接口操作\n\tbytes reverseProxyJSON = 16; // 反向代理(包含源站)配置引用,此项可以在创建网站后再设置 @link json:reverse_proxy_ref\n\trepeated int64 serverGroupIds = 17; // 可选项,所属网站分组ID列表\n\tint64 userPlanId = 18; // 可选项,套餐ID\n\n\tint64 nodeClusterId = 30; // 所部署的集群ID\n\tbytes includeNodesJSON = 31; // 备用参数,不用填写\n\tbytes excludeNodesJSON = 32; // 备用参数,不用填写\n}",
|
||||||
"doc": "创建网站"
|
"doc": "创建网站"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -16326,7 +16351,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "DeleteIPItemRequest",
|
"name": "DeleteIPItemRequest",
|
||||||
"code": "message DeleteIPItemRequest {\n\tint64 ipItemId = 1; // IP条目的ID\n\n\tstring ipFrom = 2; // v0.4.8新增,开始IP,和ipItemId二选一\n\tstring ipTo = 3; // v0.4.8新增,结束IP,和ipItemId二选一\n\tint64 ipListId = 4; // v0.4.8新增,IP列表,IP所在的IP列表,如果不指定,则会删除所有IP列表中的相关IP信息\n}",
|
"code": "message DeleteIPItemRequest {\n\tint64 ipItemId = 1; // IP条目的ID\n\n\tstring value = 5; // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数\n\tstring ipFrom = 2; // v0.4.8新增,开始IP,和ipItemId二选一\n\tstring ipTo = 3; // v0.4.8新增,结束IP,和ipItemId二选一\n\tint64 ipListId = 4; // v0.4.8新增,IP列表,IP所在的IP列表,如果不指定,则会删除所有IP列表中的相关IP信息\n}",
|
||||||
"doc": "删除IP\n可以使用 ipItemId 删除,也可以使用 ipFrom+ipTo+ipListId 删除,如果只是单个IP,则不需要指定ipTo"
|
"doc": "删除IP\n可以使用 ipItemId 删除,也可以使用 ipFrom+ipTo+ipListId 删除,如果只是单个IP,则不需要指定ipTo"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -16954,6 +16979,16 @@
|
|||||||
"code": "message FindAdminFullnameResponse {\n\tstring fullname = 1;\n}",
|
"code": "message FindAdminFullnameResponse {\n\tstring fullname = 1;\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "FindAdminWithUsernameRequest",
|
||||||
|
"code": "message FindAdminWithUsernameRequest {\n\tstring username = 1; // 管理员用户名\n}",
|
||||||
|
"doc": "使用用管理员户名查找管理员信息"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "FindAdminWithUsernameResponse",
|
||||||
|
"code": "message FindAdminWithUsernameResponse {\n\tAdmin admin = 1; // 管理员信息\n}",
|
||||||
|
"doc": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "FindAllACMEProviderAccountsWithProviderCodeRequest",
|
"name": "FindAllACMEProviderAccountsWithProviderCodeRequest",
|
||||||
"code": "message FindAllACMEProviderAccountsWithProviderCodeRequest {\n\tstring acmeProviderCode = 1;\n}",
|
"code": "message FindAllACMEProviderAccountsWithProviderCodeRequest {\n\tstring acmeProviderCode = 1;\n}",
|
||||||
@@ -17591,12 +17626,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FindAllEnabledRegionProvincesWithCountryIdRequest",
|
"name": "FindAllEnabledRegionProvincesWithCountryIdRequest",
|
||||||
"code": "message FindAllEnabledRegionProvincesWithCountryIdRequest {\n\tint64 regionCountryId = 1;\n}",
|
"code": "message FindAllEnabledRegionProvincesWithCountryIdRequest {\n\tint64 regionCountryId = 1; // 国家|地区ID\n}",
|
||||||
"doc": "查找所有省份"
|
"doc": "根据国家|地区ID查找所有省份"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FindAllEnabledRegionProvincesWithCountryIdResponse",
|
"name": "FindAllEnabledRegionProvincesWithCountryIdResponse",
|
||||||
"code": "message FindAllEnabledRegionProvincesWithCountryIdResponse {\n\trepeated RegionProvince regionProvinces = 1;\n}",
|
"code": "message FindAllEnabledRegionProvincesWithCountryIdResponse {\n\trepeated RegionProvince regionProvinces = 1; // 省份列表\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -17919,14 +17954,24 @@
|
|||||||
"code": "message FindAllRegionProvidersResponse {\n\trepeated RegionProvider regionProviders = 1;\n}",
|
"code": "message FindAllRegionProvidersResponse {\n\trepeated RegionProvider regionProviders = 1;\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "FindAllRegionProvincesRequest",
|
||||||
|
"code": "message FindAllRegionProvincesRequest {\n\n}",
|
||||||
|
"doc": "查找所有国家|地区的所有省份"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "FindAllRegionProvincesResponse",
|
||||||
|
"code": "message FindAllRegionProvincesResponse {\n\trepeated RegionProvince regionProvinces = 1; // 省份列表\n}",
|
||||||
|
"doc": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "FindAllRegionProvincesWithRegionCountryIdRequest",
|
"name": "FindAllRegionProvincesWithRegionCountryIdRequest",
|
||||||
"code": "message FindAllRegionProvincesWithRegionCountryIdRequest {\n\tint64 regionCountryId = 1;\n}",
|
"code": "message FindAllRegionProvincesWithRegionCountryIdRequest {\n\tint64 regionCountryId = 1; // 国家|地区ID\n}",
|
||||||
"doc": "查找所有省份"
|
"doc": "根据国家|地区ID查找所有省份"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FindAllRegionProvincesWithRegionCountryIdResponse",
|
"name": "FindAllRegionProvincesWithRegionCountryIdResponse",
|
||||||
"code": "message FindAllRegionProvincesWithRegionCountryIdResponse {\n\trepeated RegionProvince regionProvinces = 1;\n}",
|
"code": "message FindAllRegionProvincesWithRegionCountryIdResponse {\n\trepeated RegionProvince regionProvinces = 1; // 省份列表\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -18316,12 +18361,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FindEnabledDNSProviderRequest",
|
"name": "FindEnabledDNSProviderRequest",
|
||||||
"code": "message FindEnabledDNSProviderRequest {\n\tint64 dnsProviderId = 1;\n}",
|
"code": "message FindEnabledDNSProviderRequest {\n\tint64 dnsProviderId = 1; // DNS服务商ID\n\tbool maskParams = 2; // 是否对参数中的密钥进行掩码\n}",
|
||||||
"doc": "查找单个服务商"
|
"doc": "查找单个服务商"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FindEnabledDNSProviderResponse",
|
"name": "FindEnabledDNSProviderResponse",
|
||||||
"code": "message FindEnabledDNSProviderResponse {\n\tDNSProvider dnsProvider = 1;\n}",
|
"code": "message FindEnabledDNSProviderResponse {\n\tDNSProvider dnsProvider = 1; // DNS服务商信息\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -18896,12 +18941,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FindEnabledRegionProvinceRequest",
|
"name": "FindEnabledRegionProvinceRequest",
|
||||||
"code": "message FindEnabledRegionProvinceRequest {\n\tint64 regionProvinceId = 1;\n}",
|
"code": "message FindEnabledRegionProvinceRequest {\n\tint64 regionProvinceId = 1; // 省份ID\n}",
|
||||||
"doc": "查找单个省份信息"
|
"doc": "查找单个省份信息"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FindEnabledRegionProvinceResponse",
|
"name": "FindEnabledRegionProvinceResponse",
|
||||||
"code": "message FindEnabledRegionProvinceResponse {\n\tRegionProvince regionProvince = 1;\n}",
|
"code": "message FindEnabledRegionProvinceResponse {\n\tRegionProvince regionProvince = 1; // 省份信息\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -20081,12 +20126,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FindRegionProvinceRequest",
|
"name": "FindRegionProvinceRequest",
|
||||||
"code": "message FindRegionProvinceRequest {\n\tint64 regionProvinceId = 1;\n}",
|
"code": "message FindRegionProvinceRequest {\n\tint64 regionProvinceId = 1; // 省份ID\n}",
|
||||||
"doc": "查找单个省份信息"
|
"doc": "查找单个省份信息"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FindRegionProvinceResponse",
|
"name": "FindRegionProvinceResponse",
|
||||||
"code": "message FindRegionProvinceResponse {\n\tRegionProvince regionProvince = 1;\n}",
|
"code": "message FindRegionProvinceResponse {\n\tRegionProvince regionProvince = 1; // 省份信息\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -20561,7 +20606,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "HTTPCacheTaskKey",
|
"name": "HTTPCacheTaskKey",
|
||||||
"code": "message HTTPCacheTaskKey {\n\tint64 id = 1; // 缓存键ID\n\tint64 taskId = 2; // 任务ID\n\tstring key = 3; // 缓存键\n\tstring type = 4; // 操作类型:purge|fetch\n\tstring keyType = 5; // 键类型:key|prefix\n\tbool isDone = 6; // 是否已完成\n\tbool isDoing = 9; // 是否执行中\n\tbytes errorsJSON = 7; // 错误信息\n\tint64 nodeClusterId = 8; // 所属集群ID\n}",
|
"code": "message HTTPCacheTaskKey {\n\tint64 id = 1; // 缓存键ID\n\tint64 taskId = 2; // 任务ID\n\tstring key = 3; // 缓存键\n\tstring type = 4; // 操作类型:purge|fetch\n\tstring keyType = 5; // 键类型:key|prefix\n\tbool isDone = 6; // 是否已完成\n\tbool isDoing = 9; // 是否执行中\n\tbytes errorsJSON = 7; // 错误信息\n\tint64 nodeClusterId = 8; // 所属集群ID\n\n\tNodeCluster nodeCluster = 30; // 所属集群,不一定有内容\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -20571,7 +20616,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "HTTPFirewallPolicy",
|
"name": "HTTPFirewallPolicy",
|
||||||
"code": "message HTTPFirewallPolicy {\n\tint64 id = 1; // 策略ID\n\tstring name = 2; // 名称\n\tstring mode = 7; // 模式\n\tbool isOn = 3; // 是否启用\n\tstring description = 4; // 描述\n\tbytes inboundJSON = 5; // 入站配置\n\tbytes outboundJSON = 6; // 出站配置\n\tint64 serverId = 8; // 所属网站ID(如果为0表示公共策略)\n\tbool useLocalFirewall = 9; // 是否使用本机防火墙\n\tbytes synFloodJSON = 10; // synflood配置\n\tbytes blockOptionsJSON = 11; // 阻止动作配置\n\tbytes pageOptionsJSON = 13; // 显示网页动作配置\n\tbytes captchaOptionsJSON = 12; // 人机识别配置\n}",
|
"code": "message HTTPFirewallPolicy {\n\tint64 id = 1; // 策略ID\n\tstring name = 2; // 名称\n\tstring mode = 7; // 模式\n\tbool isOn = 3; // 是否启用\n\tstring description = 4; // 描述\n\tbytes inboundJSON = 5; // 入站配置\n\tbytes outboundJSON = 6; // 出站配置\n\tint64 serverId = 8; // 所属网站ID(如果为0表示公共策略)\n\tbool useLocalFirewall = 9; // 是否使用本机防火墙\n\tbytes synFloodJSON = 10; // synflood配置\n\tbytes blockOptionsJSON = 11; // 阻止动作配置\n\tbytes pageOptionsJSON = 13; // 显示网页动作配置\n\tbytes captchaOptionsJSON = 12; // 人机识别配置\n\tbytes jsCookieOptionsJSON = 14; // JSCookie动作配置\n}",
|
||||||
"doc": "WAF策略"
|
"doc": "WAF策略"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -20601,7 +20646,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "IPItem",
|
"name": "IPItem",
|
||||||
"code": "message IPItem {\n\tint64 id = 1;\n\tstring ipFrom = 2;\n\tstring ipTo = 3;\n\tint64 version = 4;\n\tint64 expiredAt = 5;\n\tstring reason = 6;\n\tint64 listId = 7;\n\tbool isDeleted = 8;\n\tstring type = 9;\n\tstring eventLevel = 10; // 级别\n\tstring listType = 11; // 所在名单类型,来自名单\n\tbool isGlobal = 20; // 是否全局,来自名单\n\tint64 createdAt = 12;\n\n\tint64 nodeId = 13;\n\tint64 serverId = 14;\n\n\tint64 sourceNodeId = 15;\n\tint64 sourceServerId = 16;\n\tint64 sourceHTTPFirewallPolicyId = 17;\n\tint64 sourceHTTPFirewallRuleGroupId = 18;\n\tint64 sourceHTTPFirewallRuleSetId = 19;\n\n\tbool isRead = 21;\n\n\tServer sourceServer = 30;\n\tServer server = 34;\n\tHTTPFirewallPolicy sourceHTTPFirewallPolicy = 31;\n\tHTTPFirewallRuleGroup sourceHTTPFirewallRuleGroup = 32;\n\tHTTPFirewallRuleSet sourceHTTPFirewallRuleSet = 33;\n\tNode sourceNode = 35;\n\n}",
|
"code": "message IPItem {\n\tint64 id = 1;\n\tstring value = 22; // 原始值,比如单个IP、IP范围或者CIDR\n\tstring ipFrom = 2;\n\tstring ipTo = 3;\n\tint64 version = 4;\n\tint64 expiredAt = 5;\n\tstring reason = 6;\n\tint64 listId = 7;\n\tbool isDeleted = 8;\n\tstring type = 9;\n\tstring eventLevel = 10; // 级别\n\tstring listType = 11; // 所在名单类型,来自名单\n\tbool isGlobal = 20; // 是否全局,来自名单\n\tint64 createdAt = 12;\n\n\tint64 nodeId = 13;\n\tint64 serverId = 14;\n\n\tint64 sourceNodeId = 15;\n\tint64 sourceServerId = 16;\n\tint64 sourceHTTPFirewallPolicyId = 17;\n\tint64 sourceHTTPFirewallRuleGroupId = 18;\n\tint64 sourceHTTPFirewallRuleSetId = 19;\n\n\tbool isRead = 21;\n\n\tServer sourceServer = 30;\n\tServer server = 34;\n\tHTTPFirewallPolicy sourceHTTPFirewallPolicy = 31;\n\tHTTPFirewallRuleGroup sourceHTTPFirewallRuleGroup = 32;\n\tHTTPFirewallRuleSet sourceHTTPFirewallRuleSet = 33;\n\tNode sourceNode = 35;\n\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -21646,7 +21691,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "NodeCluster",
|
"name": "NodeCluster",
|
||||||
"code": "message NodeCluster {\n\tint64 id = 1;\n\tstring name = 2;\n\tint64 createdAt = 3;\n\tint64 nodeGrantId = 4;\n\tstring installDir = 5;\n\tstring uniqueId = 6;\n\tstring secret = 7;\n\tstring dnsName = 8;\n\tint64 dnsDomainId = 9;\n\tstring dnsDefaultRoute = 22; // DNS默认线路\n\tint64 httpCachePolicyId = 10;\n\tint64 httpFirewallPolicyId = 11;\n\tbool isOn = 12;\n\tstring timeZone = 13;\n\tint32 nodeMaxThreads = 14;\n\tbool autoOpenPorts = 16;\n\tbool isPinned = 17;\n\tbytes clockJSON = 18;\n\tbool autoRemoteStart = 19;\n\tbool autoInstallNftables = 20;\n\tbytes sshParamsJSON = 21;\n\tbool autoSystemTuning = 23; // 是否自动调节系统参数\n}",
|
"code": "message NodeCluster {\n\tint64 id = 1;\n\tstring name = 2;\n\tint64 createdAt = 3;\n\tint64 nodeGrantId = 4;\n\tstring installDir = 5;\n\tstring uniqueId = 6;\n\tstring secret = 7;\n\tstring dnsName = 8;\n\tint64 dnsDomainId = 9;\n\tstring dnsDefaultRoute = 22; // DNS默认线路\n\tint64 httpCachePolicyId = 10;\n\tint64 httpFirewallPolicyId = 11;\n\tbool isOn = 12;\n\tstring timeZone = 13;\n\tint32 nodeMaxThreads = 14;\n\tbool autoOpenPorts = 16;\n\tbool isPinned = 17;\n\tbytes clockJSON = 18;\n\tbool autoRemoteStart = 19;\n\tbool autoInstallNftables = 20;\n\tbytes sshParamsJSON = 21;\n\tbool autoSystemTuning = 23; // 是否自动调节系统参数\n\tbool autoTrimDisks = 24; // 是否自动TRIM硬盘\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -21866,7 +21911,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "RegionCountry",
|
"name": "RegionCountry",
|
||||||
"code": "message RegionCountry {\n\tint64 id = 1;\n\tstring name = 2;\n\trepeated string codes = 3;\n\trepeated string pinyin = 4;\n\tstring customName = 5;\n\trepeated string customCodes = 6;\n\tstring displayName = 7;\n\tbool isCommon = 8; // 是否常用\n}",
|
"code": "message RegionCountry {\n\tint64 id = 1;\n\tstring name = 2;\n\trepeated string codes = 3;\n\trepeated string pinyin = 4;\n\tstring customName = 5;\n\trepeated string customCodes = 6;\n\tstring displayName = 7;\n\tbool isCommon = 8; // 是否常用\n\tstring routeCode = 9; // 线路代号\n}",
|
||||||
"doc": "国家/地区"
|
"doc": "国家/地区"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -21876,8 +21921,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "RegionProvince",
|
"name": "RegionProvince",
|
||||||
"code": "message RegionProvince {\n\tint64 id = 1;\n\tstring name = 2;\n\trepeated string codes = 3;\n\tint64 regionCountryId = 4;\n\tstring customName = 5;\n\trepeated string customCodes = 6;\n\tstring displayName = 7;\n}",
|
"code": "message RegionProvince {\n\tint64 id = 1;\n\tstring name = 2;\n\trepeated string codes = 3;\n\tint64 regionCountryId = 4;\n\tstring customName = 5;\n\trepeated string customCodes = 6;\n\tstring displayName = 7;\n\n\tRegionCountry regionCountry = 30; // 国家|地区信息\n}",
|
||||||
"doc": ""
|
"doc": "省份|州|区域信息"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "RegionTown",
|
"name": "RegionTown",
|
||||||
@@ -22066,12 +22111,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Server",
|
"name": "Server",
|
||||||
"code": "message Server {\n\tint64 id = 1;\n\tbool isOn = 18;\n\tstring type = 2;\n\tstring name = 3;\n\tstring description = 4;\n\tbytes includeNodes = 5;\n\tbytes excludeNodes = 6;\n\tint64 createdAt = 7;\n\tstring dnsName = 19;\n\tbool supportCNAME = 23;\n\tint64 userPlanId = 24;\n\tint64 userId = 29; // 所属用户ID\n\n\t// 配置相关\n\tbytes config = 17;\n\tbytes serverNamesJSON = 8;\n\tstring firstServerName = 33;\n\tint32 countServerNames = 28;\n\tbool isAuditing = 20;\n\tint64 auditingAt = 25;\n\tbytes auditingServerNamesJSON = 21;\n\tServerNameAuditingResult auditingResult = 22;\n\n\tbytes httpJSON = 9;\n\tbytes httpsJSON = 10;\n\tbytes tcpJSON = 11;\n\tbytes tlsJSON = 12;\n\tbytes unixJSON = 13;\n\tbytes udpJSON = 14;\n\tint64 webId = 15;\n\tbytes reverseProxyJSON = 16;\n\n\tstring bandwidthTime = 26; // 带宽时间\n\tint64 bandwidthBytes = 27; // 带宽字节数\n\tint64 countRequests = 34; // 最近(通常5分钟内)访问量\n\tint64 countAttackRequests = 35; // 最近识别到的攻击访问量\n\n\tNodeCluster nodeCluster = 30;\n\trepeated ServerGroup serverGroups = 31;\n\tUser user = 32;\n}",
|
"code": "message Server {\n\tint64 id = 1;\n\tbool isOn = 18;\n\tstring type = 2;\n\tstring name = 3;\n\tstring description = 4;\n\tbytes includeNodes = 5;\n\tbytes excludeNodes = 6;\n\tint64 createdAt = 7;\n\tstring dnsName = 19;\n\tbool supportCNAME = 23;\n\tint64 userPlanId = 24;\n\tint64 userId = 29; // 所属用户ID\n\n\t// 配置相关\n\tbytes config = 17;\n\tbytes serverNamesJSON = 8;\n\tstring firstServerName = 33;\n\tint32 countServerNames = 28;\n\tbool isAuditing = 20;\n\tint64 auditingAt = 25;\n\tbytes auditingServerNamesJSON = 21;\n\tServerNameAuditingResult auditingResult = 22;\n\n\tbytes httpJSON = 9;\n\tbytes httpsJSON = 10;\n\tbytes tcpJSON = 11;\n\tbytes tlsJSON = 12;\n\tbytes udpJSON = 14;\n\tint64 webId = 15;\n\tbytes reverseProxyJSON = 16;\n\n\tstring bandwidthTime = 26; // 带宽时间\n\tint64 bandwidthBytes = 27; // 带宽字节数\n\tint64 countRequests = 34; // 最近(通常5分钟内)访问量\n\tint64 countAttackRequests = 35; // 最近识别到的攻击访问量\n\n\tNodeCluster nodeCluster = 30;\n\trepeated ServerGroup serverGroups = 31;\n\tUser user = 32;\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ServerBandwidthStat",
|
"name": "ServerBandwidthStat",
|
||||||
"code": "message ServerBandwidthStat {\n\tint64 id = 1; // ID\n\tint64 userId = 2; // 用户ID\n\tint64 serverId = 3; //服务ID\n\tstring day = 4; // 日期,格式YYYYMMDD\n\tstring timeAt = 5; // 时间,格式HHII\n\tint64 bytes = 6; // 峰值带宽字节\n\tint64 totalBytes = 9; // 总流量\n\tint64 bits = 7; // 峰值带宽比特\n\tint64 nodeRegionId = 8; // 节点所在区域ID\n\tint64 cachedBytes = 10; // 总缓存流量\n\tint64 attackBytes = 11; // 总攻击流量\n\tint64 countRequests = 12; // 总请求数\n\tint64 countCachedRequests = 13; // 总缓存请求数\n\tint64 countAttackRequests = 14; // 总攻击请求数\n\tint64 userPlanId = 15; // 绑定的用户套餐ID\n\tint64 countWebsocketConnections = 16; // Websocket连接数\n}",
|
"code": "message ServerBandwidthStat {\n\tint64 id = 1; // ID\n\tint64 userId = 2; // 用户ID\n\tint64 serverId = 3; //服务ID\n\tstring day = 4; // 日期,格式YYYYMMDD\n\tstring timeAt = 5; // 时间,格式HHII\n\tint64 bytes = 6; // 峰值带宽字节\n\tint64 totalBytes = 9; // 总流量\n\tint64 bits = 7; // 峰值带宽比特\n\tint64 nodeRegionId = 8; // 节点所在区域ID\n\tint64 cachedBytes = 10; // 总缓存流量\n\tint64 attackBytes = 11; // 总攻击流量\n\tint64 countRequests = 12; // 总请求数\n\tint64 countCachedRequests = 13; // 总缓存请求数\n\tint64 countAttackRequests = 14; // 总攻击请求数\n\tint64 userPlanId = 15; // 绑定的用户套餐ID\n\tint64 countWebsocketConnections = 16; // Websocket连接数\n\tint64 countIPs = 17; // 总IP数\n}",
|
||||||
"doc": "带宽统计数据"
|
"doc": "带宽统计数据"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -22086,7 +22131,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ServerDailyStat",
|
"name": "ServerDailyStat",
|
||||||
"code": "message ServerDailyStat {\n\tint64 serverId = 1;\n\tint64 userId = 16; // 用户ID\n\tint64 nodeRegionId = 2;\n\tint64 bytes = 3;\n\tint64 cachedBytes = 5;\n\tint64 countRequests = 6;\n\tint64 countCachedRequests = 7;\n\tint64 createdAt = 4;\n\tint64 countAttackRequests = 8;\n\tint64 attackBytes = 9;\n\tbool checkTrafficLimiting = 10;\n\tint64 planId = 11;\n\tstring day = 12;\n\tstring hour = 13;\n\tstring timeFrom = 14;\n\tstring timeTo = 15;\n}",
|
"code": "message ServerDailyStat {\n\tint64 serverId = 1;\n\tint64 userId = 16; // 用户ID\n\tint64 nodeRegionId = 2;\n\tint64 bytes = 3;\n\tint64 cachedBytes = 5;\n\tint64 countRequests = 6;\n\tint64 countCachedRequests = 7;\n\tint64 createdAt = 4;\n\tint64 countAttackRequests = 8;\n\tint64 attackBytes = 9;\n\tbool checkTrafficLimiting = 10;\n\tint64 planId = 11; // 套餐ID\n\tstring day = 12; // 日期 YYYYMMDD\n\tstring hour = 13;\n\tstring timeFrom = 14;\n\tstring timeTo = 15;\n\tint64 countIPs = 17; // 独立IP数量\n}",
|
||||||
"doc": "服务每日统计"
|
"doc": "服务每日统计"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -22486,7 +22531,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "UpdateHTTPFirewallPolicyRequest",
|
"name": "UpdateHTTPFirewallPolicyRequest",
|
||||||
"code": "message UpdateHTTPFirewallPolicyRequest {\n\tint64 httpFirewallPolicyId = 1;\n\tbool isOn = 2;\n\tstring name = 3;\n\tstring description = 4;\n\trepeated string firewallGroupCodes = 5;\n\tbytes blockOptionsJSON = 6; // 阻止动作配置\n\tbytes pageOptionsJSON = 15; // 显示网页动作配置\n\tbytes captchaOptionsJSON = 11; // 验证码动作配置\n\tstring mode = 7;\n\tbool useLocalFirewall = 8; // 是否使用本地防火墙\n\tbytes synFloodJSON = 9; // SYN Flood相关配置\n\tbytes LogJSON = 10; // 日志相关配置\n\tint64 maxRequestBodySize = 12; // 最大文件尺寸,单位为字节\n\tstring denyCountryHTML = 13; // 区域封禁提示\n\tstring denyProvinceHTML = 14; // 省份封禁提示\n}",
|
"code": "message UpdateHTTPFirewallPolicyRequest {\n\tint64 httpFirewallPolicyId = 1;\n\tbool isOn = 2;\n\tstring name = 3;\n\tstring description = 4;\n\trepeated string firewallGroupCodes = 5;\n\tbytes blockOptionsJSON = 6; // 阻止动作配置\n\tbytes pageOptionsJSON = 15; // 显示网页动作配置\n\tbytes captchaOptionsJSON = 11; // 验证码动作配置\n\tbytes jsCookieOptionsJSON = 16; // JSCookie动作配置\n\tstring mode = 7;\n\tbool useLocalFirewall = 8; // 是否使用本地防火墙\n\tbytes synFloodJSON = 9; // SYN Flood相关配置\n\tbytes LogJSON = 10; // 日志相关配置\n\tint64 maxRequestBodySize = 12; // 最大文件尺寸,单位为字节\n\tstring denyCountryHTML = 13; // 区域封禁提示\n\tstring denyProvinceHTML = 14; // 省份封禁提示\n}",
|
||||||
"doc": "修改防火墙策略"
|
"doc": "修改防火墙策略"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -22726,7 +22771,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "UpdateIPItemRequest",
|
"name": "UpdateIPItemRequest",
|
||||||
"code": "message UpdateIPItemRequest {\n\tint64 ipItemId = 1;\n\tstring ipFrom = 2;\n\tstring ipTo = 3;\n\tint64 expiredAt = 4;\n\tstring reason = 5;\n\tstring type = 6; // 类型\n\tstring eventLevel = 7; // 级别\n}",
|
"code": "message UpdateIPItemRequest {\n\tint64 ipItemId = 1;\n\tstring value = 8; // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数\n\tstring ipFrom = 2; // 开始IP\n\tstring ipTo = 3; // 结束IP(可选)\n\tint64 expiredAt = 4;\n\tstring reason = 5;\n\tstring type = 6; // 类型\n\tstring eventLevel = 7; // 级别\n}",
|
||||||
"doc": "修改IP"
|
"doc": "修改IP"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -23046,7 +23091,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "UpdateNodeClusterRequest",
|
"name": "UpdateNodeClusterRequest",
|
||||||
"code": "message UpdateNodeClusterRequest {\n\tint64 nodeClusterId = 1;\n\tstring name = 2;\n\tint64 nodeGrantId = 3;\n\tstring installDir = 4;\n\tstring timeZone = 5;\n\tint32 nodeMaxThreads = 6;\n\tbool autoOpenPorts = 8;\n\tbytes clockJSON = 9;\n\tbool autoRemoteStart = 10;\n\tbool autoInstallNftables = 11;\n\tbytes sshParamsJSON = 12;\n\tbool autoSystemTuning = 13; // 是否自动调节系统参数\n}",
|
"code": "message UpdateNodeClusterRequest {\n\tint64 nodeClusterId = 1;\n\tstring name = 2;\n\tint64 nodeGrantId = 3;\n\tstring installDir = 4;\n\tstring timeZone = 5;\n\tint32 nodeMaxThreads = 6;\n\tbool autoOpenPorts = 8;\n\tbytes clockJSON = 9;\n\tbool autoRemoteStart = 10;\n\tbool autoInstallNftables = 11;\n\tbytes sshParamsJSON = 12;\n\tbool autoSystemTuning = 13; // 是否自动调节系统参数\n\tbool autoTrimDisks = 14; // 是否自动TRIM硬盘\n}",
|
||||||
"doc": "修改集群"
|
"doc": "修改集群"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -23209,6 +23254,11 @@
|
|||||||
"code": "message UpdateOrderMethodRequest {\n\tint64 orderMethodId = 1;\n\tstring name = 2;\n\tstring code = 3;\n\tstring description = 4;\n\n\tstring url = 5;\n\n\tbytes paramsJSON = 7; // 预设支付方式参数\n\n\tbool isOn = 6;\n\tstring clientType = 8;\n\tstring qrcodeTitle = 9;\n}",
|
"code": "message UpdateOrderMethodRequest {\n\tint64 orderMethodId = 1;\n\tstring name = 2;\n\tstring code = 3;\n\tstring description = 4;\n\n\tstring url = 5;\n\n\tbytes paramsJSON = 7; // 预设支付方式参数\n\n\tbool isOn = 6;\n\tstring clientType = 8;\n\tstring qrcodeTitle = 9;\n}",
|
||||||
"doc": "修改支付方式\n不允许修改父级支付方式"
|
"doc": "修改支付方式\n不允许修改父级支付方式"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "UpdateOriginIsOnRequest",
|
||||||
|
"code": "message UpdateOriginIsOnRequest {\n\tint64 originId = 1; // 源站ID\n\tbool isOn = 2; // 是否启用\n}",
|
||||||
|
"doc": "设置源站是否启用"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "UpdateOriginRequest",
|
"name": "UpdateOriginRequest",
|
||||||
"code": "message UpdateOriginRequest {\n\tint64 originId = 1; // 源站ID\n\tstring name = 2; // 可选项\n\tNetworkAddress addr = 3; // 源站网络地址\n\tbytes ossJSON = 16; // OSS配置信息,源站网络地址中protocol为oss:开头时需要设置此项\n\tstring description = 4; // 可选项\n\tint32 weight = 5; // 权重,不小于0,一般设置为10\n\tbool isOn = 6; // 是否启用\n\tbytes connTimeoutJSON = 7; // 可选项\n\tbytes readTimeoutJSON = 8; // 可选项\n\tbytes idleTimeoutJSON = 9; // 可选项\n\tint32 maxConns = 10; // 可选项\n\tint32 maxIdleConns = 11; // 可选项\n\trepeated string domains = 12; // 可选项\n\tbytes certRefJSON = 13; // 可选项\n\tstring host = 14; // 可选项\n\tbool followPort = 15; // 可选项\n\tbool http2Enabled = 17; // 可选项,是否支持HTTP/2,只在HTTPS源站时生效\n}",
|
"code": "message UpdateOriginRequest {\n\tint64 originId = 1; // 源站ID\n\tstring name = 2; // 可选项\n\tNetworkAddress addr = 3; // 源站网络地址\n\tbytes ossJSON = 16; // OSS配置信息,源站网络地址中protocol为oss:开头时需要设置此项\n\tstring description = 4; // 可选项\n\tint32 weight = 5; // 权重,不小于0,一般设置为10\n\tbool isOn = 6; // 是否启用\n\tbytes connTimeoutJSON = 7; // 可选项\n\tbytes readTimeoutJSON = 8; // 可选项\n\tbytes idleTimeoutJSON = 9; // 可选项\n\tint32 maxConns = 10; // 可选项\n\tint32 maxIdleConns = 11; // 可选项\n\trepeated string domains = 12; // 可选项\n\tbytes certRefJSON = 13; // 可选项\n\tstring host = 14; // 可选项\n\tbool followPort = 15; // 可选项\n\tbool http2Enabled = 17; // 可选项,是否支持HTTP/2,只在HTTPS源站时生效\n}",
|
||||||
@@ -23246,7 +23296,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "UpdateRegionProvinceCustomRequest",
|
"name": "UpdateRegionProvinceCustomRequest",
|
||||||
"code": "message UpdateRegionProvinceCustomRequest {\n\tint64 regionProvinceId = 1;\n\tstring customName = 2;\n\trepeated string customCodes = 3;\n}",
|
"code": "message UpdateRegionProvinceCustomRequest {\n\tint64 regionProvinceId = 1; // 省份ID\n\tstring customName = 2; // 自定义名称\n\trepeated string customCodes = 3; // 自定义代号\n}",
|
||||||
"doc": "修改省份定制信息"
|
"doc": "修改省份定制信息"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -23419,11 +23469,6 @@
|
|||||||
"code": "message UpdateServerUDPRequest {\n\tint64 serverId = 1; // 网站ID\n\tbytes udpJSON = 2; // UDP协议设置,当type为udpProxy时填写 @link json:udp_protocol\n}",
|
"code": "message UpdateServerUDPRequest {\n\tint64 serverId = 1; // 网站ID\n\tbytes udpJSON = 2; // UDP协议设置,当type为udpProxy时填写 @link json:udp_protocol\n}",
|
||||||
"doc": ""
|
"doc": ""
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "UpdateServerUnixRequest",
|
|
||||||
"code": "message UpdateServerUnixRequest {\n\tint64 serverId = 1; // 网站ID\n\tbytes unixJSON = 2;\n}",
|
|
||||||
"doc": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "UpdateServerUserPlanRequest",
|
"name": "UpdateServerUserPlanRequest",
|
||||||
"code": "message UpdateServerUserPlanRequest {\n\tint64 serverId = 1; // 网站ID\n\tint64 userPlanId = 2;\n}",
|
"code": "message UpdateServerUserPlanRequest {\n\tint64 serverId = 1; // 网站ID\n\tint64 userPlanId = 2;\n}",
|
||||||
@@ -23556,7 +23601,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "UploadMetricStatsRequest",
|
"name": "UploadMetricStatsRequest",
|
||||||
"code": "message UploadMetricStatsRequest {\n\tint64 serverId = 1;\n\tstring time = 2;\n\tint64 count = 3;\n\tfloat total = 4;\n\tint32 version = 5;\n\tint64 itemId = 6;\n\trepeated UploadingMetricStat metricStats = 7;\n}",
|
"code": "message UploadMetricStatsRequest {\n\tint64 serverId = 1; // 网站ID\n\tstring time = 2; // 时间\n\tint64 count = 3; // 数量\n\tfloat total = 4; // 总数\n\tint32 version = 5; // 版本号\n\tint64 itemId = 6; // 指标ID\n\trepeated UploadingMetricStat metricStats = 7; // 指标统计数据\n\trepeated string keepKeys = 8; // 需要保留的指标值\n}",
|
||||||
"doc": "上传统计数据"
|
"doc": "上传统计数据"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -23783,7 +23828,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "json:http_firewall_ref",
|
"name": "json:http_firewall_ref",
|
||||||
"content": "# HTTP防火墙(即WAF)引用\n## 定义\n~~~json\n{\n \"isPrior\": \"是否覆盖上级配置\",\n \"isOn\": \"是否启用配置\",\n \"firewallPolicyId\": \"WAF策略ID\"\n}\n~~~\n\n## 示例\n~~~json\n{\n \"isPrior\": true,\n \"isOn\": true,\n \"firewallPolicyId\": 123\n}\n~~~"
|
"content": "# HTTP防火墙(即WAF)引用\n## 定义\n~~~json\n{\n \"isPrior\": \"是否覆盖上级配置\",\n \"isOn\": \"是否启用配置\",\n \"firewallPolicyId\": \"WAF策略ID\",\n \"ignoreGlobalRules\": \"是否忽略系统定义的全局规则\",\n \"defaultCaptchaType\": \"默认人机识别方式,可以选none(不设置)、default(默认)、oneClick(单击验证)、slide(滑动解锁)、geetest(极验)\"\n}\n~~~\n\n## 示例\n~~~json\n{\n \"isPrior\": true,\n \"isOn\": true,\n \"firewallPolicyId\": 123,\n \"ignoreGlobalRules\": false,\n \"defaultCaptchaType\": \"none\"\n}\n~~~"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "json:http_protocol",
|
"name": "json:http_protocol",
|
||||||
|
|||||||
18
go.mod
18
go.mod
@@ -1,21 +1,19 @@
|
|||||||
module github.com/TeaOSLab/EdgeCommon
|
module github.com/TeaOSLab/EdgeCommon
|
||||||
|
|
||||||
go 1.18
|
go 1.21
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/golang/protobuf v1.5.2
|
|
||||||
github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f
|
github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f
|
||||||
github.com/tdewolff/minify/v2 v2.12.7
|
golang.org/x/net v0.24.0
|
||||||
golang.org/x/net v0.8.0
|
google.golang.org/grpc v1.62.0
|
||||||
google.golang.org/grpc v1.45.0
|
google.golang.org/protobuf v1.33.0
|
||||||
google.golang.org/protobuf v1.27.1
|
|
||||||
gopkg.in/yaml.v3 v3.0.1
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/golang/protobuf v1.5.3 // indirect
|
||||||
github.com/kr/text v0.2.0 // indirect
|
github.com/kr/text v0.2.0 // indirect
|
||||||
github.com/tdewolff/parse/v2 v2.6.6 // indirect
|
golang.org/x/sys v0.19.0 // indirect
|
||||||
golang.org/x/sys v0.6.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
golang.org/x/text v0.8.0 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect
|
||||||
google.golang.org/genproto v0.0.0-20220317150908-0efb43f6373e // indirect
|
|
||||||
)
|
)
|
||||||
|
|||||||
164
go.sum
164
go.sum
@@ -1,156 +1,38 @@
|
|||||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
|
||||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
|
||||||
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
|
|
||||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
|
||||||
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
|
||||||
github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U=
|
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
|
||||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
|
||||||
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
|
|
||||||
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
|
|
||||||
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
|
||||||
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
|
||||||
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
|
||||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/djherbis/atime v1.1.0/go.mod h1:28OF6Y8s3NQWwacXc5eZTsEsiMzp7LF8MbXE+XJPdBE=
|
|
||||||
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
|
||||||
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
|
||||||
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
|
||||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
|
||||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
|
|
||||||
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
|
|
||||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
|
||||||
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
|
|
||||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
|
||||||
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
|
||||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
|
||||||
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
|
||||||
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
|
|
||||||
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
|
|
||||||
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
|
|
||||||
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
|
|
||||||
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
|
|
||||||
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
|
|
||||||
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
|
|
||||||
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
|
||||||
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
|
||||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||||
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
|
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
||||||
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
|
||||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
|
||||||
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
|
||||||
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
|
||||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
|
||||||
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
|
|
||||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||||
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
|
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f h1:xo6XmXLtveKcwcZAXV6VMxkWNzy/2dStfHEnyowsGAE=
|
github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f h1:xo6XmXLtveKcwcZAXV6VMxkWNzy/2dStfHEnyowsGAE=
|
||||||
github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f/go.mod h1:fi/Pq+/5m2HZoseM+39dMF57ANXRt6w4PkGu3NXPc5s=
|
github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f/go.mod h1:fi/Pq+/5m2HZoseM+39dMF57ANXRt6w4PkGu3NXPc5s=
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||||
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||||
github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs=
|
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
|
||||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
|
||||||
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
|
golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
|
||||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
github.com/tdewolff/minify/v2 v2.12.7 h1:pBzz2tAfz5VghOXiQIsSta6srhmTeinQPjRDHWoumCA=
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
github.com/tdewolff/minify/v2 v2.12.7/go.mod h1:ZRKTheiOGyLSK8hOZWWv+YoJAECzDivNgAlVYDHp/Ws=
|
|
||||||
github.com/tdewolff/parse/v2 v2.6.6 h1:Yld+0CrKUJaCV78DL1G2nk3C9lKrxyRTux5aaK/AkDo=
|
|
||||||
github.com/tdewolff/parse/v2 v2.6.6/go.mod h1:woz0cgbLwFdtbjJu8PIKxhW05KplTFQkOdX78o+Jgrs=
|
|
||||||
github.com/tdewolff/test v1.0.7/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE=
|
|
||||||
github.com/tdewolff/test v1.0.9 h1:SswqJCmeN4B+9gEAi/5uqT0qpi1y2/2O47V/1hhGZT0=
|
|
||||||
github.com/tdewolff/test v1.0.9/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE=
|
|
||||||
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
|
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
|
||||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
|
||||||
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
|
||||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
|
||||||
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
|
|
||||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
|
||||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
|
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
|
||||||
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
|
||||||
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
|
|
||||||
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
||||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
||||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
|
||||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
|
||||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY=
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
|
||||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
|
||||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
|
||||||
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
|
||||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
|
||||||
google.golang.org/genproto v0.0.0-20220317150908-0efb43f6373e h1:fNKDNuUyC4WH+inqDMpfXDdfvwfYILbsX+oskGZ8hxg=
|
|
||||||
google.golang.org/genproto v0.0.0-20220317150908-0efb43f6373e/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E=
|
|
||||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
|
||||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
|
||||||
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
|
||||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
|
||||||
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
|
|
||||||
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
|
||||||
google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M=
|
|
||||||
google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
|
|
||||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
|
||||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
|
||||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
|
||||||
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
|
|
||||||
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
|
|
||||||
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
|
||||||
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
|
||||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
|
||||||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
|
||||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||||
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
|
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
|
||||||
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||||
|
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
||||||
|
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
|
||||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
|
||||||
|
|||||||
@@ -1,41 +1,10 @@
|
|||||||
package configutils
|
package configutils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/binary"
|
|
||||||
"math/big"
|
|
||||||
"net"
|
"net"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
// IPString2Long 将IP转换为整型
|
|
||||||
// 注意IPv6没有顺序
|
|
||||||
func IPString2Long(ip string) uint64 {
|
|
||||||
if len(ip) == 0 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
var netIP = net.ParseIP(ip)
|
|
||||||
if len(netIP) == 0 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
return IP2Long(netIP)
|
|
||||||
}
|
|
||||||
|
|
||||||
// IP2Long 将IP对象转换为整型
|
|
||||||
func IP2Long(netIP net.IP) uint64 {
|
|
||||||
if len(netIP) == 0 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
var b4 = netIP.To4()
|
|
||||||
if b4 != nil {
|
|
||||||
return uint64(binary.BigEndian.Uint32(b4.To4()))
|
|
||||||
}
|
|
||||||
|
|
||||||
var i = big.NewInt(0)
|
|
||||||
i.SetBytes(netIP.To16())
|
|
||||||
return i.Uint64()
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsIPv4 检查是否为IPv4
|
// IsIPv4 检查是否为IPv4
|
||||||
func IsIPv4(netIP net.IP) bool {
|
func IsIPv4(netIP net.IP) bool {
|
||||||
if len(netIP) == 0 {
|
if len(netIP) == 0 {
|
||||||
@@ -69,28 +38,6 @@ func IPVersion(netIP net.IP) int {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// ParseCIDR 计算CIDR最大值
|
|
||||||
func ParseCIDR(cidr string) (ipFrom string, ipTo string, err error) {
|
|
||||||
_, ipNet, err := net.ParseCIDR(cidr)
|
|
||||||
if err != nil {
|
|
||||||
return "", "", err
|
|
||||||
}
|
|
||||||
ipFrom = ipNet.IP.String()
|
|
||||||
Loop:
|
|
||||||
for i := len(ipNet.Mask) - 1; i >= 0; i-- {
|
|
||||||
for j := 7; j >= 0; j-- {
|
|
||||||
var m = ipNet.Mask[i] >> (7 - j) & 1 // 读取某位bit
|
|
||||||
if m == 0 {
|
|
||||||
ipNet.IP[i] |= 1 << j // 将此位置为1
|
|
||||||
} else {
|
|
||||||
break Loop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ipTo = ipNet.IP.String()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// QuoteIP 为IPv6加上括号
|
// QuoteIP 为IPv6加上括号
|
||||||
func QuoteIP(ip string) string {
|
func QuoteIP(ip string) string {
|
||||||
if len(ip) == 0 {
|
if len(ip) == 0 {
|
||||||
|
|||||||
@@ -3,25 +3,12 @@
|
|||||||
package configutils_test
|
package configutils_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
|
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
|
||||||
"github.com/iwind/TeaGo/assert"
|
"github.com/iwind/TeaGo/assert"
|
||||||
"net"
|
"net"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestParseCIDR(t *testing.T) {
|
|
||||||
t.Log(configutils.ParseCIDR("192.168.1.1/32"))
|
|
||||||
t.Log(configutils.ParseCIDR("192.168.1.1/24"))
|
|
||||||
t.Log(configutils.ParseCIDR("192.168.1.1/16"))
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestIPString2Long(t *testing.T) {
|
|
||||||
for _, ip := range []string{"127.0.0.1", "192.168.1.100", "::1", "fd00:6868:6868:0:10ac:d056:3bf6:7452", "fd00:6868:6868:0:10ac:d056:3bf6:7453", "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "wrong ip"} {
|
|
||||||
t.Log(fmt.Sprintf("%42s", ip), "=>", configutils.IPString2Long(ip))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestIsIPv4(t *testing.T) {
|
func TestIsIPv4(t *testing.T) {
|
||||||
t.Log(configutils.IsIPv4(net.ParseIP("192.168.1.100")))
|
t.Log(configutils.IsIPv4(net.ParseIP("192.168.1.100")))
|
||||||
t.Log(configutils.IsIPv4(net.ParseIP("::1")))
|
t.Log(configutils.IsIPv4(net.ParseIP("::1")))
|
||||||
@@ -40,7 +27,6 @@ func TestIPVersion(t *testing.T) {
|
|||||||
a.IsTrue(configutils.IPVersion(net.ParseIP("2001:0db8:85a3:0000:0000:8a2e:0370:7334")) == 6)
|
a.IsTrue(configutils.IPVersion(net.ParseIP("2001:0db8:85a3:0000:0000:8a2e:0370:7334")) == 6)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func TestQuoteIP(t *testing.T) {
|
func TestQuoteIP(t *testing.T) {
|
||||||
t.Log(configutils.QuoteIP(configutils.QuoteIP("2001:da8:22::10")))
|
t.Log(configutils.QuoteIP(configutils.QuoteIP("2001:da8:22::10")))
|
||||||
}
|
}
|
||||||
1
pkg/iplibrary/.gitignore
vendored
1
pkg/iplibrary/.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
*-plus.db
|
*-plus.db
|
||||||
|
internal-ip-library-test.db
|
||||||
@@ -33,7 +33,7 @@ func InitDefault() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var library = NewIPLibrary()
|
var library = NewIPLibrary()
|
||||||
err := library.InitFromData(ipLibraryData, "")
|
err := library.InitFromData(ipLibraryData, "", ReaderVersionV1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -66,18 +66,18 @@ func LookupIPSummaries(ipList []string) map[string]string /** ip => summary **/
|
|||||||
}
|
}
|
||||||
|
|
||||||
type IPLibrary struct {
|
type IPLibrary struct {
|
||||||
reader *Reader
|
reader ReaderInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewIPLibrary() *IPLibrary {
|
func NewIPLibrary() *IPLibrary {
|
||||||
return &IPLibrary{}
|
return &IPLibrary{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewIPLibraryWithReader(reader *Reader) *IPLibrary {
|
func NewIPLibraryWithReader(reader ReaderInterface) *IPLibrary {
|
||||||
return &IPLibrary{reader: reader}
|
return &IPLibrary{reader: reader}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *IPLibrary) InitFromData(data []byte, password string) error {
|
func (this *IPLibrary) InitFromData(data []byte, password string, version ReaderVersion) error {
|
||||||
if len(data) == 0 || this.reader != nil {
|
if len(data) == 0 || this.reader != nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -99,7 +99,12 @@ func (this *IPLibrary) InitFromData(data []byte, password string) error {
|
|||||||
_ = gzipReader.Close()
|
_ = gzipReader.Close()
|
||||||
}()
|
}()
|
||||||
|
|
||||||
libReader, err := NewReader(gzipReader)
|
var libReader ReaderInterface
|
||||||
|
if version == ReaderVersionV2 {
|
||||||
|
libReader, err = NewReaderV2(gzipReader)
|
||||||
|
} else {
|
||||||
|
libReader, err = NewReaderV1(gzipReader)
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import (
|
|||||||
func TestIPLibrary_Init(t *testing.T) {
|
func TestIPLibrary_Init(t *testing.T) {
|
||||||
var lib = iplibrary.NewIPLibrary()
|
var lib = iplibrary.NewIPLibrary()
|
||||||
|
|
||||||
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "")
|
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "", iplibrary.ReaderVersionV1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -38,7 +38,7 @@ func TestIPLibrary_Lookup(t *testing.T) {
|
|||||||
|
|
||||||
var before = time.Now()
|
var before = time.Now()
|
||||||
|
|
||||||
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "")
|
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "", iplibrary.ReaderVersionV1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -69,7 +69,7 @@ func TestIPLibrary_Lookup(t *testing.T) {
|
|||||||
|
|
||||||
func TestIPLibrary_LookupIP(t *testing.T) {
|
func TestIPLibrary_LookupIP(t *testing.T) {
|
||||||
var lib = iplibrary.NewIPLibrary()
|
var lib = iplibrary.NewIPLibrary()
|
||||||
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "")
|
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "", iplibrary.ReaderVersionV1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -88,7 +88,7 @@ func TestIPLibrary_LookupIP(t *testing.T) {
|
|||||||
|
|
||||||
func TestIPLibrary_LookupIP_Summary(t *testing.T) {
|
func TestIPLibrary_LookupIP_Summary(t *testing.T) {
|
||||||
var lib = iplibrary.NewIPLibrary()
|
var lib = iplibrary.NewIPLibrary()
|
||||||
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "")
|
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "", iplibrary.ReaderVersionV1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -123,7 +123,7 @@ func TestIPLibrary_LookupIPSummaries(t *testing.T) {
|
|||||||
|
|
||||||
func BenchmarkIPLibrary_Lookup(b *testing.B) {
|
func BenchmarkIPLibrary_Lookup(b *testing.B) {
|
||||||
var lib = iplibrary.NewIPLibrary()
|
var lib = iplibrary.NewIPLibrary()
|
||||||
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "")
|
err := lib.InitFromData(iplibrary.DefaultIPLibraryData(), "", iplibrary.ReaderVersionV1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,20 +6,34 @@ import (
|
|||||||
"github.com/iwind/TeaGo/types"
|
"github.com/iwind/TeaGo/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ipv4Item struct {
|
type ipv4ItemV1 struct {
|
||||||
IPFrom uint32
|
IPFrom uint32
|
||||||
IPTo uint32
|
IPTo uint32
|
||||||
|
|
||||||
Region *ipRegion
|
Region *ipRegion
|
||||||
}
|
}
|
||||||
|
|
||||||
type ipv6Item struct {
|
type ipv6ItemV1 struct {
|
||||||
IPFrom uint64
|
IPFrom uint64
|
||||||
IPTo uint64
|
IPTo uint64
|
||||||
|
|
||||||
Region *ipRegion
|
Region *ipRegion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ipv4ItemV2 struct {
|
||||||
|
IPFrom [4]byte
|
||||||
|
IPTo [4]byte
|
||||||
|
|
||||||
|
Region *ipRegion
|
||||||
|
}
|
||||||
|
|
||||||
|
type ipv6ItemV2 struct {
|
||||||
|
IPFrom [16]byte
|
||||||
|
IPTo [16]byte
|
||||||
|
|
||||||
|
Region *ipRegion
|
||||||
|
}
|
||||||
|
|
||||||
type ipRegion struct {
|
type ipRegion struct {
|
||||||
CountryId uint16
|
CountryId uint16
|
||||||
ProvinceId uint16
|
ProvinceId uint16
|
||||||
|
|||||||
@@ -4,11 +4,14 @@ package iplibrary
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"encoding/binary"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
|
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
|
||||||
"io"
|
"io"
|
||||||
|
"math/big"
|
||||||
"net"
|
"net"
|
||||||
|
"runtime"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -20,8 +23,8 @@ type Reader struct {
|
|||||||
|
|
||||||
regionMap map[string]*ipRegion // 缓存重复的区域用来节约内存
|
regionMap map[string]*ipRegion // 缓存重复的区域用来节约内存
|
||||||
|
|
||||||
ipV4Items []ipv4Item
|
ipV4Items []ipv4ItemV1
|
||||||
ipV6Items []ipv6Item
|
ipV6Items []ipv6ItemV1
|
||||||
|
|
||||||
lastIPFrom uint64
|
lastIPFrom uint64
|
||||||
lastCountryId uint16
|
lastCountryId uint16
|
||||||
@@ -31,11 +34,18 @@ type Reader struct {
|
|||||||
lastProviderId uint16
|
lastProviderId uint16
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewReader 创建新Reader对象
|
// NewReaderV1 创建新Reader对象
|
||||||
func NewReader(reader io.Reader) (*Reader, error) {
|
func NewReaderV1(reader io.Reader) (*Reader, error) {
|
||||||
var libReader = &Reader{
|
var libReader = &Reader{
|
||||||
regionMap: map[string]*ipRegion{},
|
regionMap: map[string]*ipRegion{},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if runtime.NumCPU() >= 4 /** CPU数量较多的通常有着大内存 **/ {
|
||||||
|
libReader.ipV4Items = make([]ipv4ItemV1, 0, 6_000_000)
|
||||||
|
} else {
|
||||||
|
libReader.ipV4Items = make([]ipv4ItemV1, 0, 600_000)
|
||||||
|
}
|
||||||
|
|
||||||
err := libReader.load(reader)
|
err := libReader.load(reader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -123,7 +133,7 @@ func (this *Reader) Lookup(ip net.IP) *QueryResult {
|
|||||||
return &QueryResult{}
|
return &QueryResult{}
|
||||||
}
|
}
|
||||||
|
|
||||||
var ipLong = configutils.IP2Long(ip)
|
var ipLong = this.ip2long(ip)
|
||||||
var isV4 = configutils.IsIPv4(ip)
|
var isV4 = configutils.IsIPv4(ip)
|
||||||
var resultItem any
|
var resultItem any
|
||||||
if isV4 {
|
if isV4 {
|
||||||
@@ -162,11 +172,11 @@ func (this *Reader) Meta() *Meta {
|
|||||||
return this.meta
|
return this.meta
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Reader) IPv4Items() []ipv4Item {
|
func (this *Reader) IPv4Items() []ipv4ItemV1 {
|
||||||
return this.ipV4Items
|
return this.ipV4Items
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Reader) IPv6Items() []ipv6Item {
|
func (this *Reader) IPv6Items() []ipv6ItemV1 {
|
||||||
return this.ipV6Items
|
return this.ipV6Items
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -296,13 +306,13 @@ func (this *Reader) parseLine(line []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if version == "4" {
|
if version == "4" {
|
||||||
this.ipV4Items = append(this.ipV4Items, ipv4Item{
|
this.ipV4Items = append(this.ipV4Items, ipv4ItemV1{
|
||||||
IPFrom: uint32(ipFrom),
|
IPFrom: uint32(ipFrom),
|
||||||
IPTo: uint32(ipTo),
|
IPTo: uint32(ipTo),
|
||||||
Region: region,
|
Region: region,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.ipV6Items = append(this.ipV6Items, ipv6Item{
|
this.ipV6Items = append(this.ipV6Items, ipv6ItemV1{
|
||||||
IPFrom: ipFrom,
|
IPFrom: ipFrom,
|
||||||
IPTo: ipTo,
|
IPTo: ipTo,
|
||||||
Region: region,
|
Region: region,
|
||||||
@@ -320,3 +330,18 @@ func (this *Reader) decodeUint64(s string) uint64 {
|
|||||||
i, _ := strconv.ParseUint(s, 10, 64)
|
i, _ := strconv.ParseUint(s, 10, 64)
|
||||||
return i
|
return i
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *Reader) ip2long(netIP net.IP) uint64 {
|
||||||
|
if len(netIP) == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
var b4 = netIP.To4()
|
||||||
|
if b4 != nil {
|
||||||
|
return uint64(binary.BigEndian.Uint32(b4.To4()))
|
||||||
|
}
|
||||||
|
|
||||||
|
var i = big.NewInt(0)
|
||||||
|
i.SetBytes(netIP.To16())
|
||||||
|
return i.Uint64()
|
||||||
|
}
|
||||||
|
|||||||
@@ -9,10 +9,12 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
type FileReader struct {
|
type FileReader struct {
|
||||||
rawReader *Reader
|
rawReader ReaderInterface
|
||||||
//password string
|
//password string
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,10 +27,15 @@ func NewFileReader(path string, password string) (*FileReader, error) {
|
|||||||
_ = fp.Close()
|
_ = fp.Close()
|
||||||
}()
|
}()
|
||||||
|
|
||||||
return NewFileDataReader(fp, password)
|
var version = ReaderVersionV1
|
||||||
|
if strings.HasSuffix(filepath.Base(path), ".v2.db") {
|
||||||
|
version = ReaderVersionV2
|
||||||
|
}
|
||||||
|
|
||||||
|
return NewFileDataReader(fp, password, version)
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewFileDataReader(dataReader io.Reader, password string) (*FileReader, error) {
|
func NewFileDataReader(dataReader io.Reader, password string, readerVersion ReaderVersion) (*FileReader, error) {
|
||||||
if len(password) > 0 {
|
if len(password) > 0 {
|
||||||
data, err := io.ReadAll(dataReader)
|
data, err := io.ReadAll(dataReader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -48,7 +55,12 @@ func NewFileDataReader(dataReader io.Reader, password string) (*FileReader, erro
|
|||||||
return nil, fmt.Errorf("create gzip reader failed: %w", err)
|
return nil, fmt.Errorf("create gzip reader failed: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
reader, err := NewReader(gzReader)
|
var reader ReaderInterface
|
||||||
|
if readerVersion == ReaderVersionV2 {
|
||||||
|
reader, err = NewReaderV2(gzReader)
|
||||||
|
} else {
|
||||||
|
reader, err = NewReaderV1(gzReader)
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -59,13 +71,13 @@ func NewFileDataReader(dataReader io.Reader, password string) (*FileReader, erro
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *FileReader) Meta() *Meta {
|
func (this *FileReader) Meta() *Meta {
|
||||||
return this.rawReader.meta
|
return this.rawReader.Meta()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *FileReader) Lookup(ip net.IP) *QueryResult {
|
func (this *FileReader) Lookup(ip net.IP) *QueryResult {
|
||||||
return this.rawReader.Lookup(ip)
|
return this.rawReader.Lookup(ip)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *FileReader) RawReader() *Reader {
|
func (this *FileReader) RawReader() ReaderInterface {
|
||||||
return this.rawReader
|
return this.rawReader
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,12 +6,13 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"github.com/TeaOSLab/EdgeCommon/pkg/iplibrary"
|
"github.com/TeaOSLab/EdgeCommon/pkg/iplibrary"
|
||||||
"github.com/iwind/TeaGo/maps"
|
"github.com/iwind/TeaGo/maps"
|
||||||
|
stringutil "github.com/iwind/TeaGo/utils/string"
|
||||||
"net"
|
"net"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewFileReader(t *testing.T) {
|
func TestNewFileReader(t *testing.T) {
|
||||||
reader, err := iplibrary.NewFileReader("./ip-20c1461c.db", "123456")
|
reader, err := iplibrary.NewFileReader("./default_ip_library_plus_test.go", stringutil.Md5("123456"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
18
pkg/iplibrary/reader_interface.go
Normal file
18
pkg/iplibrary/reader_interface.go
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iplibrary
|
||||||
|
|
||||||
|
import "net"
|
||||||
|
|
||||||
|
type ReaderVersion = int
|
||||||
|
|
||||||
|
const (
|
||||||
|
ReaderVersionV1 ReaderVersion = 0
|
||||||
|
ReaderVersionV2 ReaderVersion = 2
|
||||||
|
)
|
||||||
|
|
||||||
|
type ReaderInterface interface {
|
||||||
|
Meta() *Meta
|
||||||
|
Lookup(ip net.IP) *QueryResult
|
||||||
|
Destroy()
|
||||||
|
}
|
||||||
@@ -213,13 +213,21 @@ func (this *QueryResult) RegionSummary() string {
|
|||||||
func (this *QueryResult) realCountryId() uint16 {
|
func (this *QueryResult) realCountryId() uint16 {
|
||||||
if this.item != nil {
|
if this.item != nil {
|
||||||
switch item := this.item.(type) {
|
switch item := this.item.(type) {
|
||||||
case *ipv4Item:
|
case *ipv4ItemV1:
|
||||||
return item.Region.CountryId
|
return item.Region.CountryId
|
||||||
case ipv4Item:
|
case ipv4ItemV1:
|
||||||
return item.Region.CountryId
|
return item.Region.CountryId
|
||||||
case *ipv6Item:
|
case *ipv6ItemV1:
|
||||||
return item.Region.CountryId
|
return item.Region.CountryId
|
||||||
case ipv6Item:
|
case ipv6ItemV1:
|
||||||
|
return item.Region.CountryId
|
||||||
|
case *ipv4ItemV2:
|
||||||
|
return item.Region.CountryId
|
||||||
|
case ipv4ItemV2:
|
||||||
|
return item.Region.CountryId
|
||||||
|
case *ipv6ItemV2:
|
||||||
|
return item.Region.CountryId
|
||||||
|
case ipv6ItemV2:
|
||||||
return item.Region.CountryId
|
return item.Region.CountryId
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,13 +238,21 @@ func (this *QueryResult) realCountryId() uint16 {
|
|||||||
func (this *QueryResult) realProvinceId() uint16 {
|
func (this *QueryResult) realProvinceId() uint16 {
|
||||||
if this.item != nil {
|
if this.item != nil {
|
||||||
switch item := this.item.(type) {
|
switch item := this.item.(type) {
|
||||||
case *ipv4Item:
|
case *ipv4ItemV1:
|
||||||
return item.Region.ProvinceId
|
return item.Region.ProvinceId
|
||||||
case ipv4Item:
|
case ipv4ItemV1:
|
||||||
return item.Region.ProvinceId
|
return item.Region.ProvinceId
|
||||||
case *ipv6Item:
|
case *ipv6ItemV1:
|
||||||
return item.Region.ProvinceId
|
return item.Region.ProvinceId
|
||||||
case ipv6Item:
|
case ipv6ItemV1:
|
||||||
|
return item.Region.ProvinceId
|
||||||
|
case *ipv4ItemV2:
|
||||||
|
return item.Region.ProvinceId
|
||||||
|
case ipv4ItemV2:
|
||||||
|
return item.Region.ProvinceId
|
||||||
|
case *ipv6ItemV2:
|
||||||
|
return item.Region.ProvinceId
|
||||||
|
case ipv6ItemV2:
|
||||||
return item.Region.ProvinceId
|
return item.Region.ProvinceId
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,13 +263,21 @@ func (this *QueryResult) realProvinceId() uint16 {
|
|||||||
func (this *QueryResult) realCityId() uint32 {
|
func (this *QueryResult) realCityId() uint32 {
|
||||||
if this.item != nil {
|
if this.item != nil {
|
||||||
switch item := this.item.(type) {
|
switch item := this.item.(type) {
|
||||||
case *ipv4Item:
|
case *ipv4ItemV1:
|
||||||
return item.Region.CityId
|
return item.Region.CityId
|
||||||
case ipv4Item:
|
case ipv4ItemV1:
|
||||||
return item.Region.CityId
|
return item.Region.CityId
|
||||||
case *ipv6Item:
|
case *ipv6ItemV1:
|
||||||
return item.Region.CityId
|
return item.Region.CityId
|
||||||
case ipv6Item:
|
case ipv6ItemV1:
|
||||||
|
return item.Region.CityId
|
||||||
|
case *ipv4ItemV2:
|
||||||
|
return item.Region.CityId
|
||||||
|
case ipv4ItemV2:
|
||||||
|
return item.Region.CityId
|
||||||
|
case *ipv6ItemV2:
|
||||||
|
return item.Region.CityId
|
||||||
|
case ipv6ItemV2:
|
||||||
return item.Region.CityId
|
return item.Region.CityId
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -264,13 +288,21 @@ func (this *QueryResult) realCityId() uint32 {
|
|||||||
func (this *QueryResult) realTownId() uint32 {
|
func (this *QueryResult) realTownId() uint32 {
|
||||||
if this.item != nil {
|
if this.item != nil {
|
||||||
switch item := this.item.(type) {
|
switch item := this.item.(type) {
|
||||||
case *ipv4Item:
|
case *ipv4ItemV1:
|
||||||
return item.Region.TownId
|
return item.Region.TownId
|
||||||
case ipv4Item:
|
case ipv4ItemV1:
|
||||||
return item.Region.TownId
|
return item.Region.TownId
|
||||||
case *ipv6Item:
|
case *ipv6ItemV1:
|
||||||
return item.Region.TownId
|
return item.Region.TownId
|
||||||
case ipv6Item:
|
case ipv6ItemV1:
|
||||||
|
return item.Region.TownId
|
||||||
|
case *ipv4ItemV2:
|
||||||
|
return item.Region.TownId
|
||||||
|
case ipv4ItemV2:
|
||||||
|
return item.Region.TownId
|
||||||
|
case *ipv6ItemV2:
|
||||||
|
return item.Region.TownId
|
||||||
|
case ipv6ItemV2:
|
||||||
return item.Region.TownId
|
return item.Region.TownId
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,13 +313,21 @@ func (this *QueryResult) realTownId() uint32 {
|
|||||||
func (this *QueryResult) realProviderId() uint16 {
|
func (this *QueryResult) realProviderId() uint16 {
|
||||||
if this.item != nil {
|
if this.item != nil {
|
||||||
switch item := this.item.(type) {
|
switch item := this.item.(type) {
|
||||||
case *ipv4Item:
|
case *ipv4ItemV1:
|
||||||
return item.Region.ProviderId
|
return item.Region.ProviderId
|
||||||
case ipv4Item:
|
case ipv4ItemV1:
|
||||||
return item.Region.ProviderId
|
return item.Region.ProviderId
|
||||||
case *ipv6Item:
|
case *ipv6ItemV1:
|
||||||
return item.Region.ProviderId
|
return item.Region.ProviderId
|
||||||
case ipv6Item:
|
case ipv6ItemV1:
|
||||||
|
return item.Region.ProviderId
|
||||||
|
case *ipv4ItemV2:
|
||||||
|
return item.Region.ProviderId
|
||||||
|
case ipv4ItemV2:
|
||||||
|
return item.Region.ProviderId
|
||||||
|
case *ipv6ItemV2:
|
||||||
|
return item.Region.ProviderId
|
||||||
|
case ipv6ItemV2:
|
||||||
return item.Region.ProviderId
|
return item.Region.ProviderId
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import (
|
|||||||
|
|
||||||
func TestNewReader(t *testing.T) {
|
func TestNewReader(t *testing.T) {
|
||||||
var buf = &bytes.Buffer{}
|
var buf = &bytes.Buffer{}
|
||||||
var writer = iplibrary.NewWriter(buf, &iplibrary.Meta{
|
var writer = iplibrary.NewWriterV1(buf, &iplibrary.Meta{
|
||||||
Author: "GoEdge <https://goedge.cn>",
|
Author: "GoEdge <https://goedge.cn>",
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ func TestNewReader(t *testing.T) {
|
|||||||
|
|
||||||
var stat = &runtime.MemStats{}
|
var stat = &runtime.MemStats{}
|
||||||
runtime.ReadMemStats(stat)
|
runtime.ReadMemStats(stat)
|
||||||
reader, err := iplibrary.NewReader(buf)
|
reader, err := iplibrary.NewReaderV2(buf)
|
||||||
|
|
||||||
var stat2 = &runtime.MemStats{}
|
var stat2 = &runtime.MemStats{}
|
||||||
runtime.ReadMemStats(stat2)
|
runtime.ReadMemStats(stat2)
|
||||||
@@ -115,7 +115,7 @@ func BenchmarkNewReader(b *testing.B) {
|
|||||||
runtime.GOMAXPROCS(1)
|
runtime.GOMAXPROCS(1)
|
||||||
|
|
||||||
var buf = &bytes.Buffer{}
|
var buf = &bytes.Buffer{}
|
||||||
var writer = iplibrary.NewWriter(buf, &iplibrary.Meta{
|
var writer = iplibrary.NewWriterV1(buf, &iplibrary.Meta{
|
||||||
Author: "GoEdge <https://goedge.cn>",
|
Author: "GoEdge <https://goedge.cn>",
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ func BenchmarkNewReader(b *testing.B) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
reader, err := iplibrary.NewReader(buf)
|
reader, err := iplibrary.NewReaderV2(buf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
360
pkg/iplibrary/reader_v2.go
Normal file
360
pkg/iplibrary/reader_v2.go
Normal file
@@ -0,0 +1,360 @@
|
|||||||
|
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iplibrary
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"io"
|
||||||
|
"net"
|
||||||
|
"runtime"
|
||||||
|
"sort"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ReaderV2 IP库Reader V2
|
||||||
|
type ReaderV2 struct {
|
||||||
|
meta *Meta
|
||||||
|
|
||||||
|
regionMap map[string]*ipRegion // 缓存重复的区域用来节约内存
|
||||||
|
|
||||||
|
ipV4Items []ipv4ItemV2
|
||||||
|
ipV6Items []ipv6ItemV2
|
||||||
|
|
||||||
|
lastCountryId uint16
|
||||||
|
lastProvinceId uint16
|
||||||
|
lastCityId uint32
|
||||||
|
lastTownId uint32
|
||||||
|
lastProviderId uint16
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewReaderV2 创建新Reader对象
|
||||||
|
func NewReaderV2(reader io.Reader) (*ReaderV2, error) {
|
||||||
|
var libReader = &ReaderV2{
|
||||||
|
regionMap: map[string]*ipRegion{},
|
||||||
|
}
|
||||||
|
|
||||||
|
if runtime.NumCPU() >= 4 /** CPU数量较多的通常有着大内存 **/ {
|
||||||
|
libReader.ipV4Items = make([]ipv4ItemV2, 0, 6_000_000)
|
||||||
|
} else {
|
||||||
|
libReader.ipV4Items = make([]ipv4ItemV2, 0, 600_000)
|
||||||
|
}
|
||||||
|
|
||||||
|
err := libReader.load(reader)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return libReader, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 从Reader中加载数据
|
||||||
|
func (this *ReaderV2) load(reader io.Reader) error {
|
||||||
|
var buf = make([]byte, 1024)
|
||||||
|
var metaLine []byte
|
||||||
|
var metaLineFound = false
|
||||||
|
var dataBuf = []byte{}
|
||||||
|
for {
|
||||||
|
n, err := reader.Read(buf)
|
||||||
|
if n > 0 {
|
||||||
|
var data = buf[:n]
|
||||||
|
dataBuf = append(dataBuf, data...)
|
||||||
|
if metaLineFound {
|
||||||
|
left, err := this.parse(dataBuf)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
dataBuf = left
|
||||||
|
} else {
|
||||||
|
var index = bytes.IndexByte(dataBuf, '\n')
|
||||||
|
if index > 0 {
|
||||||
|
metaLine = dataBuf[:index]
|
||||||
|
dataBuf = dataBuf[index+1:]
|
||||||
|
metaLineFound = true
|
||||||
|
var meta = &Meta{}
|
||||||
|
err = json.Unmarshal(metaLine, &meta)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
meta.Init()
|
||||||
|
this.meta = meta
|
||||||
|
|
||||||
|
left, err := this.parse(dataBuf)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
dataBuf = left
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
if err != io.EOF {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sort.Slice(this.ipV4Items, func(i, j int) bool {
|
||||||
|
var from0 = this.ipV4Items[i].IPFrom
|
||||||
|
var to0 = this.ipV4Items[i].IPTo
|
||||||
|
var from1 = this.ipV4Items[j].IPFrom
|
||||||
|
var to1 = this.ipV4Items[j].IPTo
|
||||||
|
if from0 == from1 {
|
||||||
|
return bytes.Compare(to0[:], to1[:]) < 0
|
||||||
|
}
|
||||||
|
return bytes.Compare(from0[:], from1[:]) < 0
|
||||||
|
})
|
||||||
|
|
||||||
|
sort.Slice(this.ipV6Items, func(i, j int) bool {
|
||||||
|
var from0 = this.ipV6Items[i].IPFrom
|
||||||
|
var to0 = this.ipV6Items[i].IPTo
|
||||||
|
var from1 = this.ipV6Items[j].IPFrom
|
||||||
|
var to1 = this.ipV6Items[j].IPTo
|
||||||
|
if from0 == from1 {
|
||||||
|
return bytes.Compare(to0[:], to1[:]) < 0
|
||||||
|
}
|
||||||
|
return bytes.Compare(from0[:], from1[:]) < 0
|
||||||
|
})
|
||||||
|
|
||||||
|
// 清理内存
|
||||||
|
this.regionMap = nil
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *ReaderV2) Lookup(ip net.IP) *QueryResult {
|
||||||
|
if ip == nil {
|
||||||
|
return &QueryResult{}
|
||||||
|
}
|
||||||
|
|
||||||
|
var isV4 = ip.To4() != nil
|
||||||
|
var resultItem any
|
||||||
|
if isV4 {
|
||||||
|
sort.Search(len(this.ipV4Items), func(i int) bool {
|
||||||
|
var item = this.ipV4Items[i]
|
||||||
|
if bytes.Compare(item.IPFrom[:], ip) <= 0 {
|
||||||
|
if bytes.Compare(item.IPTo[:], ip) >= 0 {
|
||||||
|
resultItem = item
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
sort.Search(len(this.ipV6Items), func(i int) bool {
|
||||||
|
var item = this.ipV6Items[i]
|
||||||
|
if bytes.Compare(item.IPFrom[:], ip) <= 0 {
|
||||||
|
if bytes.Compare(item.IPTo[:], ip) >= 0 {
|
||||||
|
resultItem = item
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return &QueryResult{
|
||||||
|
item: resultItem,
|
||||||
|
meta: this.meta,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *ReaderV2) Meta() *Meta {
|
||||||
|
return this.meta
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *ReaderV2) IPv4Items() []ipv4ItemV2 {
|
||||||
|
return this.ipV4Items
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *ReaderV2) IPv6Items() []ipv6ItemV2 {
|
||||||
|
return this.ipV6Items
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *ReaderV2) Destroy() {
|
||||||
|
this.meta = nil
|
||||||
|
this.regionMap = nil
|
||||||
|
this.ipV4Items = nil
|
||||||
|
this.ipV6Items = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分析数据
|
||||||
|
func (this *ReaderV2) parse(data []byte) (left []byte, err error) {
|
||||||
|
if len(data) == 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for {
|
||||||
|
if len(data) == 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
var offset int
|
||||||
|
if data[0] == '|' {
|
||||||
|
offset = 1 + 8 + 1
|
||||||
|
} else if data[0] == '4' {
|
||||||
|
offset = 2 + 8 + 1
|
||||||
|
} else if data[0] == '6' {
|
||||||
|
offset = 2 + 32 + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
var index = bytes.IndexByte(data[offset:], '\n')
|
||||||
|
if index >= 0 {
|
||||||
|
index += offset
|
||||||
|
var line = data[:index]
|
||||||
|
err = this.parseLine(line)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
data = data[index+1:]
|
||||||
|
} else {
|
||||||
|
left = data
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 单行分析
|
||||||
|
func (this *ReaderV2) parseLine(line []byte) error {
|
||||||
|
if len(line) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
const maxPieces = 8
|
||||||
|
var pieces []string
|
||||||
|
|
||||||
|
var offset int
|
||||||
|
if line[0] == '|' {
|
||||||
|
offset = 1 + 8 + 1
|
||||||
|
pieces = append(pieces, "", string(line[1:5]), string(line[5:9]))
|
||||||
|
} else if line[0] == '4' {
|
||||||
|
offset = 2 + 8 + 1
|
||||||
|
pieces = append(pieces, "", string(line[2:6]), string(line[6:10]))
|
||||||
|
} else if line[0] == '6' {
|
||||||
|
offset = 2 + 32 + 1
|
||||||
|
pieces = append(pieces, "6", string(line[2:18]), string(line[18:34]))
|
||||||
|
}
|
||||||
|
|
||||||
|
pieces = append(pieces, strings.Split(string(line[offset:]), "|")...)
|
||||||
|
|
||||||
|
var countPieces = len(pieces)
|
||||||
|
if countPieces < maxPieces { // 补足一行
|
||||||
|
for i := 0; i < maxPieces-countPieces; i++ {
|
||||||
|
pieces = append(pieces, "")
|
||||||
|
}
|
||||||
|
} else if countPieces > maxPieces {
|
||||||
|
return errors.New("invalid ip definition '" + string(line) + "'")
|
||||||
|
}
|
||||||
|
|
||||||
|
var version = pieces[0]
|
||||||
|
if len(version) == 0 {
|
||||||
|
version = "4"
|
||||||
|
}
|
||||||
|
|
||||||
|
if version != "4" && version != "6" {
|
||||||
|
return errors.New("invalid ip version '" + string(line) + "'")
|
||||||
|
}
|
||||||
|
|
||||||
|
// ip range
|
||||||
|
var ipFromV4 [4]byte
|
||||||
|
var ipToV4 [4]byte
|
||||||
|
|
||||||
|
var ipFromV6 [16]byte
|
||||||
|
var ipToV6 [16]byte
|
||||||
|
|
||||||
|
if version == "6" {
|
||||||
|
ipFromV6 = [16]byte([]byte(pieces[1]))
|
||||||
|
ipToV6 = [16]byte([]byte(pieces[2]))
|
||||||
|
} else {
|
||||||
|
ipFromV4 = [4]byte([]byte(pieces[1]))
|
||||||
|
ipToV4 = [4]byte([]byte(pieces[2]))
|
||||||
|
}
|
||||||
|
|
||||||
|
// country
|
||||||
|
var countryId uint16
|
||||||
|
if pieces[3] == "+" {
|
||||||
|
countryId = this.lastCountryId
|
||||||
|
} else {
|
||||||
|
countryId = uint16(this.decodeUint64(pieces[3]))
|
||||||
|
}
|
||||||
|
this.lastCountryId = countryId
|
||||||
|
|
||||||
|
var provinceId uint16
|
||||||
|
if pieces[4] == "+" {
|
||||||
|
provinceId = this.lastProvinceId
|
||||||
|
} else {
|
||||||
|
provinceId = uint16(this.decodeUint64(pieces[4]))
|
||||||
|
}
|
||||||
|
this.lastProvinceId = provinceId
|
||||||
|
|
||||||
|
// city
|
||||||
|
var cityId uint32
|
||||||
|
if pieces[5] == "+" {
|
||||||
|
cityId = this.lastCityId
|
||||||
|
} else {
|
||||||
|
cityId = uint32(this.decodeUint64(pieces[5]))
|
||||||
|
}
|
||||||
|
this.lastCityId = cityId
|
||||||
|
|
||||||
|
// town
|
||||||
|
var townId uint32
|
||||||
|
if pieces[6] == "+" {
|
||||||
|
townId = this.lastTownId
|
||||||
|
} else {
|
||||||
|
townId = uint32(this.decodeUint64(pieces[6]))
|
||||||
|
}
|
||||||
|
this.lastTownId = townId
|
||||||
|
|
||||||
|
// provider
|
||||||
|
var providerId uint16
|
||||||
|
if pieces[7] == "+" {
|
||||||
|
providerId = this.lastProviderId
|
||||||
|
} else {
|
||||||
|
providerId = uint16(this.decodeUint64(pieces[7]))
|
||||||
|
}
|
||||||
|
this.lastProviderId = providerId
|
||||||
|
|
||||||
|
var hash = HashRegion(countryId, provinceId, cityId, townId, providerId)
|
||||||
|
|
||||||
|
region, ok := this.regionMap[hash]
|
||||||
|
if !ok {
|
||||||
|
region = &ipRegion{
|
||||||
|
CountryId: countryId,
|
||||||
|
ProvinceId: provinceId,
|
||||||
|
CityId: cityId,
|
||||||
|
TownId: townId,
|
||||||
|
ProviderId: providerId,
|
||||||
|
}
|
||||||
|
this.regionMap[hash] = region
|
||||||
|
}
|
||||||
|
|
||||||
|
if version == "4" {
|
||||||
|
this.ipV4Items = append(this.ipV4Items, ipv4ItemV2{
|
||||||
|
IPFrom: ipFromV4,
|
||||||
|
IPTo: ipToV4,
|
||||||
|
Region: region,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.ipV6Items = append(this.ipV6Items, ipv6ItemV2{
|
||||||
|
IPFrom: ipFromV6,
|
||||||
|
IPTo: ipToV6,
|
||||||
|
Region: region,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *ReaderV2) decodeUint64(s string) uint64 {
|
||||||
|
if this.meta != nil && this.meta.Version == Version2 {
|
||||||
|
i, _ := strconv.ParseUint(s, 32, 64)
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
i, _ := strconv.ParseUint(s, 10, 64)
|
||||||
|
return i
|
||||||
|
}
|
||||||
@@ -214,7 +214,12 @@ func (this *Updater) Loop() error {
|
|||||||
func (this *Updater) loadFile(fp *os.File) error {
|
func (this *Updater) loadFile(fp *os.File) error {
|
||||||
this.source.LogInfo("load ip library from '" + fp.Name() + "' ...")
|
this.source.LogInfo("load ip library from '" + fp.Name() + "' ...")
|
||||||
|
|
||||||
fileReader, err := NewFileDataReader(fp, "")
|
var version = ReaderVersionV1
|
||||||
|
if strings.HasSuffix(fp.Name(), ".v2.db") {
|
||||||
|
version = ReaderVersionV2
|
||||||
|
}
|
||||||
|
|
||||||
|
fileReader, err := NewFileDataReader(fp, "", version)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("load ip library from reader failed: %w", err)
|
return fmt.Errorf("load ip library from reader failed: %w", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,42 +3,19 @@
|
|||||||
package iplibrary
|
package iplibrary
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/md5"
|
"encoding/binary"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
|
||||||
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
|
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
|
||||||
"hash"
|
|
||||||
"io"
|
"io"
|
||||||
|
"math/big"
|
||||||
"net"
|
"net"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
type hashWriter struct {
|
type WriterV1 struct {
|
||||||
rawWriter io.Writer
|
|
||||||
hash hash.Hash
|
|
||||||
}
|
|
||||||
|
|
||||||
func newHashWriter(writer io.Writer) *hashWriter {
|
|
||||||
return &hashWriter{
|
|
||||||
rawWriter: writer,
|
|
||||||
hash: md5.New(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *hashWriter) Write(p []byte) (n int, err error) {
|
|
||||||
n, err = this.rawWriter.Write(p)
|
|
||||||
this.hash.Write(p)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *hashWriter) Sum() string {
|
|
||||||
return fmt.Sprintf("%x", this.hash.Sum(nil))
|
|
||||||
}
|
|
||||||
|
|
||||||
type Writer struct {
|
|
||||||
writer *hashWriter
|
writer *hashWriter
|
||||||
meta *Meta
|
meta *Meta
|
||||||
|
|
||||||
@@ -50,21 +27,21 @@ type Writer struct {
|
|||||||
lastProviderId int64
|
lastProviderId int64
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewWriter(writer io.Writer, meta *Meta) *Writer {
|
func NewWriterV1(writer io.Writer, meta *Meta) *WriterV1 {
|
||||||
if meta == nil {
|
if meta == nil {
|
||||||
meta = &Meta{}
|
meta = &Meta{}
|
||||||
}
|
}
|
||||||
meta.Version = Version2
|
meta.Version = Version2
|
||||||
meta.CreatedAt = time.Now().Unix()
|
meta.CreatedAt = time.Now().Unix()
|
||||||
|
|
||||||
var libWriter = &Writer{
|
var libWriter = &WriterV1{
|
||||||
writer: newHashWriter(writer),
|
writer: newHashWriter(writer),
|
||||||
meta: meta,
|
meta: meta,
|
||||||
}
|
}
|
||||||
return libWriter
|
return libWriter
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Writer) WriteMeta() error {
|
func (this *WriterV1) WriteMeta() error {
|
||||||
metaJSON, err := json.Marshal(this.meta)
|
metaJSON, err := json.Marshal(this.meta)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -77,7 +54,7 @@ func (this *Writer) WriteMeta() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Writer) Write(ipFrom string, ipTo string, countryId int64, provinceId int64, cityId int64, townId int64, providerId int64) error {
|
func (this *WriterV1) Write(ipFrom string, ipTo string, countryId int64, provinceId int64, cityId int64, townId int64, providerId int64) error {
|
||||||
// validate IP
|
// validate IP
|
||||||
var fromIP = net.ParseIP(ipFrom)
|
var fromIP = net.ParseIP(ipFrom)
|
||||||
if fromIP == nil {
|
if fromIP == nil {
|
||||||
@@ -100,11 +77,14 @@ func (this *Writer) Write(ipFrom string, ipTo string, countryId int64, provinceI
|
|||||||
pieces = append(pieces, "")
|
pieces = append(pieces, "")
|
||||||
} else {
|
} else {
|
||||||
pieces = append(pieces, "6")
|
pieces = append(pieces, "6")
|
||||||
|
|
||||||
|
// we do NOT support v6 yet
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1
|
// 1
|
||||||
var fromIPLong = configutils.IP2Long(fromIP)
|
var fromIPLong = this.ip2long(fromIP)
|
||||||
var toIPLong = configutils.IP2Long(toIP)
|
var toIPLong = this.ip2long(toIP)
|
||||||
|
|
||||||
if toIPLong < fromIPLong {
|
if toIPLong < fromIPLong {
|
||||||
fromIPLong, toIPLong = toIPLong, fromIPLong
|
fromIPLong, toIPLong = toIPLong, fromIPLong
|
||||||
@@ -193,10 +173,25 @@ func (this *Writer) Write(ipFrom string, ipTo string, countryId int64, provinceI
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Writer) Sum() string {
|
func (this *WriterV1) Sum() string {
|
||||||
return this.writer.Sum()
|
return this.writer.Sum()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Writer) formatUint64(i uint64) string {
|
func (this *WriterV1) formatUint64(i uint64) string {
|
||||||
return strconv.FormatUint(i, 32)
|
return strconv.FormatUint(i, 32)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *WriterV1) ip2long(netIP net.IP) uint64 {
|
||||||
|
if len(netIP) == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
var b4 = netIP.To4()
|
||||||
|
if b4 != nil {
|
||||||
|
return uint64(binary.BigEndian.Uint32(b4.To4()))
|
||||||
|
}
|
||||||
|
|
||||||
|
var i = big.NewInt(0)
|
||||||
|
i.SetBytes(netIP.To16())
|
||||||
|
return i.Uint64()
|
||||||
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ type FileWriter struct {
|
|||||||
gzWriter *gzip.Writer
|
gzWriter *gzip.Writer
|
||||||
password string
|
password string
|
||||||
|
|
||||||
rawWriter *Writer
|
rawWriter WriterInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewFileWriter(path string, meta *Meta, password string) (*FileWriter, error) {
|
func NewFileWriter(path string, meta *Meta, password string) (*FileWriter, error) {
|
||||||
@@ -29,7 +29,7 @@ func NewFileWriter(path string, meta *Meta, password string) (*FileWriter, error
|
|||||||
var writer = &FileWriter{
|
var writer = &FileWriter{
|
||||||
fp: fp,
|
fp: fp,
|
||||||
gzWriter: gzWriter,
|
gzWriter: gzWriter,
|
||||||
rawWriter: NewWriter(gzWriter, meta),
|
rawWriter: NewWriterV1(gzWriter, meta),
|
||||||
password: password,
|
password: password,
|
||||||
}
|
}
|
||||||
return writer, nil
|
return writer, nil
|
||||||
@@ -64,11 +64,13 @@ func (this *FileWriter) Close() error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(data) > 0 {
|
if len(data) > 0 {
|
||||||
encodedData, err := NewEncrypt().Encode(data, this.password)
|
encodedData, encodeErr := NewEncrypt().Encode(data, this.password)
|
||||||
if err != nil {
|
if encodeErr != nil {
|
||||||
return err
|
return encodeErr
|
||||||
}
|
}
|
||||||
|
_ = os.Remove(filePath)
|
||||||
err = os.WriteFile(filePath, encodedData, 0666)
|
err = os.WriteFile(filePath, encodedData, 0666)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -6,13 +6,14 @@ import (
|
|||||||
"github.com/TeaOSLab/EdgeCommon/pkg/iplibrary"
|
"github.com/TeaOSLab/EdgeCommon/pkg/iplibrary"
|
||||||
"github.com/iwind/TeaGo/rands"
|
"github.com/iwind/TeaGo/rands"
|
||||||
"github.com/iwind/TeaGo/types"
|
"github.com/iwind/TeaGo/types"
|
||||||
|
stringutil "github.com/iwind/TeaGo/utils/string"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewFileWriter(t *testing.T) {
|
func TestNewFileWriter(t *testing.T) {
|
||||||
writer, err := iplibrary.NewFileWriter("./internal-ip-library-test.db", &iplibrary.Meta{
|
writer, err := iplibrary.NewFileWriter("./internal-ip-library-test.db", &iplibrary.Meta{
|
||||||
Author: "GoEdge",
|
Author: "GoEdge",
|
||||||
}, "")
|
}, stringutil.Md5("123456"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
9
pkg/iplibrary/writer_interface.go
Normal file
9
pkg/iplibrary/writer_interface.go
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iplibrary
|
||||||
|
|
||||||
|
type WriterInterface interface {
|
||||||
|
WriteMeta() error
|
||||||
|
Write(ipFrom string, ipTo string, countryId int64, provinceId int64, cityId int64, townId int64, providerId int64) error
|
||||||
|
Sum() string
|
||||||
|
}
|
||||||
190
pkg/iplibrary/writer_v2.go
Normal file
190
pkg/iplibrary/writer_v2.go
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iplibrary
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"crypto/md5"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"hash"
|
||||||
|
"io"
|
||||||
|
"net"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type hashWriter struct {
|
||||||
|
rawWriter io.Writer
|
||||||
|
hash hash.Hash
|
||||||
|
}
|
||||||
|
|
||||||
|
func newHashWriter(writer io.Writer) *hashWriter {
|
||||||
|
return &hashWriter{
|
||||||
|
rawWriter: writer,
|
||||||
|
hash: md5.New(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *hashWriter) Write(p []byte) (n int, err error) {
|
||||||
|
n, err = this.rawWriter.Write(p)
|
||||||
|
this.hash.Write(p)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *hashWriter) Sum() string {
|
||||||
|
return fmt.Sprintf("%x", this.hash.Sum(nil))
|
||||||
|
}
|
||||||
|
|
||||||
|
type WriterV2 struct {
|
||||||
|
writer *hashWriter
|
||||||
|
meta *Meta
|
||||||
|
|
||||||
|
lastCountryId int64
|
||||||
|
lastProvinceId int64
|
||||||
|
lastCityId int64
|
||||||
|
lastTownId int64
|
||||||
|
lastProviderId int64
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewWriterV2(writer io.Writer, meta *Meta) *WriterV2 {
|
||||||
|
if meta == nil {
|
||||||
|
meta = &Meta{}
|
||||||
|
}
|
||||||
|
meta.Version = Version2
|
||||||
|
meta.CreatedAt = time.Now().Unix()
|
||||||
|
|
||||||
|
var libWriter = &WriterV2{
|
||||||
|
writer: newHashWriter(writer),
|
||||||
|
meta: meta,
|
||||||
|
}
|
||||||
|
return libWriter
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *WriterV2) WriteMeta() error {
|
||||||
|
metaJSON, err := json.Marshal(this.meta)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
_, err = this.writer.Write(metaJSON)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
_, err = this.writer.Write([]byte("\n"))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *WriterV2) Write(ipFrom string, ipTo string, countryId int64, provinceId int64, cityId int64, townId int64, providerId int64) error {
|
||||||
|
// validate IP
|
||||||
|
var fromIP = net.ParseIP(ipFrom)
|
||||||
|
if fromIP == nil {
|
||||||
|
return errors.New("invalid 'ipFrom': '" + ipFrom + "'")
|
||||||
|
}
|
||||||
|
var fromIsIPv4 = fromIP.To4() != nil
|
||||||
|
var toIP = net.ParseIP(ipTo)
|
||||||
|
if toIP == nil {
|
||||||
|
return errors.New("invalid 'ipTo': " + ipTo)
|
||||||
|
}
|
||||||
|
var toIsIPv4 = toIP.To4() != nil
|
||||||
|
if fromIsIPv4 != toIsIPv4 {
|
||||||
|
return errors.New("'ipFrom(" + ipFrom + ")' and 'ipTo(" + ipTo + ")' should have the same IP version")
|
||||||
|
}
|
||||||
|
|
||||||
|
var pieces = []string{}
|
||||||
|
|
||||||
|
// 0
|
||||||
|
if fromIsIPv4 {
|
||||||
|
pieces = append(pieces, "")
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, "6")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1
|
||||||
|
if bytes.Compare(fromIP, toIP) > 0 {
|
||||||
|
fromIP, toIP = toIP, fromIP
|
||||||
|
}
|
||||||
|
|
||||||
|
if fromIsIPv4 {
|
||||||
|
pieces = append(pieces, string(fromIP.To4())+string(toIP.To4()))
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, string(fromIP.To16())+string(toIP.To16()))
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2
|
||||||
|
if countryId > 0 {
|
||||||
|
if countryId == this.lastCountryId {
|
||||||
|
pieces = append(pieces, "+")
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, this.formatUint64(uint64(countryId)))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, "")
|
||||||
|
}
|
||||||
|
this.lastCountryId = countryId
|
||||||
|
|
||||||
|
// 3
|
||||||
|
if provinceId > 0 {
|
||||||
|
if provinceId == this.lastProvinceId {
|
||||||
|
pieces = append(pieces, "+")
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, this.formatUint64(uint64(provinceId)))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, "")
|
||||||
|
}
|
||||||
|
this.lastProvinceId = provinceId
|
||||||
|
|
||||||
|
// 4
|
||||||
|
if cityId > 0 {
|
||||||
|
if cityId == this.lastCityId {
|
||||||
|
pieces = append(pieces, "+")
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, this.formatUint64(uint64(cityId)))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, "")
|
||||||
|
}
|
||||||
|
this.lastCityId = cityId
|
||||||
|
|
||||||
|
// 5
|
||||||
|
if townId > 0 {
|
||||||
|
if townId == this.lastTownId {
|
||||||
|
pieces = append(pieces, "+")
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, this.formatUint64(uint64(townId)))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, "")
|
||||||
|
}
|
||||||
|
this.lastTownId = townId
|
||||||
|
|
||||||
|
// 6
|
||||||
|
if providerId > 0 {
|
||||||
|
if providerId == this.lastProviderId {
|
||||||
|
pieces = append(pieces, "+")
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, this.formatUint64(uint64(providerId)))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pieces = append(pieces, "")
|
||||||
|
}
|
||||||
|
this.lastProviderId = providerId
|
||||||
|
|
||||||
|
_, err := this.writer.Write([]byte(strings.TrimRight(strings.Join(pieces, "|"), "|")))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = this.writer.Write([]byte("\n"))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *WriterV2) Sum() string {
|
||||||
|
return this.writer.Sum()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *WriterV2) formatUint64(i uint64) string {
|
||||||
|
return strconv.FormatUint(i, 32)
|
||||||
|
}
|
||||||
@@ -5,12 +5,14 @@ package iplibrary_test
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"github.com/TeaOSLab/EdgeCommon/pkg/iplibrary"
|
"github.com/TeaOSLab/EdgeCommon/pkg/iplibrary"
|
||||||
|
"github.com/iwind/TeaGo/logs"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewWriter(t *testing.T) {
|
func TestNewWriter(t *testing.T) {
|
||||||
|
//write
|
||||||
var buf = &bytes.Buffer{}
|
var buf = &bytes.Buffer{}
|
||||||
var writer = iplibrary.NewWriter(buf, &iplibrary.Meta{
|
var writer = iplibrary.NewWriterV1(buf, &iplibrary.Meta{
|
||||||
Author: "GoEdge <https://goedge.cn>",
|
Author: "GoEdge <https://goedge.cn>",
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -39,6 +41,27 @@ func TestNewWriter(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = writer.Write("10.0.0.1", "10.0.0.2", 101, 201, 301, 401, 501)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = writer.Write("10.0.0.3", "10.0.0.4", 101, 201, 301, 401, 501)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
t.Log(buf.String())
|
t.Log(buf.String())
|
||||||
t.Log("sum:", writer.Sum())
|
t.Log("sum:", writer.Sum())
|
||||||
|
|
||||||
|
// read
|
||||||
|
reader, err := iplibrary.NewReaderV2(buf)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
logs.PrintAsJSON(reader.IPv4Items(), t)
|
||||||
|
logs.PrintAsJSON(reader.IPv6Items(), t)
|
||||||
|
|
||||||
|
_ = reader
|
||||||
}
|
}
|
||||||
78
pkg/iputils/cidr.go
Normal file
78
pkg/iputils/cidr.go
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iputils
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net"
|
||||||
|
)
|
||||||
|
|
||||||
|
type CIDR struct {
|
||||||
|
rawIPNet *net.IPNet
|
||||||
|
}
|
||||||
|
|
||||||
|
func ParseCIDR(s string) (*CIDR, error) {
|
||||||
|
_, ipNet, err := net.ParseCIDR(s)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &CIDR{
|
||||||
|
rawIPNet: ipNet,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *CIDR) IsIPv4() bool {
|
||||||
|
return this.rawIPNet.IP.To4() != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *CIDR) IsIPv6() bool {
|
||||||
|
return this.rawIPNet.IP.To4() == nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *CIDR) From() net.IP {
|
||||||
|
return this.rawIPNet.IP
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *CIDR) To() net.IP {
|
||||||
|
var start = this.rawIPNet.IP.To4()
|
||||||
|
if start != nil {
|
||||||
|
return bitsOr(bitsAnd(start, this.rawIPNet.Mask), bitsXor(this.rawIPNet.Mask[:4], []byte{0xff, 0xff, 0xff, 0xff}))
|
||||||
|
}
|
||||||
|
|
||||||
|
start = this.rawIPNet.IP.To16()
|
||||||
|
return bitsOr(bitsAnd(start, this.rawIPNet.Mask), bitsXor(this.rawIPNet.Mask[:16], []byte{0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *CIDR) Contains(ip net.IP) bool {
|
||||||
|
return this.rawIPNet.Contains(ip)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *CIDR) String() string {
|
||||||
|
return this.rawIPNet.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
func bitsAnd(x []byte, y []byte) []byte {
|
||||||
|
var l = len(x)
|
||||||
|
var z = make([]byte, l)
|
||||||
|
for i := 0; i < l; i++ {
|
||||||
|
z[i] = x[i] & y[i]
|
||||||
|
}
|
||||||
|
return z
|
||||||
|
}
|
||||||
|
|
||||||
|
func bitsOr(x []byte, y []byte) []byte {
|
||||||
|
var l = len(x)
|
||||||
|
var z = make([]byte, l)
|
||||||
|
for i := 0; i < l; i++ {
|
||||||
|
z[i] = x[i] | y[i]
|
||||||
|
}
|
||||||
|
return z
|
||||||
|
}
|
||||||
|
|
||||||
|
func bitsXor(x []byte, y []byte) []byte {
|
||||||
|
var l = len(x)
|
||||||
|
var z = make([]byte, l)
|
||||||
|
for i := 0; i < l; i++ {
|
||||||
|
z[i] = x[i] ^ y[i]
|
||||||
|
}
|
||||||
|
return z
|
||||||
|
}
|
||||||
21
pkg/iputils/cidr_test.go
Normal file
21
pkg/iputils/cidr_test.go
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iputils_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/TeaOSLab/EdgeCommon/pkg/iputils"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestParseCIDR(t *testing.T) {
|
||||||
|
for _, cidrString := range []string{
|
||||||
|
"192.168.2.100/24",
|
||||||
|
"2607:5300:203:afac::/125",
|
||||||
|
} {
|
||||||
|
cidr, err := iputils.ParseCIDR(cidrString)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
t.Log(cidr, "=> [", cidr.From(), "-", cidr.To(), "]")
|
||||||
|
}
|
||||||
|
}
|
||||||
260
pkg/iputils/ip.go
Normal file
260
pkg/iputils/ip.go
Normal file
@@ -0,0 +1,260 @@
|
|||||||
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iputils
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/binary"
|
||||||
|
"encoding/hex"
|
||||||
|
"math"
|
||||||
|
"math/big"
|
||||||
|
"net"
|
||||||
|
"strconv"
|
||||||
|
"sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
type IP struct {
|
||||||
|
rawIP net.IP
|
||||||
|
bigInt *big.Int
|
||||||
|
}
|
||||||
|
|
||||||
|
var uint32BigInt = big.NewInt(int64(math.MaxUint32))
|
||||||
|
|
||||||
|
func ParseIP(ipString string) IP {
|
||||||
|
return NewIP(net.ParseIP(ipString))
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewIP(rawIP net.IP) IP {
|
||||||
|
if rawIP == nil {
|
||||||
|
return IP{}
|
||||||
|
}
|
||||||
|
|
||||||
|
if rawIP.To4() == nil {
|
||||||
|
var bigInt = big.NewInt(0)
|
||||||
|
bigInt.SetBytes(rawIP.To16())
|
||||||
|
bigInt.Add(bigInt, uint32BigInt)
|
||||||
|
return IP{
|
||||||
|
rawIP: rawIP,
|
||||||
|
bigInt: bigInt,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return IP{
|
||||||
|
rawIP: rawIP,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsIPv4(ipString string) bool {
|
||||||
|
var rawIP = net.ParseIP(ipString)
|
||||||
|
return rawIP != nil && rawIP.To4() != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsIPv6(ipString string) bool {
|
||||||
|
var rawIP = net.ParseIP(ipString)
|
||||||
|
return rawIP != nil && rawIP.To4() == nil && rawIP.To16() != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsSameVersion(ip1 string, ip2 string) bool {
|
||||||
|
return IsIPv4(ip1) == IsIPv4(ip2)
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsValid(ipString string) bool {
|
||||||
|
return net.ParseIP(ipString) != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CompareLong(i1 string, i2 string) int {
|
||||||
|
if i1 == "" {
|
||||||
|
i1 = "0"
|
||||||
|
}
|
||||||
|
if i2 == "" {
|
||||||
|
i2 = "0"
|
||||||
|
}
|
||||||
|
|
||||||
|
var l = len(i1) - len(i2)
|
||||||
|
if l > 0 {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
if l < 0 {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
if i1 > i2 {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
if i1 < i2 {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
var bigIntPool = &sync.Pool{
|
||||||
|
New: func() any {
|
||||||
|
return big.NewInt(0)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToLong(ip string) string {
|
||||||
|
var rawIP = net.ParseIP(ip)
|
||||||
|
if rawIP == nil {
|
||||||
|
return "0"
|
||||||
|
}
|
||||||
|
|
||||||
|
var i4 = rawIP.To4()
|
||||||
|
if i4 != nil {
|
||||||
|
return strconv.FormatUint(uint64(binary.BigEndian.Uint32(i4)), 10)
|
||||||
|
}
|
||||||
|
|
||||||
|
var bigInt = bigIntPool.Get().(*big.Int)
|
||||||
|
bigInt.SetBytes(rawIP.To16())
|
||||||
|
bigInt.Add(bigInt, uint32BigInt)
|
||||||
|
var s = bigInt.String()
|
||||||
|
bigIntPool.Put(bigInt)
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToHex(ip string) string {
|
||||||
|
if len(ip) == 0 {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
var rawIP = net.ParseIP(ip)
|
||||||
|
if rawIP == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
if rawIP.To4() != nil {
|
||||||
|
return hex.EncodeToString(rawIP.To4())
|
||||||
|
}
|
||||||
|
|
||||||
|
return hex.EncodeToString(rawIP.To16())
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToBytes(ip string) []byte {
|
||||||
|
if len(ip) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
var rawIP = net.ParseIP(ip)
|
||||||
|
if rawIP == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if rawIP.To4() != nil {
|
||||||
|
return rawIP.To4()
|
||||||
|
}
|
||||||
|
|
||||||
|
return rawIP.To16()
|
||||||
|
}
|
||||||
|
|
||||||
|
func CompareBytes(b1 []byte, b2 []byte) int {
|
||||||
|
var l1 = len(b1)
|
||||||
|
var l2 = len(b2)
|
||||||
|
if l1 < l2 {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
if l1 > l2 {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
return bytes.Compare(b1, b2)
|
||||||
|
}
|
||||||
|
|
||||||
|
func CompareIP(ip1 string, ip2 string) int {
|
||||||
|
return CompareBytes(ToBytes(ip1), ToBytes(ip2))
|
||||||
|
}
|
||||||
|
|
||||||
|
func ToLittleLong(ip string) string {
|
||||||
|
var rawIP = net.ParseIP(ip)
|
||||||
|
if rawIP == nil {
|
||||||
|
return "0"
|
||||||
|
}
|
||||||
|
|
||||||
|
var i4 = rawIP.To4()
|
||||||
|
if i4 != nil {
|
||||||
|
return strconv.FormatUint(uint64(binary.BigEndian.Uint32(i4)), 10)
|
||||||
|
}
|
||||||
|
|
||||||
|
var bigInt = bigIntPool.Get().(*big.Int)
|
||||||
|
bigInt.SetBytes(rawIP.To16())
|
||||||
|
var s = bigInt.String()
|
||||||
|
bigIntPool.Put(bigInt)
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this IP) ToLong() string {
|
||||||
|
if this.rawIP == nil {
|
||||||
|
return "0"
|
||||||
|
}
|
||||||
|
if this.bigInt != nil {
|
||||||
|
return this.bigInt.String()
|
||||||
|
}
|
||||||
|
return strconv.FormatUint(uint64(binary.BigEndian.Uint32(this.rawIP.To4())), 10)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this IP) Mod(d int) int {
|
||||||
|
if this.rawIP == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
if this.bigInt != nil {
|
||||||
|
return int(this.bigInt.Mod(this.bigInt, big.NewInt(int64(d))).Int64())
|
||||||
|
}
|
||||||
|
return int(binary.BigEndian.Uint32(this.rawIP.To4()) % uint32(d))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this IP) Compare(anotherIP IP) int {
|
||||||
|
if this.rawIP == nil {
|
||||||
|
if anotherIP.rawIP == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return -1
|
||||||
|
} else if anotherIP.rawIP == nil {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if this.bigInt != nil {
|
||||||
|
if anotherIP.bigInt == nil {
|
||||||
|
return 1 // IPv6 always greater than IPv4
|
||||||
|
}
|
||||||
|
return this.bigInt.Cmp(anotherIP.bigInt)
|
||||||
|
}
|
||||||
|
|
||||||
|
if anotherIP.bigInt == nil {
|
||||||
|
var i1 = binary.BigEndian.Uint32(this.rawIP.To4())
|
||||||
|
var i2 = binary.BigEndian.Uint32(anotherIP.rawIP.To4())
|
||||||
|
|
||||||
|
if i1 > i2 {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
if i1 < i2 {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this IP) Between(ipFrom IP, ipTo IP) bool {
|
||||||
|
return ipFrom.Compare(this) <= 0 && ipTo.Compare(this) >= 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this IP) IsIPv4() bool {
|
||||||
|
return this.rawIP != nil && this.bigInt == nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this IP) IsIPv6() bool {
|
||||||
|
return this.bigInt != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this IP) IsValid() bool {
|
||||||
|
return this.rawIP != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this IP) Raw() net.IP {
|
||||||
|
return this.rawIP
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this IP) String() string {
|
||||||
|
if this.rawIP == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return this.rawIP.String()
|
||||||
|
}
|
||||||
258
pkg/iputils/ip_test.go
Normal file
258
pkg/iputils/ip_test.go
Normal file
@@ -0,0 +1,258 @@
|
|||||||
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iputils_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/TeaOSLab/EdgeCommon/pkg/iputils"
|
||||||
|
"github.com/iwind/TeaGo/assert"
|
||||||
|
"runtime"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestIP_ParseIP(t *testing.T) {
|
||||||
|
var a = assert.NewAssertion(t)
|
||||||
|
|
||||||
|
{
|
||||||
|
var i = iputils.ParseIP("127.0.0.1")
|
||||||
|
a.IsTrue(i.IsIPv4())
|
||||||
|
a.IsFalse(i.IsIPv6())
|
||||||
|
a.IsTrue(i.IsValid())
|
||||||
|
a.IsTrue(iputils.IsIPv4("127.0.0.1"))
|
||||||
|
a.IsFalse(iputils.IsIPv6("127.0.0.1"))
|
||||||
|
t.Log(i.String(), i.ToLong())
|
||||||
|
t.Log("raw:", i.Raw())
|
||||||
|
a.IsTrue(iputils.IsValid("127.0.0.1"))
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i = iputils.ParseIP("0.0.0.1")
|
||||||
|
a.IsTrue(i.IsIPv4())
|
||||||
|
a.IsFalse(i.IsIPv6())
|
||||||
|
t.Log(i.String(), i.ToLong())
|
||||||
|
}
|
||||||
|
|
||||||
|
for j := 0; j < 3; j++ /** repeat test **/ {
|
||||||
|
var i = iputils.ParseIP("::1")
|
||||||
|
a.IsFalse(i.IsIPv4())
|
||||||
|
a.IsTrue(i.IsIPv6())
|
||||||
|
a.IsTrue(i.IsValid())
|
||||||
|
t.Log(i.String(), i.ToLong())
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
{
|
||||||
|
var i = iputils.ParseIP("2001:db8:0:1::1:101")
|
||||||
|
t.Log(i.String(), i.ToLong())
|
||||||
|
a.IsFalse(i.IsIPv4())
|
||||||
|
a.IsTrue(i.IsIPv6())
|
||||||
|
a.IsFalse(iputils.IsIPv4("2001:db8:0:1::1:101"))
|
||||||
|
a.IsTrue(iputils.IsIPv6("2001:db8:0:1::1:101"))
|
||||||
|
a.IsTrue(i.IsValid())
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i = iputils.ParseIP("2001:db8:0:1::1:102")
|
||||||
|
t.Log(i.String(), i.ToLong())
|
||||||
|
a.IsFalse(i.IsIPv4())
|
||||||
|
a.IsTrue(i.IsIPv6())
|
||||||
|
a.IsTrue(i.IsValid())
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i = iputils.ParseIP("2001:db8:0:1::2:101")
|
||||||
|
t.Log(i.String(), i.ToLong())
|
||||||
|
a.IsFalse(i.IsIPv4())
|
||||||
|
a.IsTrue(i.IsIPv6())
|
||||||
|
a.IsTrue(i.IsValid())
|
||||||
|
a.IsTrue(iputils.IsValid("2001:db8:0:1::2:101"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i = iputils.ParseIP("WRONG IP")
|
||||||
|
t.Log(i.String(), i.ToLong())
|
||||||
|
a.IsFalse(i.IsIPv4())
|
||||||
|
a.IsFalse(i.IsIPv6())
|
||||||
|
a.IsFalse(i.IsValid())
|
||||||
|
a.IsFalse(iputils.IsValid("WRONG IP"))
|
||||||
|
a.IsFalse(iputils.IsIPv4("WRONG IP"))
|
||||||
|
a.IsFalse(iputils.IsIPv6("WRONG IP"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIP_Mod(t *testing.T) {
|
||||||
|
for _, ip := range []string{
|
||||||
|
"127.0.0.1",
|
||||||
|
"::1",
|
||||||
|
"2001:db8:0:1::1:101",
|
||||||
|
"2001:db8:0:1::1:102",
|
||||||
|
"WRONG IP",
|
||||||
|
} {
|
||||||
|
var i = iputils.ParseIP(ip)
|
||||||
|
t.Log(ip, "=>", i.ToLong(), "=>", i.Mod(5))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIP_Compare(t *testing.T) {
|
||||||
|
var a = assert.NewAssertion(t)
|
||||||
|
|
||||||
|
{
|
||||||
|
var i1 = iputils.ParseIP("127.0.0.1")
|
||||||
|
var i2 = iputils.ParseIP("127.0.0.1")
|
||||||
|
a.IsTrue(i1.Compare(i2) == 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i1 = iputils.ParseIP("127.0.0.1")
|
||||||
|
var i2 = iputils.ParseIP("127.0.0.2")
|
||||||
|
a.IsTrue(i1.Compare(i2) == -1)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i1 = iputils.ParseIP("127.0.0.2")
|
||||||
|
var i2 = iputils.ParseIP("127.0.0.1")
|
||||||
|
a.IsTrue(i1.Compare(i2) == 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i1 = iputils.ParseIP("2001:db8:0:1::101")
|
||||||
|
var i2 = iputils.ParseIP("127.0.0.1")
|
||||||
|
a.IsTrue(i1.Compare(i2) == 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i1 = iputils.ParseIP("127.0.0.1")
|
||||||
|
var i2 = iputils.ParseIP("2001:db8:0:1::101")
|
||||||
|
a.IsTrue(i1.Compare(i2) == -1)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i1 = iputils.ParseIP("2001:db8:0:1::101")
|
||||||
|
var i2 = iputils.ParseIP("2001:db8:0:1::101")
|
||||||
|
a.IsTrue(i1.Compare(i2) == 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i1 = iputils.ParseIP("2001:db8:0:1::101")
|
||||||
|
var i2 = iputils.ParseIP("2001:db8:0:1::102")
|
||||||
|
a.IsTrue(i1.Compare(i2) == -1)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i1 = iputils.ParseIP("2001:db8:0:1::102")
|
||||||
|
var i2 = iputils.ParseIP("2001:db8:0:1::101")
|
||||||
|
a.IsTrue(i1.Compare(i2) == 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var i1 = iputils.ParseIP("2001:db8:0:1::2:100")
|
||||||
|
var i2 = iputils.ParseIP("2001:db8:0:1::1:101")
|
||||||
|
a.IsTrue(i1.Compare(i2) == 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIP_Between(t *testing.T) {
|
||||||
|
var a = assert.NewAssertion(t)
|
||||||
|
a.IsTrue(iputils.ParseIP("127.0.0.2").Between(iputils.ParseIP("127.0.0.1"), iputils.ParseIP("127.0.0.3")))
|
||||||
|
a.IsTrue(iputils.ParseIP("127.0.0.1").Between(iputils.ParseIP("127.0.0.1"), iputils.ParseIP("127.0.0.3")))
|
||||||
|
a.IsFalse(iputils.ParseIP("127.0.0.2").Between(iputils.ParseIP("127.0.0.3"), iputils.ParseIP("127.0.0.4")))
|
||||||
|
a.IsFalse(iputils.ParseIP("127.0.0.5").Between(iputils.ParseIP("127.0.0.3"), iputils.ParseIP("127.0.0.4")))
|
||||||
|
a.IsFalse(iputils.ParseIP("127.0.0.2").Between(iputils.ParseIP("127.0.0.3"), iputils.ParseIP("127.0.0.1")))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIP_ToLong(t *testing.T) {
|
||||||
|
for _, ip := range []string{
|
||||||
|
"127.0.0.1",
|
||||||
|
"192.168.1.100",
|
||||||
|
"::1",
|
||||||
|
"fd00:6868:6868:0:10ac:d056:3bf6:7452",
|
||||||
|
"fd00:6868:6868:0:10ac:d056:3bf6:7453",
|
||||||
|
"2001:0db8:85a3:0000:0000:8a2e:0370:7334",
|
||||||
|
"2001:db8:0:1::101",
|
||||||
|
"2001:db8:0:2::101",
|
||||||
|
"wrong ip",
|
||||||
|
} {
|
||||||
|
var goIP = iputils.ParseIP(ip)
|
||||||
|
t.Log(ip, "=>", "\n", goIP.String(), "\n", "=>", "\n", "long1:", goIP.ToLong(), "\n", "long2:", iputils.ToLong(ip), "\n", "little long:", iputils.ToLittleLong(ip))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIP_CompareLong(t *testing.T) {
|
||||||
|
var a = assert.NewAssertion(t)
|
||||||
|
a.IsTrue(iputils.CompareLong("1", "2") == -1)
|
||||||
|
a.IsTrue(iputils.CompareLong("11", "2") == 1)
|
||||||
|
a.IsTrue(iputils.CompareLong("11", "22") == -1)
|
||||||
|
a.IsTrue(iputils.CompareLong("22", "101") == -1)
|
||||||
|
a.IsTrue(iputils.CompareLong("33", "22") == 1)
|
||||||
|
a.IsTrue(iputils.CompareLong("101", "22") == 1)
|
||||||
|
a.IsTrue(iputils.CompareLong("22", "22") == 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIP_Memory(t *testing.T) {
|
||||||
|
var list []iputils.IP
|
||||||
|
|
||||||
|
var stat1 = &runtime.MemStats{}
|
||||||
|
runtime.ReadMemStats(stat1)
|
||||||
|
|
||||||
|
for i := 0; i < 1_000_000; i++ {
|
||||||
|
list = append(list, iputils.ParseIP("fd00:6868:6868:0:10ac:d056:3bf6:7452"))
|
||||||
|
}
|
||||||
|
|
||||||
|
//runtime.GC()
|
||||||
|
|
||||||
|
var stat2 = &runtime.MemStats{}
|
||||||
|
runtime.ReadMemStats(stat2)
|
||||||
|
|
||||||
|
t.Log((stat2.Alloc-stat1.Alloc)>>10, "KB", (stat2.HeapInuse-stat1.HeapInuse)>>10, "KB")
|
||||||
|
|
||||||
|
// hold the memory
|
||||||
|
for _, v := range list {
|
||||||
|
_ = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestToBytes(t *testing.T) {
|
||||||
|
var a = assert.NewAssertion(t)
|
||||||
|
a.IsTrue(len(iputils.ToBytes("a")) == 0)
|
||||||
|
a.IsTrue(len(iputils.ToBytes("192.168.1.100")) == 4)
|
||||||
|
a.IsTrue(len(iputils.ToBytes("::1")) == 16)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCompareIP(t *testing.T) {
|
||||||
|
var a = assert.NewAssertion(t)
|
||||||
|
a.IsTrue(iputils.CompareIP("a", "b") == 0)
|
||||||
|
a.IsTrue(iputils.CompareIP("192.168.1.100", "192.168.1.1") > 0)
|
||||||
|
a.IsTrue(iputils.CompareIP("192.168.1.100", "10.168.1.1") > 0)
|
||||||
|
a.IsTrue(iputils.CompareIP("192.168.1.100", "192.168.2.1") < 0)
|
||||||
|
a.IsTrue(iputils.CompareIP("192.168.1.100", "::1") < 0)
|
||||||
|
a.IsTrue(iputils.CompareIP("::1", "192.168.1.100") > 0)
|
||||||
|
a.IsTrue(iputils.CompareIP("192.168.1.100", "192.168.1.100") == 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIsSameVersion(t *testing.T) {
|
||||||
|
var a = assert.NewAssertion(t)
|
||||||
|
a.IsTrue(iputils.IsSameVersion("192.168.1.1", "10.0.0.1"))
|
||||||
|
a.IsTrue(iputils.IsSameVersion("::1", "::5"))
|
||||||
|
a.IsFalse(iputils.IsSameVersion("192.168.1.1", "::5"))
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkParse(b *testing.B) {
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
iputils.ParseIP("fd00:6868:6868:0:10ac:d056:3bf6:7452")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkToLongV4(b *testing.B) {
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
iputils.ToLong("192.168.2.100")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkToLongV6(b *testing.B) {
|
||||||
|
runtime.GOMAXPROCS(1)
|
||||||
|
b.ReportAllocs()
|
||||||
|
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
iputils.ToLong("fd00:6868:6868:0:10ac:d056:3bf6:7452")
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -544,7 +544,6 @@ const (
|
|||||||
Server_MenuSettingUAM langs.MessageCode = "server@menu_setting_uam" // 5秒盾
|
Server_MenuSettingUAM langs.MessageCode = "server@menu_setting_uam" // 5秒盾
|
||||||
Server_MenuSettingUDP langs.MessageCode = "server@menu_setting_udp" // UDP
|
Server_MenuSettingUDP langs.MessageCode = "server@menu_setting_udp" // UDP
|
||||||
Server_MenuSettingUDPProxy langs.MessageCode = "server@menu_setting_udp_proxy" // UDP代理
|
Server_MenuSettingUDPProxy langs.MessageCode = "server@menu_setting_udp_proxy" // UDP代理
|
||||||
Server_MenuSettingUnix langs.MessageCode = "server@menu_setting_unix" // Unix
|
|
||||||
Server_MenuSettingUserAgents langs.MessageCode = "server@menu_setting_user_agents" // UA名单
|
Server_MenuSettingUserAgents langs.MessageCode = "server@menu_setting_user_agents" // UA名单
|
||||||
Server_MenuSettingWAF langs.MessageCode = "server@menu_setting_waf" // WAF
|
Server_MenuSettingWAF langs.MessageCode = "server@menu_setting_waf" // WAF
|
||||||
Server_MenuSettingWebP langs.MessageCode = "server@menu_setting_webp" // WebP
|
Server_MenuSettingWebP langs.MessageCode = "server@menu_setting_webp" // WebP
|
||||||
@@ -607,6 +606,7 @@ const (
|
|||||||
ServerOrigin_LogCreateOrigin langs.MessageCode = "server_origin@log_create_origin" // 创建源站 %d
|
ServerOrigin_LogCreateOrigin langs.MessageCode = "server_origin@log_create_origin" // 创建源站 %d
|
||||||
ServerOrigin_LogDeleteOrigin langs.MessageCode = "server_origin@log_delete_origin" // 删除源站 %d
|
ServerOrigin_LogDeleteOrigin langs.MessageCode = "server_origin@log_delete_origin" // 删除源站 %d
|
||||||
ServerOrigin_LogUpdateOrigin langs.MessageCode = "server_origin@log_update_origin" // 修改源站 %d
|
ServerOrigin_LogUpdateOrigin langs.MessageCode = "server_origin@log_update_origin" // 修改源站 %d
|
||||||
|
ServerOrigin_LogUpdateOriginIsOn langs.MessageCode = "server_origin@log_update_origin_is_on" // 修改源站 %d 启用状态
|
||||||
ServerPage_LogCreatePage langs.MessageCode = "server_page@log_create_page" // 创建自定义页面 %d
|
ServerPage_LogCreatePage langs.MessageCode = "server_page@log_create_page" // 创建自定义页面 %d
|
||||||
ServerPage_LogUpdateClusterPages langs.MessageCode = "server_page@log_update_cluster_pages" // 修改集群 %d 自定义页面策略
|
ServerPage_LogUpdateClusterPages langs.MessageCode = "server_page@log_update_cluster_pages" // 修改集群 %d 自定义页面策略
|
||||||
ServerPage_LogUpdatePage langs.MessageCode = "server_page@log_update_page" // 修改自定义页面 %d
|
ServerPage_LogUpdatePage langs.MessageCode = "server_page@log_update_page" // 修改自定义页面 %d
|
||||||
|
|||||||
@@ -545,7 +545,6 @@ func init() {
|
|||||||
"server@menu_setting_uam": "UAM",
|
"server@menu_setting_uam": "UAM",
|
||||||
"server@menu_setting_udp": "UDP",
|
"server@menu_setting_udp": "UDP",
|
||||||
"server@menu_setting_udp_proxy": "UDP Reverse Proxy",
|
"server@menu_setting_udp_proxy": "UDP Reverse Proxy",
|
||||||
"server@menu_setting_unix": "Unix",
|
|
||||||
"server@menu_setting_user_agents": "UA List",
|
"server@menu_setting_user_agents": "UA List",
|
||||||
"server@menu_setting_waf": "WAF",
|
"server@menu_setting_waf": "WAF",
|
||||||
"server@menu_setting_webp": "WebP",
|
"server@menu_setting_webp": "WebP",
|
||||||
@@ -608,6 +607,7 @@ func init() {
|
|||||||
"server_origin@log_create_origin": "",
|
"server_origin@log_create_origin": "",
|
||||||
"server_origin@log_delete_origin": "",
|
"server_origin@log_delete_origin": "",
|
||||||
"server_origin@log_update_origin": "",
|
"server_origin@log_update_origin": "",
|
||||||
|
"server_origin@log_update_origin_is_on": "",
|
||||||
"server_page@log_create_page": "",
|
"server_page@log_create_page": "",
|
||||||
"server_page@log_update_cluster_pages": "",
|
"server_page@log_update_cluster_pages": "",
|
||||||
"server_page@log_update_page": "",
|
"server_page@log_update_page": "",
|
||||||
|
|||||||
@@ -545,7 +545,6 @@ func init() {
|
|||||||
"server@menu_setting_uam": "5秒盾",
|
"server@menu_setting_uam": "5秒盾",
|
||||||
"server@menu_setting_udp": "UDP",
|
"server@menu_setting_udp": "UDP",
|
||||||
"server@menu_setting_udp_proxy": "UDP代理",
|
"server@menu_setting_udp_proxy": "UDP代理",
|
||||||
"server@menu_setting_unix": "Unix",
|
|
||||||
"server@menu_setting_user_agents": "UA名单",
|
"server@menu_setting_user_agents": "UA名单",
|
||||||
"server@menu_setting_waf": "WAF",
|
"server@menu_setting_waf": "WAF",
|
||||||
"server@menu_setting_webp": "WebP",
|
"server@menu_setting_webp": "WebP",
|
||||||
@@ -608,6 +607,7 @@ func init() {
|
|||||||
"server_origin@log_create_origin": "创建源站 %d",
|
"server_origin@log_create_origin": "创建源站 %d",
|
||||||
"server_origin@log_delete_origin": "删除源站 %d",
|
"server_origin@log_delete_origin": "删除源站 %d",
|
||||||
"server_origin@log_update_origin": "修改源站 %d",
|
"server_origin@log_update_origin": "修改源站 %d",
|
||||||
|
"server_origin@log_update_origin_is_on": "修改源站 %d 启用状态",
|
||||||
"server_page@log_create_page": "创建自定义页面 %d",
|
"server_page@log_create_page": "创建自定义页面 %d",
|
||||||
"server_page@log_update_cluster_pages": "修改集群 %d 自定义页面策略",
|
"server_page@log_update_cluster_pages": "修改集群 %d 自定义页面策略",
|
||||||
"server_page@log_update_page": "修改自定义页面 %d",
|
"server_page@log_update_page": "修改自定义页面 %d",
|
||||||
|
|||||||
@@ -48,7 +48,6 @@
|
|||||||
"menu_setting_others": "Others",
|
"menu_setting_others": "Others",
|
||||||
"menu_setting_tcp": "TCP",
|
"menu_setting_tcp": "TCP",
|
||||||
"menu_setting_tls": "TLS",
|
"menu_setting_tls": "TLS",
|
||||||
"menu_setting_unix": "Unix",
|
|
||||||
"menu_setting_udp": "UDP",
|
"menu_setting_udp": "UDP",
|
||||||
"menu_setting_delete": "Delete",
|
"menu_setting_delete": "Delete",
|
||||||
"menu_setting_http_proxy": "HTTP Reverse Proxy", // in site groups
|
"menu_setting_http_proxy": "HTTP Reverse Proxy", // in site groups
|
||||||
|
|||||||
@@ -48,7 +48,6 @@
|
|||||||
"menu_setting_others": "其他设置",
|
"menu_setting_others": "其他设置",
|
||||||
"menu_setting_tcp": "TCP",
|
"menu_setting_tcp": "TCP",
|
||||||
"menu_setting_tls": "TLS",
|
"menu_setting_tls": "TLS",
|
||||||
"menu_setting_unix": "Unix",
|
|
||||||
"menu_setting_udp": "UDP",
|
"menu_setting_udp": "UDP",
|
||||||
"menu_setting_delete": "删除",
|
"menu_setting_delete": "删除",
|
||||||
"menu_setting_http_proxy": "HTTP代理", // 网站分组中使用
|
"menu_setting_http_proxy": "HTTP代理", // 网站分组中使用
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"log_create_origin": "创建源站 %d",
|
"log_create_origin": "创建源站 %d",
|
||||||
"log_delete_origin": "删除源站 %d",
|
"log_delete_origin": "删除源站 %d",
|
||||||
"log_update_origin": "修改源站 %d"
|
"log_update_origin": "修改源站 %d",
|
||||||
|
"log_update_origin_is_on": "修改源站 %d 启用状态"
|
||||||
}
|
}
|
||||||
@@ -90,6 +90,7 @@ type NodeConfig struct {
|
|||||||
Clock *ClockConfig `yaml:"clock" json:"clock"` // 时钟配置
|
Clock *ClockConfig `yaml:"clock" json:"clock"` // 时钟配置
|
||||||
AutoInstallNftables bool `yaml:"autoInstallNftables" json:"autoInstallNftables"` // 自动安装nftables
|
AutoInstallNftables bool `yaml:"autoInstallNftables" json:"autoInstallNftables"` // 自动安装nftables
|
||||||
AutoSystemTuning bool `yaml:"autoSystemTuning" json:"autoSystemTuning"` // 自动调整系统参数
|
AutoSystemTuning bool `yaml:"autoSystemTuning" json:"autoSystemTuning"` // 自动调整系统参数
|
||||||
|
AutoTrimDisks bool `yaml:"autoTrimDisks" json:"autoTrimDisks"` // 自动执行TRIM
|
||||||
|
|
||||||
// 指标
|
// 指标
|
||||||
MetricItems []*serverconfigs.MetricItemConfig `yaml:"metricItems" json:"metricItems"`
|
MetricItems []*serverconfigs.MetricItemConfig `yaml:"metricItems" json:"metricItems"`
|
||||||
@@ -111,6 +112,9 @@ type NodeConfig struct {
|
|||||||
// DNS
|
// DNS
|
||||||
DNSResolver *DNSResolverConfig `yaml:"dnsResolver" json:"dnsResolver"`
|
DNSResolver *DNSResolverConfig `yaml:"dnsResolver" json:"dnsResolver"`
|
||||||
|
|
||||||
|
// Cluster
|
||||||
|
ClusterSecret string `yaml:"clusterSecret" json:"clusterSecret"`
|
||||||
|
|
||||||
paddedId string
|
paddedId string
|
||||||
|
|
||||||
// firewall
|
// firewall
|
||||||
@@ -630,6 +634,15 @@ func (this *NodeConfig) lookupWeb(server *serverconfigs.ServerConfig, web *serve
|
|||||||
if (web.FirewallPolicy.CaptchaOptions == nil || !web.FirewallPolicy.CaptchaOptions.IsPrior) && server.HTTPFirewallPolicy.CaptchaOptions != nil {
|
if (web.FirewallPolicy.CaptchaOptions == nil || !web.FirewallPolicy.CaptchaOptions.IsPrior) && server.HTTPFirewallPolicy.CaptchaOptions != nil {
|
||||||
web.FirewallPolicy.CaptchaOptions = server.HTTPFirewallPolicy.CaptchaOptions
|
web.FirewallPolicy.CaptchaOptions = server.HTTPFirewallPolicy.CaptchaOptions
|
||||||
}
|
}
|
||||||
|
if (web.FirewallPolicy.Get302Options == nil || !web.FirewallPolicy.Get302Options.IsPrior) && server.HTTPFirewallPolicy.Get302Options != nil {
|
||||||
|
web.FirewallPolicy.Get302Options = server.HTTPFirewallPolicy.Get302Options
|
||||||
|
}
|
||||||
|
if (web.FirewallPolicy.Post307Options == nil || !web.FirewallPolicy.Post307Options.IsPrior) && server.HTTPFirewallPolicy.Post307Options != nil {
|
||||||
|
web.FirewallPolicy.Post307Options = server.HTTPFirewallPolicy.Post307Options
|
||||||
|
}
|
||||||
|
if (web.FirewallPolicy.JSCookieOptions == nil || !web.FirewallPolicy.JSCookieOptions.IsPrior) && server.HTTPFirewallPolicy.JSCookieOptions != nil {
|
||||||
|
web.FirewallPolicy.JSCookieOptions = server.HTTPFirewallPolicy.JSCookieOptions
|
||||||
|
}
|
||||||
if (web.FirewallPolicy.SYNFlood == nil || !web.FirewallPolicy.SYNFlood.IsPrior) && server.HTTPFirewallPolicy.SYNFlood != nil {
|
if (web.FirewallPolicy.SYNFlood == nil || !web.FirewallPolicy.SYNFlood.IsPrior) && server.HTTPFirewallPolicy.SYNFlood != nil {
|
||||||
web.FirewallPolicy.SYNFlood = server.HTTPFirewallPolicy.SYNFlood
|
web.FirewallPolicy.SYNFlood = server.HTTPFirewallPolicy.SYNFlood
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,9 @@
|
|||||||
{
|
{
|
||||||
"isPrior": "是否覆盖上级配置",
|
"isPrior": "是否覆盖上级配置",
|
||||||
"isOn": "是否启用配置",
|
"isOn": "是否启用配置",
|
||||||
"firewallPolicyId": "WAF策略ID"
|
"firewallPolicyId": "WAF策略ID",
|
||||||
|
"ignoreGlobalRules": "是否忽略系统定义的全局规则",
|
||||||
|
"defaultCaptchaType": "默认人机识别方式,可以选none(不设置)、default(默认)、oneClick(单击验证)、slide(滑动解锁)、geetest(极验)"
|
||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
@@ -13,6 +15,8 @@
|
|||||||
{
|
{
|
||||||
"isPrior": true,
|
"isPrior": true,
|
||||||
"isOn": true,
|
"isOn": true,
|
||||||
"firewallPolicyId": 123
|
"firewallPolicyId": 123,
|
||||||
|
"ignoreGlobalRules": false,
|
||||||
|
"defaultCaptchaType": "none"
|
||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
@@ -25,15 +25,16 @@ type HTTPCacheTaskKey struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 缓存键ID
|
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 缓存键ID
|
||||||
TaskId int64 `protobuf:"varint,2,opt,name=taskId,proto3" json:"taskId,omitempty"` // 任务ID
|
TaskId int64 `protobuf:"varint,2,opt,name=taskId,proto3" json:"taskId,omitempty"` // 任务ID
|
||||||
Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` // 缓存键
|
Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"` // 缓存键
|
||||||
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // 操作类型:purge|fetch
|
Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // 操作类型:purge|fetch
|
||||||
KeyType string `protobuf:"bytes,5,opt,name=keyType,proto3" json:"keyType,omitempty"` // 键类型:key|prefix
|
KeyType string `protobuf:"bytes,5,opt,name=keyType,proto3" json:"keyType,omitempty"` // 键类型:key|prefix
|
||||||
IsDone bool `protobuf:"varint,6,opt,name=isDone,proto3" json:"isDone,omitempty"` // 是否已完成
|
IsDone bool `protobuf:"varint,6,opt,name=isDone,proto3" json:"isDone,omitempty"` // 是否已完成
|
||||||
IsDoing bool `protobuf:"varint,9,opt,name=isDoing,proto3" json:"isDoing,omitempty"` // 是否执行中
|
IsDoing bool `protobuf:"varint,9,opt,name=isDoing,proto3" json:"isDoing,omitempty"` // 是否执行中
|
||||||
ErrorsJSON []byte `protobuf:"bytes,7,opt,name=errorsJSON,proto3" json:"errorsJSON,omitempty"` // 错误信息
|
ErrorsJSON []byte `protobuf:"bytes,7,opt,name=errorsJSON,proto3" json:"errorsJSON,omitempty"` // 错误信息
|
||||||
NodeClusterId int64 `protobuf:"varint,8,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 所属集群ID
|
NodeClusterId int64 `protobuf:"varint,8,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"` // 所属集群ID
|
||||||
|
NodeCluster *NodeCluster `protobuf:"bytes,30,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"` // 所属集群,不一定有内容
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *HTTPCacheTaskKey) Reset() {
|
func (x *HTTPCacheTaskKey) Reset() {
|
||||||
@@ -131,29 +132,41 @@ func (x *HTTPCacheTaskKey) GetNodeClusterId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *HTTPCacheTaskKey) GetNodeCluster() *NodeCluster {
|
||||||
|
if x != nil {
|
||||||
|
return x.NodeCluster
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
var File_models_model_http_cache_task_key_proto protoreflect.FileDescriptor
|
var File_models_model_http_cache_task_key_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_models_model_http_cache_task_key_proto_rawDesc = []byte{
|
var file_models_model_http_cache_task_key_proto_rawDesc = []byte{
|
||||||
0x0a, 0x26, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
|
0x0a, 0x26, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
|
||||||
0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6b,
|
0x74, 0x74, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6b,
|
||||||
0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xf2, 0x01, 0x0a,
|
0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x1f, 0x6d, 0x6f,
|
||||||
0x10, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4b, 0x65,
|
0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f,
|
||||||
0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
|
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x02,
|
||||||
0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4b,
|
||||||
0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02,
|
||||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74,
|
0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
|
||||||
0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
|
0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
||||||
0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04,
|
||||||
0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x44,
|
0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
|
||||||
0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x6f, 0x6e,
|
0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||||
0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01,
|
0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73,
|
||||||
0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x65,
|
0x44, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x6f,
|
||||||
0x72, 0x72, 0x6f, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52,
|
0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20,
|
||||||
0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x6e,
|
0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a,
|
||||||
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01,
|
0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c,
|
||||||
0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
|
0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x24, 0x0a, 0x0d,
|
||||||
0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20,
|
||||||
0x33,
|
0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
|
||||||
|
0x49, 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||||
|
0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64,
|
||||||
|
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
|
||||||
|
0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70,
|
||||||
|
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -171,13 +184,15 @@ func file_models_model_http_cache_task_key_proto_rawDescGZIP() []byte {
|
|||||||
var file_models_model_http_cache_task_key_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
var file_models_model_http_cache_task_key_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||||
var file_models_model_http_cache_task_key_proto_goTypes = []interface{}{
|
var file_models_model_http_cache_task_key_proto_goTypes = []interface{}{
|
||||||
(*HTTPCacheTaskKey)(nil), // 0: pb.HTTPCacheTaskKey
|
(*HTTPCacheTaskKey)(nil), // 0: pb.HTTPCacheTaskKey
|
||||||
|
(*NodeCluster)(nil), // 1: pb.NodeCluster
|
||||||
}
|
}
|
||||||
var file_models_model_http_cache_task_key_proto_depIdxs = []int32{
|
var file_models_model_http_cache_task_key_proto_depIdxs = []int32{
|
||||||
0, // [0:0] is the sub-list for method output_type
|
1, // 0: pb.HTTPCacheTaskKey.nodeCluster:type_name -> pb.NodeCluster
|
||||||
0, // [0:0] is the sub-list for method input_type
|
1, // [1:1] is the sub-list for method output_type
|
||||||
0, // [0:0] is the sub-list for extension type_name
|
1, // [1:1] is the sub-list for method input_type
|
||||||
0, // [0:0] is the sub-list for extension extendee
|
1, // [1:1] is the sub-list for extension type_name
|
||||||
0, // [0:0] is the sub-list for field type_name
|
1, // [1:1] is the sub-list for extension extendee
|
||||||
|
0, // [0:1] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_models_model_http_cache_task_key_proto_init() }
|
func init() { file_models_model_http_cache_task_key_proto_init() }
|
||||||
@@ -185,6 +200,7 @@ func file_models_model_http_cache_task_key_proto_init() {
|
|||||||
if File_models_model_http_cache_task_key_proto != nil {
|
if File_models_model_http_cache_task_key_proto != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
file_models_model_node_cluster_proto_init()
|
||||||
if !protoimpl.UnsafeEnabled {
|
if !protoimpl.UnsafeEnabled {
|
||||||
file_models_model_http_cache_task_key_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
file_models_model_http_cache_task_key_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*HTTPCacheTaskKey); i {
|
switch v := v.(*HTTPCacheTaskKey); i {
|
||||||
|
|||||||
@@ -26,19 +26,20 @@ type HTTPFirewallPolicy struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 策略ID
|
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 策略ID
|
||||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 名称
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 名称
|
||||||
Mode string `protobuf:"bytes,7,opt,name=mode,proto3" json:"mode,omitempty"` // 模式
|
Mode string `protobuf:"bytes,7,opt,name=mode,proto3" json:"mode,omitempty"` // 模式
|
||||||
IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
|
IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
|
||||||
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` // 描述
|
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` // 描述
|
||||||
InboundJSON []byte `protobuf:"bytes,5,opt,name=inboundJSON,proto3" json:"inboundJSON,omitempty"` // 入站配置
|
InboundJSON []byte `protobuf:"bytes,5,opt,name=inboundJSON,proto3" json:"inboundJSON,omitempty"` // 入站配置
|
||||||
OutboundJSON []byte `protobuf:"bytes,6,opt,name=outboundJSON,proto3" json:"outboundJSON,omitempty"` // 出站配置
|
OutboundJSON []byte `protobuf:"bytes,6,opt,name=outboundJSON,proto3" json:"outboundJSON,omitempty"` // 出站配置
|
||||||
ServerId int64 `protobuf:"varint,8,opt,name=serverId,proto3" json:"serverId,omitempty"` // 所属网站ID(如果为0表示公共策略)
|
ServerId int64 `protobuf:"varint,8,opt,name=serverId,proto3" json:"serverId,omitempty"` // 所属网站ID(如果为0表示公共策略)
|
||||||
UseLocalFirewall bool `protobuf:"varint,9,opt,name=useLocalFirewall,proto3" json:"useLocalFirewall,omitempty"` // 是否使用本机防火墙
|
UseLocalFirewall bool `protobuf:"varint,9,opt,name=useLocalFirewall,proto3" json:"useLocalFirewall,omitempty"` // 是否使用本机防火墙
|
||||||
SynFloodJSON []byte `protobuf:"bytes,10,opt,name=synFloodJSON,proto3" json:"synFloodJSON,omitempty"` // synflood配置
|
SynFloodJSON []byte `protobuf:"bytes,10,opt,name=synFloodJSON,proto3" json:"synFloodJSON,omitempty"` // synflood配置
|
||||||
BlockOptionsJSON []byte `protobuf:"bytes,11,opt,name=blockOptionsJSON,proto3" json:"blockOptionsJSON,omitempty"` // 阻止动作配置
|
BlockOptionsJSON []byte `protobuf:"bytes,11,opt,name=blockOptionsJSON,proto3" json:"blockOptionsJSON,omitempty"` // 阻止动作配置
|
||||||
PageOptionsJSON []byte `protobuf:"bytes,13,opt,name=pageOptionsJSON,proto3" json:"pageOptionsJSON,omitempty"` // 显示网页动作配置
|
PageOptionsJSON []byte `protobuf:"bytes,13,opt,name=pageOptionsJSON,proto3" json:"pageOptionsJSON,omitempty"` // 显示网页动作配置
|
||||||
CaptchaOptionsJSON []byte `protobuf:"bytes,12,opt,name=captchaOptionsJSON,proto3" json:"captchaOptionsJSON,omitempty"` // 人机识别配置
|
CaptchaOptionsJSON []byte `protobuf:"bytes,12,opt,name=captchaOptionsJSON,proto3" json:"captchaOptionsJSON,omitempty"` // 人机识别配置
|
||||||
|
JsCookieOptionsJSON []byte `protobuf:"bytes,14,opt,name=jsCookieOptionsJSON,proto3" json:"jsCookieOptionsJSON,omitempty"` // JSCookie动作配置
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *HTTPFirewallPolicy) Reset() {
|
func (x *HTTPFirewallPolicy) Reset() {
|
||||||
@@ -164,12 +165,19 @@ func (x *HTTPFirewallPolicy) GetCaptchaOptionsJSON() []byte {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *HTTPFirewallPolicy) GetJsCookieOptionsJSON() []byte {
|
||||||
|
if x != nil {
|
||||||
|
return x.JsCookieOptionsJSON
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
var File_models_model_http_firewall_policy_proto protoreflect.FileDescriptor
|
var File_models_model_http_firewall_policy_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_models_model_http_firewall_policy_proto_rawDesc = []byte{
|
var file_models_model_http_firewall_policy_proto_rawDesc = []byte{
|
||||||
0x0a, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
|
0x0a, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
|
||||||
0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c,
|
0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c,
|
||||||
0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xba, 0x03,
|
0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xec, 0x03,
|
||||||
0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
0x0a, 0x12, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
||||||
0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||||
0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||||
@@ -197,8 +205,11 @@ var file_models_model_http_firewall_policy_proto_rawDesc = []byte{
|
|||||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x61,
|
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x61,
|
||||||
0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
|
0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
|
||||||
0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f,
|
0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f,
|
||||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
|
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x30, 0x0a, 0x13, 0x6a, 0x73,
|
||||||
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f,
|
||||||
|
0x4e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x6a, 0x73, 0x43, 0x6f, 0x6f, 0x6b, 0x69,
|
||||||
|
0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x06, 0x5a, 0x04,
|
||||||
|
0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ type IPItem struct {
|
|||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||||
|
Value string `protobuf:"bytes,22,opt,name=value,proto3" json:"value,omitempty"` // 原始值,比如单个IP、IP范围或者CIDR
|
||||||
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"`
|
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"`
|
||||||
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"`
|
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"`
|
||||||
Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
|
Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
|
||||||
@@ -93,6 +94,13 @@ func (x *IPItem) GetId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *IPItem) GetValue() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Value
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (x *IPItem) GetIpFrom() string {
|
func (x *IPItem) GetIpFrom() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.IpFrom
|
return x.IpFrom
|
||||||
@@ -291,76 +299,77 @@ var file_models_model_ip_item_proto_rawDesc = []byte{
|
|||||||
0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
|
0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
|
||||||
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, 0x6f,
|
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, 0x6f,
|
||||||
0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e,
|
0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e,
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x08, 0x0a, 0x06, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x08, 0x0a, 0x06, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
||||||
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64,
|
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64,
|
||||||
0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x52, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f,
|
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d,
|
||||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x18, 0x0a, 0x07,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12,
|
||||||
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76,
|
0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70,
|
||||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65,
|
0x54, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
|
||||||
0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72,
|
0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09,
|
||||||
0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06,
|
0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06,
|
0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65,
|
||||||
0x6c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6c, 0x69,
|
0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73,
|
||||||
0x73, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
|
0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01,
|
||||||
0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74,
|
0x28, 0x03, 0x52, 0x06, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73,
|
||||||
0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
|
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69,
|
||||||
0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c,
|
0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
|
||||||
0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e,
|
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
|
||||||
0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79,
|
0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79,
|
0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x14,
|
0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
||||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x1c,
|
0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x47, 0x6c,
|
||||||
0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28,
|
0x6f, 0x62, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x47, 0x6c,
|
||||||
0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
0x6f, 0x62, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
|
||||||
0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f,
|
0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
|
||||||
0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
|
0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01,
|
||||||
0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
|
0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65,
|
||||||
0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64,
|
0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65,
|
||||||
0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f,
|
0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
||||||
0x64, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65,
|
0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x6f,
|
||||||
0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x6f,
|
0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6f,
|
||||||
0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1a,
|
0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01,
|
||||||
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
0x28, 0x03, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03,
|
0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50,
|
||||||
0x52, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
|
||||||
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x1d,
|
0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54,
|
||||||
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
||||||
0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x12, 0x20,
|
0x49, 0x64, 0x12, 0x44, 0x0a, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50,
|
||||||
0x01, 0x28, 0x03, 0x52, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
|
|
||||||
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
||||||
0x49, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50,
|
|
||||||
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49,
|
|
||||||
0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48,
|
|
||||||
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53,
|
|
||||||
0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x18, 0x15,
|
|
||||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x2e, 0x0a, 0x0c,
|
|
||||||
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01,
|
|
||||||
0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0c,
|
|
||||||
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x06,
|
|
||||||
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70,
|
|
||||||
0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
|
|
||||||
0x12, 0x52, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
|
|
||||||
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x1f, 0x20, 0x01,
|
|
||||||
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
|
||||||
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72,
|
|
||||||
0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
|
||||||
0x6c, 0x69, 0x63, 0x79, 0x12, 0x5b, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54,
|
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72,
|
|
||||||
0x6f, 0x75, 0x70, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x48,
|
|
||||||
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47,
|
|
||||||
0x72, 0x6f, 0x75, 0x70, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50,
|
|
||||||
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75,
|
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75,
|
||||||
0x70, 0x12, 0x55, 0x0a, 0x19, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
|
0x70, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||||
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x18, 0x21,
|
0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c,
|
||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
|
0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72,
|
||||||
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x52, 0x19, 0x73,
|
0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75,
|
||||||
|
0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x73,
|
||||||
0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
||||||
0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72,
|
0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73,
|
||||||
0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70,
|
0x52, 0x65, 0x61, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65,
|
||||||
0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f,
|
0x61, 0x64, 0x12, 0x2e, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76,
|
||||||
0x64, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65,
|
||||||
0x6f, 0x33,
|
0x72, 0x76, 0x65, 0x72, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76,
|
||||||
|
0x65, 0x72, 0x12, 0x22, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x22, 0x20, 0x01,
|
||||||
|
0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06,
|
||||||
|
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
||||||
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
|
0x63, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54,
|
||||||
|
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
||||||
|
0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
||||||
|
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5b, 0x0a, 0x1b, 0x73, 0x6f,
|
||||||
|
0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||||
|
0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
|
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
||||||
|
0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72,
|
||||||
|
0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75,
|
||||||
|
0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x55, 0x0a, 0x19, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||||
|
0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c,
|
||||||
|
0x65, 0x53, 0x65, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65,
|
||||||
|
0x53, 0x65, 0x74, 0x52, 0x19, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
|
||||||
|
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x28,
|
||||||
|
0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x23, 0x20, 0x01,
|
||||||
|
0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x6f,
|
||||||
|
0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
|
||||||
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ type NodeCluster struct {
|
|||||||
AutoInstallNftables bool `protobuf:"varint,20,opt,name=autoInstallNftables,proto3" json:"autoInstallNftables,omitempty"`
|
AutoInstallNftables bool `protobuf:"varint,20,opt,name=autoInstallNftables,proto3" json:"autoInstallNftables,omitempty"`
|
||||||
SshParamsJSON []byte `protobuf:"bytes,21,opt,name=sshParamsJSON,proto3" json:"sshParamsJSON,omitempty"`
|
SshParamsJSON []byte `protobuf:"bytes,21,opt,name=sshParamsJSON,proto3" json:"sshParamsJSON,omitempty"`
|
||||||
AutoSystemTuning bool `protobuf:"varint,23,opt,name=autoSystemTuning,proto3" json:"autoSystemTuning,omitempty"` // 是否自动调节系统参数
|
AutoSystemTuning bool `protobuf:"varint,23,opt,name=autoSystemTuning,proto3" json:"autoSystemTuning,omitempty"` // 是否自动调节系统参数
|
||||||
|
AutoTrimDisks bool `protobuf:"varint,24,opt,name=autoTrimDisks,proto3" json:"autoTrimDisks,omitempty"` // 是否自动TRIM硬盘
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *NodeCluster) Reset() {
|
func (x *NodeCluster) Reset() {
|
||||||
@@ -235,12 +236,19 @@ func (x *NodeCluster) GetAutoSystemTuning() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *NodeCluster) GetAutoTrimDisks() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.AutoTrimDisks
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
var File_models_model_node_cluster_proto protoreflect.FileDescriptor
|
var File_models_model_node_cluster_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_models_model_node_cluster_proto_rawDesc = []byte{
|
var file_models_model_node_cluster_proto_rawDesc = []byte{
|
||||||
0x0a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
|
0x0a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
|
||||||
0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||||
0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xf3, 0x05, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
|
0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x99, 0x06, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
|
||||||
0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
|
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65,
|
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65,
|
||||||
@@ -287,8 +295,11 @@ var file_models_model_node_cluster_proto_rawDesc = []byte{
|
|||||||
0x52, 0x0d, 0x73, 0x73, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12,
|
0x52, 0x0d, 0x73, 0x73, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12,
|
||||||
0x2a, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x75, 0x6e,
|
0x2a, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x75, 0x6e,
|
||||||
0x69, 0x6e, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x53,
|
0x69, 0x6e, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x53,
|
||||||
0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x06, 0x5a, 0x04, 0x2e,
|
0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x61,
|
||||||
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x75, 0x74, 0x6f, 0x54, 0x72, 0x69, 0x6d, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x18, 0x18, 0x20, 0x01,
|
||||||
|
0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x54, 0x72, 0x69, 0x6d, 0x44, 0x69, 0x73, 0x6b,
|
||||||
|
0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ type RegionCountry struct {
|
|||||||
CustomName string `protobuf:"bytes,5,opt,name=customName,proto3" json:"customName,omitempty"`
|
CustomName string `protobuf:"bytes,5,opt,name=customName,proto3" json:"customName,omitempty"`
|
||||||
CustomCodes []string `protobuf:"bytes,6,rep,name=customCodes,proto3" json:"customCodes,omitempty"`
|
CustomCodes []string `protobuf:"bytes,6,rep,name=customCodes,proto3" json:"customCodes,omitempty"`
|
||||||
DisplayName string `protobuf:"bytes,7,opt,name=displayName,proto3" json:"displayName,omitempty"`
|
DisplayName string `protobuf:"bytes,7,opt,name=displayName,proto3" json:"displayName,omitempty"`
|
||||||
IsCommon bool `protobuf:"varint,8,opt,name=isCommon,proto3" json:"isCommon,omitempty"` // 是否常用
|
IsCommon bool `protobuf:"varint,8,opt,name=isCommon,proto3" json:"isCommon,omitempty"` // 是否常用
|
||||||
|
RouteCode string `protobuf:"bytes,9,opt,name=routeCode,proto3" json:"routeCode,omitempty"` // 线路代号
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *RegionCountry) Reset() {
|
func (x *RegionCountry) Reset() {
|
||||||
@@ -124,12 +125,19 @@ func (x *RegionCountry) GetIsCommon() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *RegionCountry) GetRouteCode() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.RouteCode
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
var File_models_model_region_country_proto protoreflect.FileDescriptor
|
var File_models_model_region_country_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_models_model_region_country_proto_rawDesc = []byte{
|
var file_models_model_region_country_proto_rawDesc = []byte{
|
||||||
0x0a, 0x21, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72,
|
0x0a, 0x21, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72,
|
||||||
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72,
|
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72,
|
||||||
0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69,
|
0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xff, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69,
|
||||||
0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
|
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
|
||||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
|
||||||
@@ -143,8 +151,10 @@ var file_models_model_region_country_proto_rawDesc = []byte{
|
|||||||
0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
|
0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
|
||||||
0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12,
|
0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12,
|
||||||
0x1a, 0x0a, 0x08, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
|
0x1a, 0x0a, 0x08, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||||
0x08, 0x52, 0x08, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e,
|
0x08, 0x52, 0x08, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72,
|
||||||
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
||||||
|
0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
|
||||||
|
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -20,18 +20,20 @@ const (
|
|||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 省份|州|区域信息
|
||||||
type RegionProvince struct {
|
type RegionProvince struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||||
Codes []string `protobuf:"bytes,3,rep,name=codes,proto3" json:"codes,omitempty"`
|
Codes []string `protobuf:"bytes,3,rep,name=codes,proto3" json:"codes,omitempty"`
|
||||||
RegionCountryId int64 `protobuf:"varint,4,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"`
|
RegionCountryId int64 `protobuf:"varint,4,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"`
|
||||||
CustomName string `protobuf:"bytes,5,opt,name=customName,proto3" json:"customName,omitempty"`
|
CustomName string `protobuf:"bytes,5,opt,name=customName,proto3" json:"customName,omitempty"`
|
||||||
CustomCodes []string `protobuf:"bytes,6,rep,name=customCodes,proto3" json:"customCodes,omitempty"`
|
CustomCodes []string `protobuf:"bytes,6,rep,name=customCodes,proto3" json:"customCodes,omitempty"`
|
||||||
DisplayName string `protobuf:"bytes,7,opt,name=displayName,proto3" json:"displayName,omitempty"`
|
DisplayName string `protobuf:"bytes,7,opt,name=displayName,proto3" json:"displayName,omitempty"`
|
||||||
|
RegionCountry *RegionCountry `protobuf:"bytes,30,opt,name=regionCountry,proto3" json:"regionCountry,omitempty"` // 国家|地区信息
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *RegionProvince) Reset() {
|
func (x *RegionProvince) Reset() {
|
||||||
@@ -115,27 +117,39 @@ func (x *RegionProvince) GetDisplayName() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *RegionProvince) GetRegionCountry() *RegionCountry {
|
||||||
|
if x != nil {
|
||||||
|
return x.RegionCountry
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
var File_models_model_region_province_proto protoreflect.FileDescriptor
|
var File_models_model_region_province_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_models_model_region_province_proto_rawDesc = []byte{
|
var file_models_model_region_province_proto_rawDesc = []byte{
|
||||||
0x0a, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72,
|
0x0a, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72,
|
||||||
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x2e, 0x70,
|
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x2e, 0x70,
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xd8, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x67,
|
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x21, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
|
||||||
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
|
0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
|
||||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
|
0x75, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x02, 0x0a, 0x0e,
|
||||||
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x0e,
|
||||||
0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
|
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
|
||||||
0x63, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43,
|
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
|
||||||
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f,
|
0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
|
||||||
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12,
|
0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69,
|
||||||
0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20,
|
0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12,
|
0x03, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
|
||||||
0x20, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x06,
|
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65,
|
||||||
0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65,
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61,
|
||||||
0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,
|
0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65,
|
||||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e,
|
0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43,
|
||||||
0x61, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
0x6f, 0x64, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e,
|
||||||
0x74, 0x6f, 0x33,
|
0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c,
|
||||||
|
0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||||
|
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
|
||||||
|
0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
|
||||||
|
0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x42,
|
||||||
|
0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -153,13 +167,15 @@ func file_models_model_region_province_proto_rawDescGZIP() []byte {
|
|||||||
var file_models_model_region_province_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
var file_models_model_region_province_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||||
var file_models_model_region_province_proto_goTypes = []interface{}{
|
var file_models_model_region_province_proto_goTypes = []interface{}{
|
||||||
(*RegionProvince)(nil), // 0: pb.RegionProvince
|
(*RegionProvince)(nil), // 0: pb.RegionProvince
|
||||||
|
(*RegionCountry)(nil), // 1: pb.RegionCountry
|
||||||
}
|
}
|
||||||
var file_models_model_region_province_proto_depIdxs = []int32{
|
var file_models_model_region_province_proto_depIdxs = []int32{
|
||||||
0, // [0:0] is the sub-list for method output_type
|
1, // 0: pb.RegionProvince.regionCountry:type_name -> pb.RegionCountry
|
||||||
0, // [0:0] is the sub-list for method input_type
|
1, // [1:1] is the sub-list for method output_type
|
||||||
0, // [0:0] is the sub-list for extension type_name
|
1, // [1:1] is the sub-list for method input_type
|
||||||
0, // [0:0] is the sub-list for extension extendee
|
1, // [1:1] is the sub-list for extension type_name
|
||||||
0, // [0:0] is the sub-list for field type_name
|
1, // [1:1] is the sub-list for extension extendee
|
||||||
|
0, // [0:1] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_models_model_region_province_proto_init() }
|
func init() { file_models_model_region_province_proto_init() }
|
||||||
@@ -167,6 +183,7 @@ func file_models_model_region_province_proto_init() {
|
|||||||
if File_models_model_region_province_proto != nil {
|
if File_models_model_region_province_proto != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
file_models_model_region_country_proto_init()
|
||||||
if !protoimpl.UnsafeEnabled {
|
if !protoimpl.UnsafeEnabled {
|
||||||
file_models_model_region_province_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
file_models_model_region_province_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*RegionProvince); i {
|
switch v := v.(*RegionProvince); i {
|
||||||
|
|||||||
@@ -50,7 +50,6 @@ type Server struct {
|
|||||||
HttpsJSON []byte `protobuf:"bytes,10,opt,name=httpsJSON,proto3" json:"httpsJSON,omitempty"`
|
HttpsJSON []byte `protobuf:"bytes,10,opt,name=httpsJSON,proto3" json:"httpsJSON,omitempty"`
|
||||||
TcpJSON []byte `protobuf:"bytes,11,opt,name=tcpJSON,proto3" json:"tcpJSON,omitempty"`
|
TcpJSON []byte `protobuf:"bytes,11,opt,name=tcpJSON,proto3" json:"tcpJSON,omitempty"`
|
||||||
TlsJSON []byte `protobuf:"bytes,12,opt,name=tlsJSON,proto3" json:"tlsJSON,omitempty"`
|
TlsJSON []byte `protobuf:"bytes,12,opt,name=tlsJSON,proto3" json:"tlsJSON,omitempty"`
|
||||||
UnixJSON []byte `protobuf:"bytes,13,opt,name=unixJSON,proto3" json:"unixJSON,omitempty"`
|
|
||||||
UdpJSON []byte `protobuf:"bytes,14,opt,name=udpJSON,proto3" json:"udpJSON,omitempty"`
|
UdpJSON []byte `protobuf:"bytes,14,opt,name=udpJSON,proto3" json:"udpJSON,omitempty"`
|
||||||
WebId int64 `protobuf:"varint,15,opt,name=webId,proto3" json:"webId,omitempty"`
|
WebId int64 `protobuf:"varint,15,opt,name=webId,proto3" json:"webId,omitempty"`
|
||||||
ReverseProxyJSON []byte `protobuf:"bytes,16,opt,name=reverseProxyJSON,proto3" json:"reverseProxyJSON,omitempty"`
|
ReverseProxyJSON []byte `protobuf:"bytes,16,opt,name=reverseProxyJSON,proto3" json:"reverseProxyJSON,omitempty"`
|
||||||
@@ -263,13 +262,6 @@ func (x *Server) GetTlsJSON() []byte {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Server) GetUnixJSON() []byte {
|
|
||||||
if x != nil {
|
|
||||||
return x.UnixJSON
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Server) GetUdpJSON() []byte {
|
func (x *Server) GetUdpJSON() []byte {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.UdpJSON
|
return x.UdpJSON
|
||||||
@@ -353,7 +345,7 @@ var file_models_model_server_proto_rawDesc = []byte{
|
|||||||
0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65,
|
0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65,
|
||||||
0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
|
0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
|
||||||
0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65,
|
0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65,
|
||||||
0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x09, 0x0a, 0x06, 0x53,
|
0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x09, 0x0a, 0x06, 0x53,
|
||||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x12, 0x20,
|
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x12, 0x20,
|
||||||
0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
|
0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
|
||||||
@@ -403,34 +395,32 @@ var file_models_model_server_proto_rawDesc = []byte{
|
|||||||
0x4e, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x63, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0b, 0x20, 0x01,
|
0x4e, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x63, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0b, 0x20, 0x01,
|
||||||
0x28, 0x0c, 0x52, 0x07, 0x74, 0x63, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x18, 0x0a, 0x07, 0x74,
|
0x28, 0x0c, 0x52, 0x07, 0x74, 0x63, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x18, 0x0a, 0x07, 0x74,
|
||||||
0x6c, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x6c,
|
0x6c, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x6c,
|
||||||
0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x78, 0x4a, 0x53, 0x4f,
|
0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x64, 0x70, 0x4a, 0x53, 0x4f, 0x4e,
|
||||||
0x4e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x78, 0x4a, 0x53, 0x4f,
|
0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x75, 0x64, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x12,
|
||||||
0x4e, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x64, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0e, 0x20, 0x01,
|
0x14, 0x0a, 0x05, 0x77, 0x65, 0x62, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
|
||||||
0x28, 0x0c, 0x52, 0x07, 0x75, 0x64, 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x14, 0x0a, 0x05, 0x77,
|
0x77, 0x65, 0x62, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
|
||||||
0x65, 0x62, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x77, 0x65, 0x62, 0x49,
|
0x50, 0x72, 0x6f, 0x78, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52,
|
||||||
0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78,
|
0x10, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4a, 0x53, 0x4f,
|
||||||
0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, 0x76,
|
0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x54, 0x69,
|
||||||
0x65, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x24, 0x0a,
|
0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69,
|
||||||
0x0d, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1a,
|
0x64, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x61, 0x6e, 0x64, 0x77,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x54,
|
0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
|
0x0e, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
|
||||||
0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x62, 0x61, 0x6e,
|
0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
|
||||||
0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63,
|
0x18, 0x22, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71,
|
||||||
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x22, 0x20, 0x01,
|
0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74,
|
||||||
0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x23, 0x20, 0x01,
|
||||||
0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b,
|
0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52,
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13,
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43,
|
||||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
|
||||||
0x73, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
|
0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6e,
|
||||||
0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
|
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x0c, 0x73, 0x65,
|
||||||
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x43,
|
0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b,
|
||||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
|
0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75,
|
||||||
0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
|
0x70, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12,
|
||||||
0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0c, 0x73,
|
0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e,
|
||||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x1c, 0x0a, 0x04, 0x75,
|
0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x42, 0x06, 0x5a,
|
||||||
0x73, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55,
|
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
|
|
||||||
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ type ServerBandwidthStat struct {
|
|||||||
CountAttackRequests int64 `protobuf:"varint,14,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"` // 总攻击请求数
|
CountAttackRequests int64 `protobuf:"varint,14,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"` // 总攻击请求数
|
||||||
UserPlanId int64 `protobuf:"varint,15,opt,name=userPlanId,proto3" json:"userPlanId,omitempty"` // 绑定的用户套餐ID
|
UserPlanId int64 `protobuf:"varint,15,opt,name=userPlanId,proto3" json:"userPlanId,omitempty"` // 绑定的用户套餐ID
|
||||||
CountWebsocketConnections int64 `protobuf:"varint,16,opt,name=countWebsocketConnections,proto3" json:"countWebsocketConnections,omitempty"` // Websocket连接数
|
CountWebsocketConnections int64 `protobuf:"varint,16,opt,name=countWebsocketConnections,proto3" json:"countWebsocketConnections,omitempty"` // Websocket连接数
|
||||||
|
CountIPs int64 `protobuf:"varint,17,opt,name=countIPs,proto3" json:"countIPs,omitempty"` // 总IP数
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ServerBandwidthStat) Reset() {
|
func (x *ServerBandwidthStat) Reset() {
|
||||||
@@ -188,12 +189,19 @@ func (x *ServerBandwidthStat) GetCountWebsocketConnections() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *ServerBandwidthStat) GetCountIPs() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.CountIPs
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
var File_models_model_server_bandwidth_stat_proto protoreflect.FileDescriptor
|
var File_models_model_server_bandwidth_stat_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_models_model_server_bandwidth_stat_proto_rawDesc = []byte{
|
var file_models_model_server_bandwidth_stat_proto_rawDesc = []byte{
|
||||||
0x0a, 0x28, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73,
|
0x0a, 0x28, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73,
|
||||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f,
|
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f,
|
||||||
0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x9d,
|
0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xb9,
|
||||||
0x04, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64,
|
0x04, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64,
|
||||||
0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||||
0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
|
0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
|
||||||
@@ -227,8 +235,10 @@ var file_models_model_server_bandwidth_stat_proto_rawDesc = []byte{
|
|||||||
0x12, 0x3c, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b,
|
0x12, 0x3c, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b,
|
||||||
0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20,
|
0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20,
|
||||||
0x01, 0x28, 0x03, 0x52, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63,
|
0x01, 0x28, 0x03, 0x52, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63,
|
||||||
0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x06,
|
0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a,
|
||||||
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x0a, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03,
|
||||||
|
0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
|
||||||
|
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -37,11 +37,12 @@ type ServerDailyStat struct {
|
|||||||
CountAttackRequests int64 `protobuf:"varint,8,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"`
|
CountAttackRequests int64 `protobuf:"varint,8,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"`
|
||||||
AttackBytes int64 `protobuf:"varint,9,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"`
|
AttackBytes int64 `protobuf:"varint,9,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"`
|
||||||
CheckTrafficLimiting bool `protobuf:"varint,10,opt,name=checkTrafficLimiting,proto3" json:"checkTrafficLimiting,omitempty"`
|
CheckTrafficLimiting bool `protobuf:"varint,10,opt,name=checkTrafficLimiting,proto3" json:"checkTrafficLimiting,omitempty"`
|
||||||
PlanId int64 `protobuf:"varint,11,opt,name=planId,proto3" json:"planId,omitempty"`
|
PlanId int64 `protobuf:"varint,11,opt,name=planId,proto3" json:"planId,omitempty"` // 套餐ID
|
||||||
Day string `protobuf:"bytes,12,opt,name=day,proto3" json:"day,omitempty"`
|
Day string `protobuf:"bytes,12,opt,name=day,proto3" json:"day,omitempty"` // 日期 YYYYMMDD
|
||||||
Hour string `protobuf:"bytes,13,opt,name=hour,proto3" json:"hour,omitempty"`
|
Hour string `protobuf:"bytes,13,opt,name=hour,proto3" json:"hour,omitempty"`
|
||||||
TimeFrom string `protobuf:"bytes,14,opt,name=timeFrom,proto3" json:"timeFrom,omitempty"`
|
TimeFrom string `protobuf:"bytes,14,opt,name=timeFrom,proto3" json:"timeFrom,omitempty"`
|
||||||
TimeTo string `protobuf:"bytes,15,opt,name=timeTo,proto3" json:"timeTo,omitempty"`
|
TimeTo string `protobuf:"bytes,15,opt,name=timeTo,proto3" json:"timeTo,omitempty"`
|
||||||
|
CountIPs int64 `protobuf:"varint,17,opt,name=countIPs,proto3" json:"countIPs,omitempty"` // 独立IP数量
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ServerDailyStat) Reset() {
|
func (x *ServerDailyStat) Reset() {
|
||||||
@@ -188,12 +189,19 @@ func (x *ServerDailyStat) GetTimeTo() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *ServerDailyStat) GetCountIPs() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.CountIPs
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
var File_models_model_server_daily_stat_proto protoreflect.FileDescriptor
|
var File_models_model_server_daily_stat_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_models_model_server_daily_stat_proto_rawDesc = []byte{
|
var file_models_model_server_daily_stat_proto_rawDesc = []byte{
|
||||||
0x0a, 0x24, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73,
|
0x0a, 0x24, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73,
|
||||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74,
|
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74,
|
||||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x91, 0x04, 0x0a, 0x0f, 0x53,
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xad, 0x04, 0x0a, 0x0f, 0x53,
|
||||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a,
|
0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a,
|
||||||
0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||||
0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
|
0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
|
||||||
@@ -226,8 +234,10 @@ var file_models_model_server_daily_stat_proto_rawDesc = []byte{
|
|||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69,
|
||||||
0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69,
|
0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69,
|
||||||
0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f,
|
0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f,
|
||||||
0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x42, 0x06,
|
0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x12, 0x1a,
|
||||||
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x0a, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03,
|
||||||
|
0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
|
||||||
|
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -22,6 +22,7 @@ const (
|
|||||||
AdminService_LoginAdmin_FullMethodName = "/pb.AdminService/loginAdmin"
|
AdminService_LoginAdmin_FullMethodName = "/pb.AdminService/loginAdmin"
|
||||||
AdminService_CheckAdminExists_FullMethodName = "/pb.AdminService/checkAdminExists"
|
AdminService_CheckAdminExists_FullMethodName = "/pb.AdminService/checkAdminExists"
|
||||||
AdminService_CheckAdminUsername_FullMethodName = "/pb.AdminService/checkAdminUsername"
|
AdminService_CheckAdminUsername_FullMethodName = "/pb.AdminService/checkAdminUsername"
|
||||||
|
AdminService_FindAdminWithUsername_FullMethodName = "/pb.AdminService/findAdminWithUsername"
|
||||||
AdminService_FindAdminFullname_FullMethodName = "/pb.AdminService/findAdminFullname"
|
AdminService_FindAdminFullname_FullMethodName = "/pb.AdminService/findAdminFullname"
|
||||||
AdminService_FindEnabledAdmin_FullMethodName = "/pb.AdminService/findEnabledAdmin"
|
AdminService_FindEnabledAdmin_FullMethodName = "/pb.AdminService/findEnabledAdmin"
|
||||||
AdminService_CreateOrUpdateAdmin_FullMethodName = "/pb.AdminService/createOrUpdateAdmin"
|
AdminService_CreateOrUpdateAdmin_FullMethodName = "/pb.AdminService/createOrUpdateAdmin"
|
||||||
@@ -47,8 +48,10 @@ type AdminServiceClient interface {
|
|||||||
LoginAdmin(ctx context.Context, in *LoginAdminRequest, opts ...grpc.CallOption) (*LoginAdminResponse, error)
|
LoginAdmin(ctx context.Context, in *LoginAdminRequest, opts ...grpc.CallOption) (*LoginAdminResponse, error)
|
||||||
// 检查管理员是否存在
|
// 检查管理员是否存在
|
||||||
CheckAdminExists(ctx context.Context, in *CheckAdminExistsRequest, opts ...grpc.CallOption) (*CheckAdminExistsResponse, error)
|
CheckAdminExists(ctx context.Context, in *CheckAdminExistsRequest, opts ...grpc.CallOption) (*CheckAdminExistsResponse, error)
|
||||||
// 检查用户名是否存在
|
// 检查管理员用户名是否存在
|
||||||
CheckAdminUsername(ctx context.Context, in *CheckAdminUsernameRequest, opts ...grpc.CallOption) (*CheckAdminUsernameResponse, error)
|
CheckAdminUsername(ctx context.Context, in *CheckAdminUsernameRequest, opts ...grpc.CallOption) (*CheckAdminUsernameResponse, error)
|
||||||
|
// 使用用管理员户名查找管理员信息
|
||||||
|
FindAdminWithUsername(ctx context.Context, in *FindAdminWithUsernameRequest, opts ...grpc.CallOption) (*FindAdminWithUsernameResponse, error)
|
||||||
// 获取管理员名称
|
// 获取管理员名称
|
||||||
FindAdminFullname(ctx context.Context, in *FindAdminFullnameRequest, opts ...grpc.CallOption) (*FindAdminFullnameResponse, error)
|
FindAdminFullname(ctx context.Context, in *FindAdminFullnameRequest, opts ...grpc.CallOption) (*FindAdminFullnameResponse, error)
|
||||||
// 获取管理员信息
|
// 获取管理员信息
|
||||||
@@ -116,6 +119,15 @@ func (c *adminServiceClient) CheckAdminUsername(ctx context.Context, in *CheckAd
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *adminServiceClient) FindAdminWithUsername(ctx context.Context, in *FindAdminWithUsernameRequest, opts ...grpc.CallOption) (*FindAdminWithUsernameResponse, error) {
|
||||||
|
out := new(FindAdminWithUsernameResponse)
|
||||||
|
err := c.cc.Invoke(ctx, AdminService_FindAdminWithUsername_FullMethodName, in, out, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (c *adminServiceClient) FindAdminFullname(ctx context.Context, in *FindAdminFullnameRequest, opts ...grpc.CallOption) (*FindAdminFullnameResponse, error) {
|
func (c *adminServiceClient) FindAdminFullname(ctx context.Context, in *FindAdminFullnameRequest, opts ...grpc.CallOption) (*FindAdminFullnameResponse, error) {
|
||||||
out := new(FindAdminFullnameResponse)
|
out := new(FindAdminFullnameResponse)
|
||||||
err := c.cc.Invoke(ctx, AdminService_FindAdminFullname_FullMethodName, in, out, opts...)
|
err := c.cc.Invoke(ctx, AdminService_FindAdminFullname_FullMethodName, in, out, opts...)
|
||||||
@@ -259,8 +271,10 @@ type AdminServiceServer interface {
|
|||||||
LoginAdmin(context.Context, *LoginAdminRequest) (*LoginAdminResponse, error)
|
LoginAdmin(context.Context, *LoginAdminRequest) (*LoginAdminResponse, error)
|
||||||
// 检查管理员是否存在
|
// 检查管理员是否存在
|
||||||
CheckAdminExists(context.Context, *CheckAdminExistsRequest) (*CheckAdminExistsResponse, error)
|
CheckAdminExists(context.Context, *CheckAdminExistsRequest) (*CheckAdminExistsResponse, error)
|
||||||
// 检查用户名是否存在
|
// 检查管理员用户名是否存在
|
||||||
CheckAdminUsername(context.Context, *CheckAdminUsernameRequest) (*CheckAdminUsernameResponse, error)
|
CheckAdminUsername(context.Context, *CheckAdminUsernameRequest) (*CheckAdminUsernameResponse, error)
|
||||||
|
// 使用用管理员户名查找管理员信息
|
||||||
|
FindAdminWithUsername(context.Context, *FindAdminWithUsernameRequest) (*FindAdminWithUsernameResponse, error)
|
||||||
// 获取管理员名称
|
// 获取管理员名称
|
||||||
FindAdminFullname(context.Context, *FindAdminFullnameRequest) (*FindAdminFullnameResponse, error)
|
FindAdminFullname(context.Context, *FindAdminFullnameRequest) (*FindAdminFullnameResponse, error)
|
||||||
// 获取管理员信息
|
// 获取管理员信息
|
||||||
@@ -306,6 +320,9 @@ func (UnimplementedAdminServiceServer) CheckAdminExists(context.Context, *CheckA
|
|||||||
func (UnimplementedAdminServiceServer) CheckAdminUsername(context.Context, *CheckAdminUsernameRequest) (*CheckAdminUsernameResponse, error) {
|
func (UnimplementedAdminServiceServer) CheckAdminUsername(context.Context, *CheckAdminUsernameRequest) (*CheckAdminUsernameResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method CheckAdminUsername not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method CheckAdminUsername not implemented")
|
||||||
}
|
}
|
||||||
|
func (UnimplementedAdminServiceServer) FindAdminWithUsername(context.Context, *FindAdminWithUsernameRequest) (*FindAdminWithUsernameResponse, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method FindAdminWithUsername not implemented")
|
||||||
|
}
|
||||||
func (UnimplementedAdminServiceServer) FindAdminFullname(context.Context, *FindAdminFullnameRequest) (*FindAdminFullnameResponse, error) {
|
func (UnimplementedAdminServiceServer) FindAdminFullname(context.Context, *FindAdminFullnameRequest) (*FindAdminFullnameResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method FindAdminFullname not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method FindAdminFullname not implemented")
|
||||||
}
|
}
|
||||||
@@ -417,6 +434,24 @@ func _AdminService_CheckAdminUsername_Handler(srv interface{}, ctx context.Conte
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _AdminService_FindAdminWithUsername_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(FindAdminWithUsernameRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(AdminServiceServer).FindAdminWithUsername(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: AdminService_FindAdminWithUsername_FullMethodName,
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(AdminServiceServer).FindAdminWithUsername(ctx, req.(*FindAdminWithUsernameRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
func _AdminService_FindAdminFullname_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
func _AdminService_FindAdminFullname_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
in := new(FindAdminFullnameRequest)
|
in := new(FindAdminFullnameRequest)
|
||||||
if err := dec(in); err != nil {
|
if err := dec(in); err != nil {
|
||||||
@@ -706,6 +741,10 @@ var AdminService_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "checkAdminUsername",
|
MethodName: "checkAdminUsername",
|
||||||
Handler: _AdminService_CheckAdminUsername_Handler,
|
Handler: _AdminService_CheckAdminUsername_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "findAdminWithUsername",
|
||||||
|
Handler: _AdminService_FindAdminWithUsername_Handler,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
MethodName: "findAdminFullname",
|
MethodName: "findAdminFullname",
|
||||||
Handler: _AdminService_FindAdminFullname_Handler,
|
Handler: _AdminService_FindAdminFullname_Handler,
|
||||||
|
|||||||
@@ -575,7 +575,8 @@ type FindEnabledDNSProviderRequest struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
DnsProviderId int64 `protobuf:"varint,1,opt,name=dnsProviderId,proto3" json:"dnsProviderId,omitempty"`
|
DnsProviderId int64 `protobuf:"varint,1,opt,name=dnsProviderId,proto3" json:"dnsProviderId,omitempty"` // DNS服务商ID
|
||||||
|
MaskParams bool `protobuf:"varint,2,opt,name=maskParams,proto3" json:"maskParams,omitempty"` // 是否对参数中的密钥进行掩码
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindEnabledDNSProviderRequest) Reset() {
|
func (x *FindEnabledDNSProviderRequest) Reset() {
|
||||||
@@ -617,12 +618,19 @@ func (x *FindEnabledDNSProviderRequest) GetDnsProviderId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *FindEnabledDNSProviderRequest) GetMaskParams() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.MaskParams
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
type FindEnabledDNSProviderResponse struct {
|
type FindEnabledDNSProviderResponse struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
DnsProvider *DNSProvider `protobuf:"bytes,1,opt,name=dnsProvider,proto3" json:"dnsProvider,omitempty"`
|
DnsProvider *DNSProvider `protobuf:"bytes,1,opt,name=dnsProvider,proto3" json:"dnsProvider,omitempty"` // DNS服务商信息
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindEnabledDNSProviderResponse) Reset() {
|
func (x *FindEnabledDNSProviderResponse) Reset() {
|
||||||
@@ -978,11 +986,13 @@ var file_service_dns_provider_proto_rawDesc = []byte{
|
|||||||
0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
|
0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
|
||||||
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f,
|
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f,
|
||||||
0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45,
|
0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45,
|
||||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
|
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
|
||||||
0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x50,
|
0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x50,
|
||||||
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x53,
|
0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e,
|
||||||
|
0x0a, 0x0a, 0x6d, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01,
|
||||||
|
0x28, 0x08, 0x52, 0x0a, 0x6d, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x53,
|
||||||
0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x44, 0x4e, 0x53,
|
0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x44, 0x4e, 0x53,
|
||||||
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||||
0x12, 0x31, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18,
|
0x12, 0x31, 0x0a, 0x0b, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18,
|
||||||
|
|||||||
@@ -379,9 +379,10 @@ type UpdateHTTPFirewallPolicyRequest struct {
|
|||||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
|
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
|
||||||
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
|
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
|
||||||
FirewallGroupCodes []string `protobuf:"bytes,5,rep,name=firewallGroupCodes,proto3" json:"firewallGroupCodes,omitempty"`
|
FirewallGroupCodes []string `protobuf:"bytes,5,rep,name=firewallGroupCodes,proto3" json:"firewallGroupCodes,omitempty"`
|
||||||
BlockOptionsJSON []byte `protobuf:"bytes,6,opt,name=blockOptionsJSON,proto3" json:"blockOptionsJSON,omitempty"` // 阻止动作配置
|
BlockOptionsJSON []byte `protobuf:"bytes,6,opt,name=blockOptionsJSON,proto3" json:"blockOptionsJSON,omitempty"` // 阻止动作配置
|
||||||
PageOptionsJSON []byte `protobuf:"bytes,15,opt,name=pageOptionsJSON,proto3" json:"pageOptionsJSON,omitempty"` // 显示网页动作配置
|
PageOptionsJSON []byte `protobuf:"bytes,15,opt,name=pageOptionsJSON,proto3" json:"pageOptionsJSON,omitempty"` // 显示网页动作配置
|
||||||
CaptchaOptionsJSON []byte `protobuf:"bytes,11,opt,name=captchaOptionsJSON,proto3" json:"captchaOptionsJSON,omitempty"` // 验证码动作配置
|
CaptchaOptionsJSON []byte `protobuf:"bytes,11,opt,name=captchaOptionsJSON,proto3" json:"captchaOptionsJSON,omitempty"` // 验证码动作配置
|
||||||
|
JsCookieOptionsJSON []byte `protobuf:"bytes,16,opt,name=jsCookieOptionsJSON,proto3" json:"jsCookieOptionsJSON,omitempty"` // JSCookie动作配置
|
||||||
Mode string `protobuf:"bytes,7,opt,name=mode,proto3" json:"mode,omitempty"`
|
Mode string `protobuf:"bytes,7,opt,name=mode,proto3" json:"mode,omitempty"`
|
||||||
UseLocalFirewall bool `protobuf:"varint,8,opt,name=useLocalFirewall,proto3" json:"useLocalFirewall,omitempty"` // 是否使用本地防火墙
|
UseLocalFirewall bool `protobuf:"varint,8,opt,name=useLocalFirewall,proto3" json:"useLocalFirewall,omitempty"` // 是否使用本地防火墙
|
||||||
SynFloodJSON []byte `protobuf:"bytes,9,opt,name=synFloodJSON,proto3" json:"synFloodJSON,omitempty"` // SYN Flood相关配置
|
SynFloodJSON []byte `protobuf:"bytes,9,opt,name=synFloodJSON,proto3" json:"synFloodJSON,omitempty"` // SYN Flood相关配置
|
||||||
@@ -479,6 +480,13 @@ func (x *UpdateHTTPFirewallPolicyRequest) GetCaptchaOptionsJSON() []byte {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *UpdateHTTPFirewallPolicyRequest) GetJsCookieOptionsJSON() []byte {
|
||||||
|
if x != nil {
|
||||||
|
return x.JsCookieOptionsJSON
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (x *UpdateHTTPFirewallPolicyRequest) GetMode() string {
|
func (x *UpdateHTTPFirewallPolicyRequest) GetMode() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Mode
|
return x.Mode
|
||||||
@@ -1435,7 +1443,7 @@ var file_service_http_firewall_policy_proto_rawDesc = []byte{
|
|||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70,
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70,
|
||||||
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
|
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65,
|
||||||
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0xd9, 0x04, 0x0a,
|
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x8b, 0x05, 0x0a,
|
||||||
0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
|
0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
|
||||||
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||||
@@ -1457,242 +1465,245 @@ var file_service_http_firewall_policy_proto_rawDesc = []byte{
|
|||||||
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f,
|
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f,
|
||||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c,
|
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c,
|
||||||
0x52, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
0x52, 0x12, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||||
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01,
|
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x30, 0x0a, 0x13, 0x6a, 0x73, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65,
|
||||||
0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x4c,
|
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x10, 0x20, 0x01, 0x28,
|
||||||
0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01,
|
0x0c, 0x52, 0x13, 0x6a, 0x73, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
|
||||||
0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x72, 0x65,
|
0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07,
|
||||||
0x77, 0x61, 0x6c, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x64,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x73,
|
||||||
0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x46,
|
0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, 0x08,
|
||||||
0x6c, 0x6f, 0x6f, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x4a,
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69,
|
||||||
0x53, 0x4f, 0x4e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x4a, 0x53,
|
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x46, 0x6c, 0x6f,
|
||||||
0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x6f, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x79,
|
||||||
0x42, 0x6f, 0x64, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12,
|
0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f,
|
||||||
0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x69,
|
0x67, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x4c, 0x6f, 0x67,
|
||||||
0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72,
|
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x79, 0x48, 0x54, 0x4d, 0x4c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x6e,
|
0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03,
|
||||||
0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x54, 0x4d, 0x4c, 0x12, 0x2a, 0x0a, 0x10,
|
0x52, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79,
|
||||||
0x64, 0x65, 0x6e, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x48, 0x54, 0x4d, 0x4c,
|
0x53, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x75, 0x6e,
|
||||||
0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x6e, 0x79, 0x50, 0x72, 0x6f, 0x76,
|
0x74, 0x72, 0x79, 0x48, 0x54, 0x4d, 0x4c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64,
|
||||||
0x69, 0x6e, 0x63, 0x65, 0x48, 0x54, 0x4d, 0x4c, 0x22, 0xa1, 0x01, 0x0a, 0x25, 0x55, 0x70, 0x64,
|
0x65, 0x6e, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x54, 0x4d, 0x4c, 0x12, 0x2a,
|
||||||
0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
0x0a, 0x10, 0x64, 0x65, 0x6e, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x48, 0x54,
|
||||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x4d, 0x4c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x6e, 0x79, 0x50, 0x72,
|
||||||
0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x48, 0x54, 0x4d, 0x4c, 0x22, 0xa1, 0x01, 0x0a, 0x25, 0x55,
|
||||||
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
||||||
0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71,
|
||||||
0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
|
0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65,
|
||||||
0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x69, 0x6e, 0x62,
|
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||||
0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x62,
|
0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||||
0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c,
|
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f,
|
||||||
0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x7e, 0x0a, 0x26,
|
0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x69,
|
||||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x75,
|
||||||
0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
|
0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
|
||||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69,
|
0x52, 0x0c, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x7e,
|
||||||
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01,
|
0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
||||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
|
||||||
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e,
|
0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70,
|
||||||
0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
|
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
|
||||||
0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x2a,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65,
|
||||||
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
|
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b,
|
||||||
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65,
|
0x0c, 0x52, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6c,
|
||||||
0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79,
|
0x0a, 0x2a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||||
0x77, 0x6f, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
|
0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
||||||
0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64,
|
0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07,
|
||||||
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x26, 0x4c,
|
0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b,
|
||||||
0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
|
0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
|
||||||
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65,
|
0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18,
|
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a,
|
0x26, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
|
||||||
0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a,
|
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73,
|
||||||
0x65, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01,
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
|
||||||
0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6e,
|
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12,
|
||||||
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01,
|
0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73,
|
||||||
0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
|
0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03,
|
||||||
0x64, 0x22, 0x75, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x24, 0x0a,
|
||||||
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04,
|
||||||
0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x14,
|
0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||||
0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
0x72, 0x49, 0x64, 0x22, 0x75, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||||
0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e,
|
0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
||||||
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a,
|
||||||
0x63, 0x79, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
||||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x55, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65,
|
0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70,
|
||||||
0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
||||||
0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68,
|
0x6c, 0x69, 0x63, 0x79, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
||||||
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x55, 0x0a, 0x1f, 0x44, 0x65,
|
||||||
0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46,
|
0x6c, 0x65, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||||
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22,
|
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a,
|
||||||
0x60, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
|
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
|
||||||
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a,
|
|
||||||
0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
||||||
0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74,
|
0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74,
|
||||||
0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
|
0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
|
||||||
0x64, 0x22, 0x65, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
0x64, 0x22, 0x60, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||||
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||||
0x12, 0x36, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
|
||||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
|
|
||||||
0x52, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
|
||||||
0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5a, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64,
|
|
||||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
|
|
||||||
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
||||||
0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
|
||||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14,
|
|
||||||
0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
|
||||||
0x63, 0x79, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
|
|
||||||
0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
|
||||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a,
|
|
||||||
0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
|
||||||
0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x48,
|
|
||||||
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
|
||||||
0x79, 0x52, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
|
||||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8d, 0x01, 0x0a, 0x1f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
|
|
||||||
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
|
||||||
0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74,
|
|
||||||
0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
|
|
||||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72,
|
|
||||||
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a,
|
|
||||||
0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
|
||||||
0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x68,
|
|
||||||
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
|
||||||
0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x26, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54,
|
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
|
||||||
0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
|
||||||
0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
||||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68,
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68,
|
||||||
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||||
0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x79, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||||
0x02, 0x69, 0x70, 0x22, 0xc8, 0x02, 0x0a, 0x27, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54, 0x54,
|
0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
||||||
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
|
0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
0x73, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
||||||
0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69,
|
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01,
|
||||||
0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01,
|
0x28, 0x0c, 0x52, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||||
0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x46,
|
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5a, 0x0a, 0x24, 0x46, 0x69,
|
||||||
0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x6f,
|
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
|
||||||
0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
|
|
||||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65,
|
|
||||||
0x64, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
|
|
||||||
0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69,
|
|
||||||
0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18,
|
|
||||||
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65,
|
|
||||||
0x6d, 0x52, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x37, 0x0a, 0x0d, 0x72, 0x65, 0x67,
|
|
||||||
0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
|
|
||||||
0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
|
|
||||||
0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
|
||||||
0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
|
|
||||||
0x69, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e,
|
|
||||||
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0e,
|
|
||||||
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x22, 0x61,
|
|
||||||
0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69,
|
|
||||||
0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
|
||||||
0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a,
|
|
||||||
0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
|
||||||
0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74,
|
|
||||||
0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49,
|
|
||||||
0x64, 0x22, 0x4a, 0x0a, 0x2c, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49,
|
|
||||||
0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
|
||||||
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
|
||||||
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20,
|
|
||||||
0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x32, 0x9d, 0x0c,
|
|
||||||
0x0a, 0x19, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
|
||||||
0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x22,
|
|
||||||
0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
|
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
|
|
||||||
0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
|
|
||||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
|
||||||
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
||||||
0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
|
|
||||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
|
||||||
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
|
||||||
0x65, 0x12, 0x65, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
|
|
||||||
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e,
|
|
||||||
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
|
|
||||||
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54,
|
0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x63, 0x72, 0x65, 0x61,
|
0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
||||||
0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
|
0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
|
||||||
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x43,
|
|
||||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
|
|
||||||
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
|
|
||||||
0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45,
|
|
||||||
0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
|
||||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f,
|
|
||||||
0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
|
||||||
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e,
|
|
||||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
|
||||||
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
|
||||||
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
|
|
||||||
0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
|
|
||||||
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
||||||
0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
|
|
||||||
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47,
|
|
||||||
0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
|
|
||||||
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5d, 0x0a, 0x1f,
|
|
||||||
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
|
||||||
0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
|
|
||||||
0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
|
|
||||||
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f,
|
|
||||||
0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
|
|
||||||
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63,
|
|
||||||
0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
|
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
|
|
||||||
0x65, 0x73, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
|
|
||||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
|
|
||||||
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
||||||
0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x1f, 0x6c, 0x69, 0x73, 0x74,
|
|
||||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
|
|
||||||
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x62,
|
|
||||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
|
|
||||||
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73,
|
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
|
|
||||||
0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
|
||||||
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
|
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x54,
|
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
|
||||||
0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50,
|
|
||||||
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
|
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
|
|
||||||
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
|
|
||||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
||||||
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e,
|
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||||
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
|
0x46, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62,
|
||||||
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e,
|
0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
||||||
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
|
0x69, 0x63, 0x79, 0x52, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8d, 0x01, 0x0a, 0x1f, 0x49, 0x6d, 0x70, 0x6f,
|
||||||
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74,
|
0x72, 0x74, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
||||||
0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54,
|
0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68,
|
||||||
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
|
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||||
0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46,
|
||||||
|
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12,
|
||||||
|
0x36, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
||||||
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
|
||||||
|
0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
||||||
|
0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x6c, 0x0a, 0x26, 0x43, 0x68, 0x65, 0x63, 0x6b,
|
||||||
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
|
0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
||||||
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70,
|
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54,
|
0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54, 0x54, 0x50,
|
0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0xc8, 0x02, 0x0a, 0x27, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48,
|
||||||
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
|
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
|
|
||||||
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x7a, 0x0a, 0x1f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54,
|
|
||||||
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
|
||||||
0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68,
|
|
||||||
0x65, 0x63, 0x6b, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
|
||||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
|
|
||||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48,
|
|
||||||
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||||
0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||||
0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02,
|
||||||
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x69,
|
||||||
0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68,
|
0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
|
||||||
|
0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77,
|
||||||
|
0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f,
|
||||||
|
0x77, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
|
||||||
|
0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52,
|
||||||
|
0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65,
|
||||||
|
0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49,
|
||||||
|
0x74, 0x65, 0x6d, 0x52, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x37, 0x0a, 0x0d, 0x72,
|
||||||
|
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01,
|
||||||
|
0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
|
||||||
|
0x75, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75,
|
||||||
|
0x6e, 0x74, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
|
||||||
|
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
|
||||||
|
0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
|
||||||
|
0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
|
||||||
|
0x22, 0x61, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
|
||||||
|
0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||||
|
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||||
|
0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
||||||
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68,
|
||||||
|
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||||
|
0x79, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x2c, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||||
|
0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
|
||||||
|
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
|
0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18,
|
||||||
|
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x32,
|
||||||
|
0x9d, 0x0c, 0x0a, 0x19, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||||
|
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x83, 0x01,
|
||||||
|
0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||||
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62,
|
0x63, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
|
||||||
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74,
|
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
||||||
0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a,
|
0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
|
||||||
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
|
||||||
|
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
|
0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
|
||||||
|
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
|
||||||
|
0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
|
||||||
|
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71,
|
||||||
|
0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||||
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
|
0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x63, 0x72,
|
||||||
|
0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
|
||||||
|
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, 0x70, 0x62,
|
||||||
|
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50,
|
||||||
|
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
|
||||||
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||||
|
0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
||||||
|
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||||
|
0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
|
||||||
|
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70,
|
||||||
|
0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
||||||
|
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
|
0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
|
||||||
|
0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
|
||||||
|
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f,
|
||||||
|
0x75, 0x70, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
|
||||||
|
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||||
|
0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
|
||||||
|
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5d,
|
||||||
|
0x0a, 0x1f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
||||||
|
0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
|
||||||
|
0x67, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54,
|
||||||
|
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64,
|
||||||
|
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
|
||||||
|
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a,
|
||||||
|
0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||||
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
|
0x63, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
|
||||||
|
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
|
||||||
|
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71,
|
||||||
|
0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75,
|
||||||
|
0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x1f, 0x6c, 0x69,
|
||||||
|
0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
|
||||||
|
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x2e,
|
||||||
|
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54,
|
||||||
|
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
|
||||||
|
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
|
||||||
|
0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
|
||||||
|
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65,
|
||||||
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
|
||||||
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
|
0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x54,
|
||||||
|
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
||||||
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
|
||||||
|
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64,
|
||||||
|
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77,
|
||||||
|
0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
|
||||||
|
0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||||
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
|
0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||||
|
0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||||
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
|
0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||||
|
0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
|
||||||
|
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||||
|
0x79, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||||
|
0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
||||||
|
0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62,
|
||||||
|
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50,
|
||||||
|
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
|
||||||
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
|
||||||
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
|
0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54,
|
||||||
|
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
||||||
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
|
||||||
|
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x7a, 0x0a, 0x1f, 0x63, 0x68, 0x65, 0x63, 0x6b,
|
||||||
|
0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||||
|
0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
|
0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
||||||
|
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
|
||||||
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63,
|
||||||
|
0x6b, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
||||||
|
0x69, 0x63, 0x79, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
|
0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76,
|
||||||
|
0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
||||||
|
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70,
|
||||||
|
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69,
|
||||||
|
0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f,
|
||||||
|
0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e,
|
||||||
|
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57,
|
||||||
|
0x69, 0x74, 0x68, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
||||||
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42,
|
||||||
|
0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ type CreateIPItemRequest struct {
|
|||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
IpListId int64 `protobuf:"varint,1,opt,name=ipListId,proto3" json:"ipListId,omitempty"` // 所属IP列表ID
|
IpListId int64 `protobuf:"varint,1,opt,name=ipListId,proto3" json:"ipListId,omitempty"` // 所属IP列表ID
|
||||||
|
Value string `protobuf:"bytes,15,opt,name=value,proto3" json:"value,omitempty"` // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数
|
||||||
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"` // 开始IP
|
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"` // 开始IP
|
||||||
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"` // 结束IP(可选)
|
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"` // 结束IP(可选)
|
||||||
ExpiredAt int64 `protobuf:"varint,4,opt,name=expiredAt,proto3" json:"expiredAt,omitempty"` // 过期时间戳(可选)
|
ExpiredAt int64 `protobuf:"varint,4,opt,name=expiredAt,proto3" json:"expiredAt,omitempty"` // 过期时间戳(可选)
|
||||||
@@ -81,6 +82,13 @@ func (x *CreateIPItemRequest) GetIpListId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *CreateIPItemRequest) GetValue() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Value
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (x *CreateIPItemRequest) GetIpFrom() string {
|
func (x *CreateIPItemRequest) GetIpFrom() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.IpFrom
|
return x.IpFrom
|
||||||
@@ -321,8 +329,9 @@ type UpdateIPItemRequest struct {
|
|||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
IpItemId int64 `protobuf:"varint,1,opt,name=ipItemId,proto3" json:"ipItemId,omitempty"`
|
IpItemId int64 `protobuf:"varint,1,opt,name=ipItemId,proto3" json:"ipItemId,omitempty"`
|
||||||
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"`
|
Value string `protobuf:"bytes,8,opt,name=value,proto3" json:"value,omitempty"` // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数
|
||||||
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"`
|
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"` // 开始IP
|
||||||
|
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"` // 结束IP(可选)
|
||||||
ExpiredAt int64 `protobuf:"varint,4,opt,name=expiredAt,proto3" json:"expiredAt,omitempty"`
|
ExpiredAt int64 `protobuf:"varint,4,opt,name=expiredAt,proto3" json:"expiredAt,omitempty"`
|
||||||
Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
|
Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
|
||||||
Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` // 类型
|
Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` // 类型
|
||||||
@@ -368,6 +377,13 @@ func (x *UpdateIPItemRequest) GetIpItemId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *UpdateIPItemRequest) GetValue() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Value
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (x *UpdateIPItemRequest) GetIpFrom() string {
|
func (x *UpdateIPItemRequest) GetIpFrom() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.IpFrom
|
return x.IpFrom
|
||||||
@@ -418,6 +434,7 @@ type DeleteIPItemRequest struct {
|
|||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
IpItemId int64 `protobuf:"varint,1,opt,name=ipItemId,proto3" json:"ipItemId,omitempty"` // IP条目的ID
|
IpItemId int64 `protobuf:"varint,1,opt,name=ipItemId,proto3" json:"ipItemId,omitempty"` // IP条目的ID
|
||||||
|
Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数
|
||||||
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"` // v0.4.8新增,开始IP,和ipItemId二选一
|
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"` // v0.4.8新增,开始IP,和ipItemId二选一
|
||||||
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"` // v0.4.8新增,结束IP,和ipItemId二选一
|
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"` // v0.4.8新增,结束IP,和ipItemId二选一
|
||||||
IpListId int64 `protobuf:"varint,4,opt,name=ipListId,proto3" json:"ipListId,omitempty"` // v0.4.8新增,IP列表,IP所在的IP列表,如果不指定,则会删除所有IP列表中的相关IP信息
|
IpListId int64 `protobuf:"varint,4,opt,name=ipListId,proto3" json:"ipListId,omitempty"` // v0.4.8新增,IP列表,IP所在的IP列表,如果不指定,则会删除所有IP列表中的相关IP信息
|
||||||
@@ -462,6 +479,13 @@ func (x *DeleteIPItemRequest) GetIpItemId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *DeleteIPItemRequest) GetValue() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Value
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (x *DeleteIPItemRequest) GetIpFrom() string {
|
func (x *DeleteIPItemRequest) GetIpFrom() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.IpFrom
|
return x.IpFrom
|
||||||
@@ -1736,6 +1760,7 @@ type CreateIPItemsRequest_IPItem struct {
|
|||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
IpListId int64 `protobuf:"varint,1,opt,name=ipListId,proto3" json:"ipListId,omitempty"` // IP列表ID
|
IpListId int64 `protobuf:"varint,1,opt,name=ipListId,proto3" json:"ipListId,omitempty"` // IP列表ID
|
||||||
|
Value string `protobuf:"bytes,15,opt,name=value,proto3" json:"value,omitempty"` // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数
|
||||||
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"` // 开始IP
|
IpFrom string `protobuf:"bytes,2,opt,name=ipFrom,proto3" json:"ipFrom,omitempty"` // 开始IP
|
||||||
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"` // 结束IP(可选)
|
IpTo string `protobuf:"bytes,3,opt,name=ipTo,proto3" json:"ipTo,omitempty"` // 结束IP(可选)
|
||||||
ExpiredAt int64 `protobuf:"varint,4,opt,name=expiredAt,proto3" json:"expiredAt,omitempty"` // 过期时间戳(可选)
|
ExpiredAt int64 `protobuf:"varint,4,opt,name=expiredAt,proto3" json:"expiredAt,omitempty"` // 过期时间戳(可选)
|
||||||
@@ -1790,6 +1815,13 @@ func (x *CreateIPItemsRequest_IPItem) GetIpListId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *CreateIPItemsRequest_IPItem) GetValue() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Value
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (x *CreateIPItemsRequest_IPItem) GetIpFrom() string {
|
func (x *CreateIPItemsRequest_IPItem) GetIpFrom() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.IpFrom
|
return x.IpFrom
|
||||||
@@ -1966,87 +1998,11 @@ var file_service_ip_item_proto_rawDesc = []byte{
|
|||||||
0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
|
0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
|
||||||
0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72,
|
0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72,
|
||||||
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f,
|
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f,
|
||||||
0x74, 0x6f, 0x22, 0x8f, 0x04, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49,
|
0x74, 0x6f, 0x22, 0xa5, 0x04, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49,
|
||||||
0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70,
|
0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70,
|
||||||
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70,
|
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70,
|
||||||
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d,
|
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12,
|
0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06,
|
||||||
0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70,
|
|
||||||
0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x18,
|
|
||||||
0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74,
|
|
||||||
0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
|
||||||
0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
|
|
||||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
|
|
||||||
0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
|
|
||||||
0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06,
|
|
||||||
0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f,
|
|
||||||
0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
|
|
||||||
0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
|
|
||||||
0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64,
|
|
||||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f,
|
|
||||||
0x64, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65,
|
|
||||||
0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x6f,
|
|
||||||
0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1a,
|
|
||||||
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
|
||||||
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03,
|
|
||||||
0x52, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
|
||||||
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x1d,
|
|
||||||
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
|
||||||
0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x0d, 0x20,
|
|
||||||
0x01, 0x28, 0x03, 0x52, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46,
|
|
||||||
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
||||||
0x49, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50,
|
|
||||||
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49,
|
|
||||||
0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48,
|
|
||||||
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53,
|
|
||||||
0x65, 0x74, 0x49, 0x64, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50,
|
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08,
|
|
||||||
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
|
|
||||||
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xd6, 0x04, 0x0a, 0x14, 0x43, 0x72, 0x65,
|
|
||||||
0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
||||||
0x74, 0x12, 0x39, 0x0a, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03,
|
|
||||||
0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50,
|
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x50, 0x49,
|
|
||||||
0x74, 0x65, 0x6d, 0x52, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x82, 0x04, 0x0a,
|
|
||||||
0x06, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73,
|
|
||||||
0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73,
|
|
||||||
0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20,
|
|
||||||
0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69,
|
|
||||||
0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12,
|
|
||||||
0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01,
|
|
||||||
0x28, 0x03, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a,
|
|
||||||
0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
|
|
||||||
0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
|
|
||||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65,
|
|
||||||
0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65,
|
|
||||||
0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64,
|
|
||||||
0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
|
|
||||||
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20,
|
|
||||||
0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a,
|
|
||||||
0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20,
|
|
||||||
0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49,
|
|
||||||
0x64, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
|
|
||||||
0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
|
||||||
0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1a, 0x73, 0x6f, 0x75,
|
|
||||||
0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
|
||||||
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x73,
|
|
||||||
0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
|
||||||
0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x1d, 0x73, 0x6f, 0x75,
|
|
||||||
0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52,
|
|
||||||
0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03,
|
|
||||||
0x52, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
|
||||||
0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12,
|
|
||||||
0x40, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
|
|
||||||
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x0e,
|
|
||||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50,
|
|
||||||
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49,
|
|
||||||
0x64, 0x22, 0x35, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65,
|
|
||||||
0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70,
|
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x69,
|
|
||||||
0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64,
|
|
||||||
0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
||||||
0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
|
||||||
0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
|
|
||||||
0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70,
|
0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70,
|
||||||
0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01,
|
0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01,
|
||||||
0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69,
|
0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69,
|
||||||
@@ -2056,243 +2012,324 @@ var file_service_ip_item_proto_rawDesc = []byte{
|
|||||||
0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,
|
0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,
|
||||||
0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c,
|
0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c,
|
||||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76,
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76,
|
||||||
0x65, 0x6c, 0x22, 0x79, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74,
|
0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01,
|
||||||
0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49,
|
0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65,
|
||||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49,
|
0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65,
|
||||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18,
|
0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
||||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a,
|
0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x6f,
|
||||||
0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54,
|
0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6f,
|
||||||
0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20,
|
0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01,
|
||||||
0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x34, 0x0a,
|
0x28, 0x03, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65,
|
0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49,
|
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64,
|
||||||
0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d,
|
0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54,
|
||||||
0x49, 0x64, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49,
|
0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
||||||
0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65,
|
0x49, 0x64, 0x12, 0x44, 0x0a, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75,
|
||||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
0x70, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||||
0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
|
0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c,
|
||||||
0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69,
|
0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72,
|
||||||
0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46,
|
0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75,
|
||||||
0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28,
|
0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x73,
|
||||||
0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74,
|
0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
||||||
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65,
|
0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x72,
|
||||||
0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xcc, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74,
|
0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01,
|
||||||
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69,
|
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xec,
|
||||||
0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69,
|
0x04, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
||||||
0x73, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18,
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65,
|
||||||
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16,
|
0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
|
||||||
0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x06,
|
0x73, 0x74, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76,
|
0x6d, 0x73, 0x1a, 0x98, 0x04, 0x0a, 0x06, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a,
|
||||||
0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66,
|
0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
|
||||||
0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
|
0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12,
|
||||||
0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
|
0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x45, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50,
|
0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18,
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52,
|
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x65,
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65,
|
0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
|
||||||
0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50,
|
0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61,
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x36, 0x0a,
|
0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
|
||||||
0x18, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74,
|
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49,
|
0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65,
|
||||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49,
|
0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74,
|
||||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
|
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18,
|
||||||
0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a,
|
||||||
0x73, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01,
|
0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06,
|
0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x6f, 0x75,
|
||||||
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x4e, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50,
|
0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a,
|
||||||
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
|
0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18,
|
||||||
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
|
0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72,
|
||||||
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
|
0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48,
|
||||||
0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x47, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50,
|
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
0x79, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||||
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x69, 0x70, 0x49,
|
0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
||||||
0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e,
|
0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48,
|
||||||
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22,
|
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47,
|
||||||
0x46, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74,
|
0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x73, 0x6f,
|
||||||
0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69,
|
0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||||
0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69,
|
0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x73,
|
||||||
0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20,
|
0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63,
|
0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03,
|
||||||
0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
|
0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20,
|
0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x22, 0x35, 0x0a,
|
||||||
0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72,
|
0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65,
|
||||||
0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12,
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d,
|
||||||
0x18, 0x0a, 0x07, 0x69, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
|
0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65,
|
||||||
0x52, 0x07, 0x69, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x41,
|
0x6d, 0x49, 0x64, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49,
|
||||||
0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73,
|
0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65,
|
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
|
||||||
0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49,
|
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||||
0x74, 0x65, 0x6d, 0x52, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x38, 0x0a, 0x1a, 0x45,
|
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16,
|
||||||
0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74,
|
0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
||||||
0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49,
|
0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03,
|
||||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78,
|
||||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x1b, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45,
|
0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65,
|
||||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70,
|
0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01,
|
0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
|
||||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xd5, 0x01, 0x0a,
|
0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
||||||
0x1d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76,
|
||||||
|
0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c,
|
||||||
|
0x65, 0x76, 0x65, 0x6c, 0x22, 0x8f, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49,
|
||||||
|
0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
|
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
|
||||||
|
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||||
|
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16,
|
||||||
|
0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
||||||
|
0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x03,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70,
|
||||||
|
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70,
|
||||||
|
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
|
||||||
|
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c,
|
||||||
|
0x0a, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||||
|
0x03, 0x52, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0xa1, 0x01, 0x0a,
|
||||||
|
0x1d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74,
|
||||||
|
0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
|
||||||
|
0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||||
|
0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65,
|
||||||
|
0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79,
|
||||||
|
0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x03,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04,
|
||||||
|
0x69, 0x70, 0x54, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x54, 0x6f,
|
||||||
|
0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c,
|
||||||
|
0x22, 0xcc, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
||||||
|
0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
|
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20,
|
||||||
|
0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a,
|
||||||
|
0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
|
||||||
|
0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f,
|
||||||
|
0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12,
|
||||||
|
0x12, 0x0a, 0x04, 0x69, 0x70, 0x54, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69,
|
||||||
|
0x70, 0x54, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65,
|
||||||
|
0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65,
|
||||||
|
0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20,
|
||||||
|
0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73,
|
||||||
|
0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22,
|
||||||
|
0x45, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69,
|
||||||
|
0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||||
|
0x12, 0x24, 0x0a, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||||
|
0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x69,
|
||||||
|
0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x36, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
|
||||||
|
0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
|
0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01,
|
||||||
|
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x3f,
|
||||||
|
0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49,
|
||||||
|
0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x69,
|
||||||
|
0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62,
|
||||||
|
0x2e, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x22,
|
||||||
|
0x4e, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66,
|
||||||
|
0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
|
0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
|
||||||
|
0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73,
|
||||||
|
0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22,
|
||||||
|
0x47, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66,
|
||||||
|
0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
|
0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20,
|
||||||
|
0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52,
|
||||||
|
0x07, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x46, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63,
|
||||||
|
0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
|
||||||
|
0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64,
|
||||||
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64,
|
||||||
|
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70,
|
||||||
|
0x22, 0xa1, 0x01, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
||||||
|
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12,
|
||||||
|
0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73,
|
||||||
|
0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
|
0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x46, 0x6f,
|
||||||
|
0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x6f, 0x75,
|
||||||
|
0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18,
|
||||||
|
0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
|
||||||
|
0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
|
||||||
|
0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x69, 0x70,
|
||||||
|
0x49, 0x74, 0x65, 0x6d, 0x22, 0x38, 0x0a, 0x1a, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e,
|
||||||
|
0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
|
0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01,
|
||||||
|
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x35,
|
||||||
|
0x0a, 0x1b, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49,
|
||||||
|
0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a,
|
||||||
|
0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65,
|
||||||
|
0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x1d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
|
||||||
|
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
||||||
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
|
||||||
|
0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,
|
||||||
|
0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
|
||||||
|
0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x18,
|
||||||
|
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c,
|
||||||
|
0x79, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||||
|
0x08, 0x52, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65,
|
||||||
|
0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65,
|
||||||
|
0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x73,
|
||||||
|
0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x73,
|
||||||
|
0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18,
|
||||||
|
0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x80, 0x02,
|
||||||
|
0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||||
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18,
|
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18,
|
||||||
0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01,
|
0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x62,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x62,
|
||||||
0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x67, 0x6c,
|
0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x67, 0x6c,
|
||||||
0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65,
|
0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65,
|
||||||
0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64,
|
0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64,
|
||||||
0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04,
|
0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c,
|
||||||
0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01,
|
0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01,
|
||||||
0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06,
|
0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06,
|
||||||
0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73,
|
0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73,
|
||||||
0x65, 0x72, 0x49, 0x64, 0x22, 0x80, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03,
|
||||||
|
0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04,
|
||||||
|
0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65,
|
||||||
|
0x22, 0xa2, 0x02, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
|
||||||
|
0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
|
0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20,
|
||||||
|
0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
||||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65,
|
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64,
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72,
|
||||||
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12,
|
0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0xbc, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c,
|
||||||
0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12,
|
0x74, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x1e, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20,
|
0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69,
|
||||||
0x01, 0x28, 0x08, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x12,
|
0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18,
|
||||||
0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
|
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65,
|
||||||
0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74,
|
0x6d, 0x52, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x06, 0x73, 0x65, 0x72,
|
||||||
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65,
|
0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53,
|
||||||
0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54,
|
0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x46, 0x0a,
|
||||||
0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54,
|
0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c,
|
||||||
0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20,
|
0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x48,
|
||||||
0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f,
|
0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||||
0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66,
|
0x79, 0x52, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50,
|
||||||
0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xfb, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c,
|
||||||
0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74,
|
0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01,
|
||||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x72, 0x65, 0x73,
|
0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69,
|
||||||
0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x62, 0x2e,
|
0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x67,
|
||||||
0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50,
|
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65,
|
0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x75,
|
||||||
0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0xbc, 0x01,
|
0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x72,
|
||||||
0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x70, 0x4c, 0x69,
|
0x65, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65,
|
||||||
0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50,
|
0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65,
|
||||||
0x4c, 0x69, 0x73, 0x74, 0x52, 0x06, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06,
|
0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18,
|
||||||
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70,
|
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
|
||||||
0x62, 0x2e, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d,
|
0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
0x12, 0x22, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
|
0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
|
||||||
0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65,
|
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12,
|
||||||
0x72, 0x76, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65,
|
0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73,
|
||||||
0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
|
0x69, 0x7a, 0x65, 0x22, 0x38, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50,
|
||||||
0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||||
0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69,
|
0x1c, 0x0a, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
|
||||||
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xfb, 0x01, 0x0a,
|
0x28, 0x03, 0x52, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x22, 0x1a, 0x0a,
|
||||||
0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
|
0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65,
|
||||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77,
|
0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x1f, 0x46, 0x69, 0x6e,
|
||||||
0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
|
|
||||||
0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
|
||||||
0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79,
|
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x6e,
|
|
||||||
0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01,
|
|
||||||
0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x76,
|
|
||||||
0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
|
||||||
0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69,
|
|
||||||
0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69,
|
|
||||||
0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
|
|
||||||
0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16,
|
|
||||||
0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
|
|
||||||
0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04,
|
|
||||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x38, 0x0a, 0x18, 0x4c, 0x69,
|
|
||||||
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x52, 0x65,
|
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d,
|
|
||||||
0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x69, 0x70, 0x49, 0x74, 0x65,
|
|
||||||
0x6d, 0x49, 0x64, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50,
|
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
||||||
0x22, 0x3d, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64,
|
|
||||||
0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
|
|
||||||
0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18,
|
|
||||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22,
|
|
||||||
0x3e, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57,
|
|
||||||
0x69, 0x74, 0x68, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
|
||||||
0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18,
|
|
||||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x32,
|
|
||||||
0x80, 0x0a, 0x0a, 0x0d, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
|
|
||||||
0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65,
|
|
||||||
0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49,
|
|
||||||
0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e,
|
|
||||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70,
|
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50,
|
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
|
||||||
0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
|
||||||
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65,
|
|
||||||
0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70,
|
|
||||||
0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e,
|
|
||||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75,
|
|
||||||
0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
|
|
||||||
0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49,
|
|
||||||
0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49,
|
|
||||||
0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
|
|
||||||
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0d,
|
|
||||||
0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18, 0x2e,
|
|
||||||
0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
|
|
||||||
0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
|
||||||
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
|
||||||
0x64, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74,
|
|
||||||
0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71,
|
|
||||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75,
|
|
||||||
0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69,
|
|
||||||
0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73,
|
|
||||||
0x74, 0x49, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49,
|
|
||||||
0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65,
|
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
|
||||||
0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64,
|
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64,
|
|
||||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x2e,
|
|
||||||
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50,
|
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62,
|
|
||||||
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74,
|
|
||||||
0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69,
|
|
||||||
0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65,
|
|
||||||
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
|
||||||
0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
|
|
||||||
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
|
|
||||||
0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56,
|
|
||||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50,
|
|
||||||
0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61,
|
|
||||||
0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50,
|
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
||||||
0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74,
|
|
||||||
0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
|
||||||
0x12, 0x56, 0x0a, 0x13, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
|
||||||
0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69,
|
|
||||||
0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69,
|
|
||||||
0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e,
|
|
||||||
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65,
|
|
||||||
0x6d, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
|
|
||||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65,
|
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f,
|
|
||||||
0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c,
|
|
||||||
0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49,
|
|
||||||
0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c,
|
|
||||||
0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52,
|
|
||||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
|
|
||||||
0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
|
||||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x6c, 0x69, 0x73,
|
|
||||||
0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x2e,
|
|
||||||
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
|
||||||
0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e,
|
|
||||||
0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73,
|
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61,
|
|
||||||
0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1c, 0x2e,
|
|
||||||
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
|
||||||
0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
|
|
||||||
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66,
|
|
||||||
0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49,
|
|
||||||
0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
|
|
||||||
0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x49,
|
0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x49,
|
||||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70,
|
0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69,
|
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
|
||||||
0x74, 0x68, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
0x69, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64,
|
||||||
0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x49, 0x74,
|
||||||
0x6f, 0x33,
|
0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
|
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
|
||||||
|
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x32, 0x80, 0x0a, 0x0a, 0x0d, 0x49, 0x50, 0x49,
|
||||||
|
0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72,
|
||||||
|
0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
|
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75,
|
||||||
|
0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49,
|
||||||
|
0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a,
|
||||||
|
0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18,
|
||||||
|
0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
||||||
|
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
|
||||||
|
0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
|
0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49,
|
||||||
|
0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49,
|
||||||
|
0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
|
||||||
|
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x0c,
|
||||||
|
0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x2e, 0x70,
|
||||||
|
0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65,
|
||||||
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
|
||||||
|
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49,
|
||||||
|
0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65,
|
||||||
|
0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
|
0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
|
||||||
|
0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
||||||
|
0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
|
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74, 0x68,
|
||||||
|
0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e,
|
||||||
|
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
|
0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65,
|
||||||
|
0x6d, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x2e, 0x70,
|
||||||
|
0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57, 0x69, 0x74,
|
||||||
|
0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
|
||||||
|
0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x57,
|
||||||
|
0x69, 0x74, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
|
0x65, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||||
|
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
|
||||||
|
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71,
|
||||||
|
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
|
||||||
|
0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
|
0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65,
|
||||||
|
0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22,
|
||||||
|
0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x41,
|
||||||
|
0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
|
0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x50, 0x49, 0x74,
|
||||||
|
0x65, 0x6d, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
|
||||||
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b,
|
||||||
|
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x70,
|
||||||
|
0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61,
|
||||||
|
0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
|
0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75,
|
||||||
|
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x65, 0x78, 0x69,
|
||||||
|
0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d,
|
||||||
|
0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62,
|
||||||
|
0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
|
0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62,
|
||||||
|
0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
|
0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
|
||||||
|
0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62,
|
||||||
|
0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||||
|
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14,
|
||||||
|
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||||
|
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
|
||||||
|
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x2e,
|
||||||
|
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||||
|
0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||||
|
0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
|
||||||
|
0x6c, 0x65, 0x64, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
|
0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49,
|
||||||
|
0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
|
||||||
|
0x41, 0x6c, 0x6c, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||||
|
0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
||||||
|
0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
|
0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65,
|
||||||
|
0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
|
||||||
|
0x74, 0x65, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71,
|
||||||
|
0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63,
|
||||||
|
0x63, 0x65, 0x73, 0x73, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76,
|
||||||
|
0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
|
||||||
|
0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
|
0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65,
|
||||||
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53,
|
||||||
|
0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x50, 0x49, 0x74, 0x65,
|
||||||
|
0x6d, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e,
|
||||||
|
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -26,13 +26,14 @@ type UploadMetricStatsRequest struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
|
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"` // 网站ID
|
||||||
Time string `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
|
Time string `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"` // 时间
|
||||||
Count int64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
|
Count int64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` // 数量
|
||||||
Total float32 `protobuf:"fixed32,4,opt,name=total,proto3" json:"total,omitempty"`
|
Total float32 `protobuf:"fixed32,4,opt,name=total,proto3" json:"total,omitempty"` // 总数
|
||||||
Version int32 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"`
|
Version int32 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"` // 版本号
|
||||||
ItemId int64 `protobuf:"varint,6,opt,name=itemId,proto3" json:"itemId,omitempty"`
|
ItemId int64 `protobuf:"varint,6,opt,name=itemId,proto3" json:"itemId,omitempty"` // 指标ID
|
||||||
MetricStats []*UploadingMetricStat `protobuf:"bytes,7,rep,name=metricStats,proto3" json:"metricStats,omitempty"`
|
MetricStats []*UploadingMetricStat `protobuf:"bytes,7,rep,name=metricStats,proto3" json:"metricStats,omitempty"` // 指标统计数据
|
||||||
|
KeepKeys []string `protobuf:"bytes,8,rep,name=keepKeys,proto3" json:"keepKeys,omitempty"` // 需要保留的指标值
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *UploadMetricStatsRequest) Reset() {
|
func (x *UploadMetricStatsRequest) Reset() {
|
||||||
@@ -116,6 +117,13 @@ func (x *UploadMetricStatsRequest) GetMetricStats() []*UploadingMetricStat {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *UploadMetricStatsRequest) GetKeepKeys() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.KeepKeys
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// 计算指标数据数量
|
// 计算指标数据数量
|
||||||
type CountMetricStatsRequest struct {
|
type CountMetricStatsRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
@@ -283,7 +291,7 @@ var file_service_metric_stat_proto_rawDesc = []byte{
|
|||||||
0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x65,
|
0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x65,
|
||||||
0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||||
0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73,
|
0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73,
|
||||||
0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x01, 0x0a, 0x18, 0x55,
|
0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x01, 0x0a, 0x18, 0x55,
|
||||||
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73,
|
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
|
||||||
0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
|
0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
|
||||||
@@ -298,38 +306,39 @@ var file_service_metric_stat_proto_rawDesc = []byte{
|
|||||||
0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e,
|
0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
|
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
|
||||||
0x74, 0x61, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73,
|
0x74, 0x61, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||||
0x22, 0x3d, 0x0a, 0x17, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
|
0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x08, 0x20, 0x03,
|
||||||
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d,
|
0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x3d, 0x0a, 0x17,
|
||||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||||
0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22,
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69,
|
||||||
0x68, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61,
|
0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d,
|
||||||
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74,
|
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x16, 0x4c,
|
||||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
|
||||||
0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a,
|
|
||||||
0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f,
|
|
||||||
0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20,
|
|
||||||
0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4b, 0x0a, 0x17, 0x4c, 0x69, 0x73,
|
|
||||||
0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
|
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74,
|
|
||||||
0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
|
|
||||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69,
|
|
||||||
0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x32, 0xe9, 0x01, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
|
||||||
0x63, 0x53, 0x74, 0x61, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x11,
|
|
||||||
0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74,
|
|
||||||
0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74,
|
|
||||||
0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
|
||||||
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
|
|
||||||
0x45, 0x0a, 0x10, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74,
|
|
||||||
0x61, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65,
|
|
||||||
0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
||||||
0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
|
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65,
|
|
||||||
0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
|
|
||||||
0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
|
0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d,
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
|
||||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74,
|
||||||
0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66,
|
||||||
0x6f, 0x33,
|
0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
|
||||||
|
0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
|
0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4b, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74,
|
||||||
|
0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||||
|
0x12, 0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18,
|
||||||
|
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||||
|
0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61,
|
||||||
|
0x74, 0x73, 0x32, 0xe9, 0x01, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61,
|
||||||
|
0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70, 0x6c, 0x6f,
|
||||||
|
0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1c, 0x2e,
|
||||||
|
0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
|
||||||
|
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
|
||||||
|
0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x10, 0x63,
|
||||||
|
0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
|
||||||
|
0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||||
|
0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70,
|
||||||
|
0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
|
0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||||
|
0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d,
|
||||||
|
0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
|
0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||||
|
0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06,
|
||||||
|
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -601,6 +601,62 @@ func (x *FindEnabledOriginConfigResponse) GetOriginJSON() []byte {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设置源站是否启用
|
||||||
|
type UpdateOriginIsOnRequest struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
OriginId int64 `protobuf:"varint,1,opt,name=originId,proto3" json:"originId,omitempty"` // 源站ID
|
||||||
|
IsOn bool `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateOriginIsOnRequest) Reset() {
|
||||||
|
*x = UpdateOriginIsOnRequest{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_service_origin_proto_msgTypes[7]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateOriginIsOnRequest) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*UpdateOriginIsOnRequest) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *UpdateOriginIsOnRequest) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_service_origin_proto_msgTypes[7]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use UpdateOriginIsOnRequest.ProtoReflect.Descriptor instead.
|
||||||
|
func (*UpdateOriginIsOnRequest) Descriptor() ([]byte, []int) {
|
||||||
|
return file_service_origin_proto_rawDescGZIP(), []int{7}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateOriginIsOnRequest) GetOriginId() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.OriginId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *UpdateOriginIsOnRequest) GetIsOn() bool {
|
||||||
|
if x != nil {
|
||||||
|
return x.IsOn
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
var File_service_origin_proto protoreflect.FileDescriptor
|
var File_service_origin_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_service_origin_proto_rawDesc = []byte{
|
var file_service_origin_proto_rawDesc = []byte{
|
||||||
@@ -697,28 +753,37 @@ var file_service_origin_proto_rawDesc = []byte{
|
|||||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
|
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
|
||||||
0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72,
|
0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72,
|
||||||
0x69, 0x67, 0x69, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a,
|
0x69, 0x67, 0x69, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a,
|
||||||
0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xc1, 0x02, 0x0a, 0x0d, 0x4f,
|
0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x49, 0x0a, 0x17, 0x55, 0x70,
|
||||||
0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c,
|
0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x73, 0x4f, 0x6e, 0x52, 0x65,
|
||||||
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x2e, 0x70,
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49,
|
||||||
0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65,
|
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||||
0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
0x04, 0x69, 0x73, 0x4f, 0x6e, 0x32, 0x82, 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e,
|
||||||
0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12,
|
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||||
0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69,
|
0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
|
||||||
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
|
0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64,
|
0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67,
|
||||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1c, 0x2e,
|
0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70,
|
||||||
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72,
|
0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62,
|
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67,
|
0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
|
||||||
0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69,
|
0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||||
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43,
|
0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
|
||||||
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
|
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52,
|
||||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
|
||||||
0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73,
|
||||||
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e,
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
|
||||||
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06,
|
0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
||||||
0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||||
|
0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71,
|
||||||
|
0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
|
||||||
|
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
|
||||||
|
0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64,
|
||||||
|
0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x1b, 0x2e,
|
||||||
|
0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49,
|
||||||
|
0x73, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
|
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
|
||||||
|
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -733,7 +798,7 @@ func file_service_origin_proto_rawDescGZIP() []byte {
|
|||||||
return file_service_origin_proto_rawDescData
|
return file_service_origin_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_service_origin_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
var file_service_origin_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
|
||||||
var file_service_origin_proto_goTypes = []interface{}{
|
var file_service_origin_proto_goTypes = []interface{}{
|
||||||
(*CreateOriginRequest)(nil), // 0: pb.CreateOriginRequest
|
(*CreateOriginRequest)(nil), // 0: pb.CreateOriginRequest
|
||||||
(*CreateOriginResponse)(nil), // 1: pb.CreateOriginResponse
|
(*CreateOriginResponse)(nil), // 1: pb.CreateOriginResponse
|
||||||
@@ -742,27 +807,30 @@ var file_service_origin_proto_goTypes = []interface{}{
|
|||||||
(*FindEnabledOriginResponse)(nil), // 4: pb.FindEnabledOriginResponse
|
(*FindEnabledOriginResponse)(nil), // 4: pb.FindEnabledOriginResponse
|
||||||
(*FindEnabledOriginConfigRequest)(nil), // 5: pb.FindEnabledOriginConfigRequest
|
(*FindEnabledOriginConfigRequest)(nil), // 5: pb.FindEnabledOriginConfigRequest
|
||||||
(*FindEnabledOriginConfigResponse)(nil), // 6: pb.FindEnabledOriginConfigResponse
|
(*FindEnabledOriginConfigResponse)(nil), // 6: pb.FindEnabledOriginConfigResponse
|
||||||
(*NetworkAddress)(nil), // 7: pb.NetworkAddress
|
(*UpdateOriginIsOnRequest)(nil), // 7: pb.UpdateOriginIsOnRequest
|
||||||
(*Origin)(nil), // 8: pb.Origin
|
(*NetworkAddress)(nil), // 8: pb.NetworkAddress
|
||||||
(*RPCSuccess)(nil), // 9: pb.RPCSuccess
|
(*Origin)(nil), // 9: pb.Origin
|
||||||
|
(*RPCSuccess)(nil), // 10: pb.RPCSuccess
|
||||||
}
|
}
|
||||||
var file_service_origin_proto_depIdxs = []int32{
|
var file_service_origin_proto_depIdxs = []int32{
|
||||||
7, // 0: pb.CreateOriginRequest.addr:type_name -> pb.NetworkAddress
|
8, // 0: pb.CreateOriginRequest.addr:type_name -> pb.NetworkAddress
|
||||||
7, // 1: pb.UpdateOriginRequest.addr:type_name -> pb.NetworkAddress
|
8, // 1: pb.UpdateOriginRequest.addr:type_name -> pb.NetworkAddress
|
||||||
8, // 2: pb.FindEnabledOriginResponse.Origin:type_name -> pb.Origin
|
9, // 2: pb.FindEnabledOriginResponse.Origin:type_name -> pb.Origin
|
||||||
0, // 3: pb.OriginService.createOrigin:input_type -> pb.CreateOriginRequest
|
0, // 3: pb.OriginService.createOrigin:input_type -> pb.CreateOriginRequest
|
||||||
2, // 4: pb.OriginService.updateOrigin:input_type -> pb.UpdateOriginRequest
|
2, // 4: pb.OriginService.updateOrigin:input_type -> pb.UpdateOriginRequest
|
||||||
3, // 5: pb.OriginService.findEnabledOrigin:input_type -> pb.FindEnabledOriginRequest
|
3, // 5: pb.OriginService.findEnabledOrigin:input_type -> pb.FindEnabledOriginRequest
|
||||||
5, // 6: pb.OriginService.findEnabledOriginConfig:input_type -> pb.FindEnabledOriginConfigRequest
|
5, // 6: pb.OriginService.findEnabledOriginConfig:input_type -> pb.FindEnabledOriginConfigRequest
|
||||||
1, // 7: pb.OriginService.createOrigin:output_type -> pb.CreateOriginResponse
|
7, // 7: pb.OriginService.updateOriginIsOn:input_type -> pb.UpdateOriginIsOnRequest
|
||||||
9, // 8: pb.OriginService.updateOrigin:output_type -> pb.RPCSuccess
|
1, // 8: pb.OriginService.createOrigin:output_type -> pb.CreateOriginResponse
|
||||||
4, // 9: pb.OriginService.findEnabledOrigin:output_type -> pb.FindEnabledOriginResponse
|
10, // 9: pb.OriginService.updateOrigin:output_type -> pb.RPCSuccess
|
||||||
6, // 10: pb.OriginService.findEnabledOriginConfig:output_type -> pb.FindEnabledOriginConfigResponse
|
4, // 10: pb.OriginService.findEnabledOrigin:output_type -> pb.FindEnabledOriginResponse
|
||||||
7, // [7:11] is the sub-list for method output_type
|
6, // 11: pb.OriginService.findEnabledOriginConfig:output_type -> pb.FindEnabledOriginConfigResponse
|
||||||
3, // [3:7] is the sub-list for method input_type
|
10, // 12: pb.OriginService.updateOriginIsOn:output_type -> pb.RPCSuccess
|
||||||
3, // [3:3] is the sub-list for extension type_name
|
8, // [8:13] is the sub-list for method output_type
|
||||||
3, // [3:3] is the sub-list for extension extendee
|
3, // [3:8] is the sub-list for method input_type
|
||||||
0, // [0:3] is the sub-list for field type_name
|
3, // [3:3] is the sub-list for extension type_name
|
||||||
|
3, // [3:3] is the sub-list for extension extendee
|
||||||
|
0, // [0:3] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_service_origin_proto_init() }
|
func init() { file_service_origin_proto_init() }
|
||||||
@@ -858,6 +926,18 @@ func file_service_origin_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
file_service_origin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*UpdateOriginIsOnRequest); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
type x struct{}
|
type x struct{}
|
||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
@@ -865,7 +945,7 @@ func file_service_origin_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_service_origin_proto_rawDesc,
|
RawDescriptor: file_service_origin_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 7,
|
NumMessages: 8,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ const (
|
|||||||
OriginService_UpdateOrigin_FullMethodName = "/pb.OriginService/updateOrigin"
|
OriginService_UpdateOrigin_FullMethodName = "/pb.OriginService/updateOrigin"
|
||||||
OriginService_FindEnabledOrigin_FullMethodName = "/pb.OriginService/findEnabledOrigin"
|
OriginService_FindEnabledOrigin_FullMethodName = "/pb.OriginService/findEnabledOrigin"
|
||||||
OriginService_FindEnabledOriginConfig_FullMethodName = "/pb.OriginService/findEnabledOriginConfig"
|
OriginService_FindEnabledOriginConfig_FullMethodName = "/pb.OriginService/findEnabledOriginConfig"
|
||||||
|
OriginService_UpdateOriginIsOn_FullMethodName = "/pb.OriginService/updateOriginIsOn"
|
||||||
)
|
)
|
||||||
|
|
||||||
// OriginServiceClient is the client API for OriginService service.
|
// OriginServiceClient is the client API for OriginService service.
|
||||||
@@ -37,6 +38,8 @@ type OriginServiceClient interface {
|
|||||||
FindEnabledOrigin(ctx context.Context, in *FindEnabledOriginRequest, opts ...grpc.CallOption) (*FindEnabledOriginResponse, error)
|
FindEnabledOrigin(ctx context.Context, in *FindEnabledOriginRequest, opts ...grpc.CallOption) (*FindEnabledOriginResponse, error)
|
||||||
// 查找源站配置
|
// 查找源站配置
|
||||||
FindEnabledOriginConfig(ctx context.Context, in *FindEnabledOriginConfigRequest, opts ...grpc.CallOption) (*FindEnabledOriginConfigResponse, error)
|
FindEnabledOriginConfig(ctx context.Context, in *FindEnabledOriginConfigRequest, opts ...grpc.CallOption) (*FindEnabledOriginConfigResponse, error)
|
||||||
|
// 设置源站是否启用
|
||||||
|
UpdateOriginIsOn(ctx context.Context, in *UpdateOriginIsOnRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type originServiceClient struct {
|
type originServiceClient struct {
|
||||||
@@ -83,6 +86,15 @@ func (c *originServiceClient) FindEnabledOriginConfig(ctx context.Context, in *F
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *originServiceClient) UpdateOriginIsOn(ctx context.Context, in *UpdateOriginIsOnRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
|
||||||
|
out := new(RPCSuccess)
|
||||||
|
err := c.cc.Invoke(ctx, OriginService_UpdateOriginIsOn_FullMethodName, in, out, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
// OriginServiceServer is the server API for OriginService service.
|
// OriginServiceServer is the server API for OriginService service.
|
||||||
// All implementations should embed UnimplementedOriginServiceServer
|
// All implementations should embed UnimplementedOriginServiceServer
|
||||||
// for forward compatibility
|
// for forward compatibility
|
||||||
@@ -95,6 +107,8 @@ type OriginServiceServer interface {
|
|||||||
FindEnabledOrigin(context.Context, *FindEnabledOriginRequest) (*FindEnabledOriginResponse, error)
|
FindEnabledOrigin(context.Context, *FindEnabledOriginRequest) (*FindEnabledOriginResponse, error)
|
||||||
// 查找源站配置
|
// 查找源站配置
|
||||||
FindEnabledOriginConfig(context.Context, *FindEnabledOriginConfigRequest) (*FindEnabledOriginConfigResponse, error)
|
FindEnabledOriginConfig(context.Context, *FindEnabledOriginConfigRequest) (*FindEnabledOriginConfigResponse, error)
|
||||||
|
// 设置源站是否启用
|
||||||
|
UpdateOriginIsOn(context.Context, *UpdateOriginIsOnRequest) (*RPCSuccess, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnimplementedOriginServiceServer should be embedded to have forward compatible implementations.
|
// UnimplementedOriginServiceServer should be embedded to have forward compatible implementations.
|
||||||
@@ -113,6 +127,9 @@ func (UnimplementedOriginServiceServer) FindEnabledOrigin(context.Context, *Find
|
|||||||
func (UnimplementedOriginServiceServer) FindEnabledOriginConfig(context.Context, *FindEnabledOriginConfigRequest) (*FindEnabledOriginConfigResponse, error) {
|
func (UnimplementedOriginServiceServer) FindEnabledOriginConfig(context.Context, *FindEnabledOriginConfigRequest) (*FindEnabledOriginConfigResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledOriginConfig not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method FindEnabledOriginConfig not implemented")
|
||||||
}
|
}
|
||||||
|
func (UnimplementedOriginServiceServer) UpdateOriginIsOn(context.Context, *UpdateOriginIsOnRequest) (*RPCSuccess, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method UpdateOriginIsOn not implemented")
|
||||||
|
}
|
||||||
|
|
||||||
// UnsafeOriginServiceServer may be embedded to opt out of forward compatibility for this service.
|
// UnsafeOriginServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||||
// Use of this interface is not recommended, as added methods to OriginServiceServer will
|
// Use of this interface is not recommended, as added methods to OriginServiceServer will
|
||||||
@@ -197,6 +214,24 @@ func _OriginService_FindEnabledOriginConfig_Handler(srv interface{}, ctx context
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _OriginService_UpdateOriginIsOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(UpdateOriginIsOnRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(OriginServiceServer).UpdateOriginIsOn(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: OriginService_UpdateOriginIsOn_FullMethodName,
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(OriginServiceServer).UpdateOriginIsOn(ctx, req.(*UpdateOriginIsOnRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
// OriginService_ServiceDesc is the grpc.ServiceDesc for OriginService service.
|
// OriginService_ServiceDesc is the grpc.ServiceDesc for OriginService service.
|
||||||
// It's only intended for direct use with grpc.RegisterService,
|
// It's only intended for direct use with grpc.RegisterService,
|
||||||
// and not to be introspected or modified (even as a copy)
|
// and not to be introspected or modified (even as a copy)
|
||||||
@@ -220,6 +255,10 @@ var OriginService_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "findEnabledOriginConfig",
|
MethodName: "findEnabledOriginConfig",
|
||||||
Handler: _OriginService_FindEnabledOriginConfig_Handler,
|
Handler: _OriginService_FindEnabledOriginConfig_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "updateOriginIsOn",
|
||||||
|
Handler: _OriginService_UpdateOriginIsOn_Handler,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Streams: []grpc.StreamDesc{},
|
Streams: []grpc.StreamDesc{},
|
||||||
Metadata: "service_origin.proto",
|
Metadata: "service_origin.proto",
|
||||||
|
|||||||
@@ -20,13 +20,13 @@ const (
|
|||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
)
|
)
|
||||||
|
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
type FindAllEnabledRegionProvincesWithCountryIdRequest struct {
|
type FindAllEnabledRegionProvincesWithCountryIdRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
RegionCountryId int64 `protobuf:"varint,1,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"`
|
RegionCountryId int64 `protobuf:"varint,1,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"` // 国家|地区ID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindAllEnabledRegionProvincesWithCountryIdRequest) Reset() {
|
func (x *FindAllEnabledRegionProvincesWithCountryIdRequest) Reset() {
|
||||||
@@ -73,7 +73,7 @@ type FindAllEnabledRegionProvincesWithCountryIdResponse struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"`
|
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"` // 省份列表
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindAllEnabledRegionProvincesWithCountryIdResponse) Reset() {
|
func (x *FindAllEnabledRegionProvincesWithCountryIdResponse) Reset() {
|
||||||
@@ -121,7 +121,7 @@ type FindEnabledRegionProvinceRequest struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"`
|
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"` // 省份ID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindEnabledRegionProvinceRequest) Reset() {
|
func (x *FindEnabledRegionProvinceRequest) Reset() {
|
||||||
@@ -168,7 +168,7 @@ type FindEnabledRegionProvinceResponse struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
RegionProvince *RegionProvince `protobuf:"bytes,1,opt,name=regionProvince,proto3" json:"regionProvince,omitempty"`
|
RegionProvince *RegionProvince `protobuf:"bytes,1,opt,name=regionProvince,proto3" json:"regionProvince,omitempty"` // 省份信息
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindEnabledRegionProvinceResponse) Reset() {
|
func (x *FindEnabledRegionProvinceResponse) Reset() {
|
||||||
@@ -210,13 +210,13 @@ func (x *FindEnabledRegionProvinceResponse) GetRegionProvince() *RegionProvince
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
type FindAllRegionProvincesWithRegionCountryIdRequest struct {
|
type FindAllRegionProvincesWithRegionCountryIdRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
RegionCountryId int64 `protobuf:"varint,1,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"`
|
RegionCountryId int64 `protobuf:"varint,1,opt,name=regionCountryId,proto3" json:"regionCountryId,omitempty"` // 国家|地区ID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindAllRegionProvincesWithRegionCountryIdRequest) Reset() {
|
func (x *FindAllRegionProvincesWithRegionCountryIdRequest) Reset() {
|
||||||
@@ -263,7 +263,7 @@ type FindAllRegionProvincesWithRegionCountryIdResponse struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"`
|
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"` // 省份列表
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindAllRegionProvincesWithRegionCountryIdResponse) Reset() {
|
func (x *FindAllRegionProvincesWithRegionCountryIdResponse) Reset() {
|
||||||
@@ -305,19 +305,105 @@ func (x *FindAllRegionProvincesWithRegionCountryIdResponse) GetRegionProvinces()
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查找所有国家|地区的所有省份
|
||||||
|
type FindAllRegionProvincesRequest struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *FindAllRegionProvincesRequest) Reset() {
|
||||||
|
*x = FindAllRegionProvincesRequest{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_service_region_province_proto_msgTypes[6]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *FindAllRegionProvincesRequest) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*FindAllRegionProvincesRequest) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *FindAllRegionProvincesRequest) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_service_region_province_proto_msgTypes[6]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use FindAllRegionProvincesRequest.ProtoReflect.Descriptor instead.
|
||||||
|
func (*FindAllRegionProvincesRequest) Descriptor() ([]byte, []int) {
|
||||||
|
return file_service_region_province_proto_rawDescGZIP(), []int{6}
|
||||||
|
}
|
||||||
|
|
||||||
|
type FindAllRegionProvincesResponse struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
RegionProvinces []*RegionProvince `protobuf:"bytes,1,rep,name=regionProvinces,proto3" json:"regionProvinces,omitempty"` // 省份列表
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *FindAllRegionProvincesResponse) Reset() {
|
||||||
|
*x = FindAllRegionProvincesResponse{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_service_region_province_proto_msgTypes[7]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *FindAllRegionProvincesResponse) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*FindAllRegionProvincesResponse) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *FindAllRegionProvincesResponse) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_service_region_province_proto_msgTypes[7]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use FindAllRegionProvincesResponse.ProtoReflect.Descriptor instead.
|
||||||
|
func (*FindAllRegionProvincesResponse) Descriptor() ([]byte, []int) {
|
||||||
|
return file_service_region_province_proto_rawDescGZIP(), []int{7}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *FindAllRegionProvincesResponse) GetRegionProvinces() []*RegionProvince {
|
||||||
|
if x != nil {
|
||||||
|
return x.RegionProvinces
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// 查找单个省份信息
|
// 查找单个省份信息
|
||||||
type FindRegionProvinceRequest struct {
|
type FindRegionProvinceRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"`
|
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"` // 省份ID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindRegionProvinceRequest) Reset() {
|
func (x *FindRegionProvinceRequest) Reset() {
|
||||||
*x = FindRegionProvinceRequest{}
|
*x = FindRegionProvinceRequest{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_service_region_province_proto_msgTypes[6]
|
mi := &file_service_region_province_proto_msgTypes[8]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -330,7 +416,7 @@ func (x *FindRegionProvinceRequest) String() string {
|
|||||||
func (*FindRegionProvinceRequest) ProtoMessage() {}
|
func (*FindRegionProvinceRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *FindRegionProvinceRequest) ProtoReflect() protoreflect.Message {
|
func (x *FindRegionProvinceRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_service_region_province_proto_msgTypes[6]
|
mi := &file_service_region_province_proto_msgTypes[8]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -343,7 +429,7 @@ func (x *FindRegionProvinceRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use FindRegionProvinceRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use FindRegionProvinceRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*FindRegionProvinceRequest) Descriptor() ([]byte, []int) {
|
func (*FindRegionProvinceRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_service_region_province_proto_rawDescGZIP(), []int{6}
|
return file_service_region_province_proto_rawDescGZIP(), []int{8}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindRegionProvinceRequest) GetRegionProvinceId() int64 {
|
func (x *FindRegionProvinceRequest) GetRegionProvinceId() int64 {
|
||||||
@@ -358,13 +444,13 @@ type FindRegionProvinceResponse struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
RegionProvince *RegionProvince `protobuf:"bytes,1,opt,name=regionProvince,proto3" json:"regionProvince,omitempty"`
|
RegionProvince *RegionProvince `protobuf:"bytes,1,opt,name=regionProvince,proto3" json:"regionProvince,omitempty"` // 省份信息
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindRegionProvinceResponse) Reset() {
|
func (x *FindRegionProvinceResponse) Reset() {
|
||||||
*x = FindRegionProvinceResponse{}
|
*x = FindRegionProvinceResponse{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_service_region_province_proto_msgTypes[7]
|
mi := &file_service_region_province_proto_msgTypes[9]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -377,7 +463,7 @@ func (x *FindRegionProvinceResponse) String() string {
|
|||||||
func (*FindRegionProvinceResponse) ProtoMessage() {}
|
func (*FindRegionProvinceResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *FindRegionProvinceResponse) ProtoReflect() protoreflect.Message {
|
func (x *FindRegionProvinceResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_service_region_province_proto_msgTypes[7]
|
mi := &file_service_region_province_proto_msgTypes[9]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -390,7 +476,7 @@ func (x *FindRegionProvinceResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use FindRegionProvinceResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use FindRegionProvinceResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*FindRegionProvinceResponse) Descriptor() ([]byte, []int) {
|
func (*FindRegionProvinceResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_service_region_province_proto_rawDescGZIP(), []int{7}
|
return file_service_region_province_proto_rawDescGZIP(), []int{9}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FindRegionProvinceResponse) GetRegionProvince() *RegionProvince {
|
func (x *FindRegionProvinceResponse) GetRegionProvince() *RegionProvince {
|
||||||
@@ -406,15 +492,15 @@ type UpdateRegionProvinceCustomRequest struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"`
|
RegionProvinceId int64 `protobuf:"varint,1,opt,name=regionProvinceId,proto3" json:"regionProvinceId,omitempty"` // 省份ID
|
||||||
CustomName string `protobuf:"bytes,2,opt,name=customName,proto3" json:"customName,omitempty"`
|
CustomName string `protobuf:"bytes,2,opt,name=customName,proto3" json:"customName,omitempty"` // 自定义名称
|
||||||
CustomCodes []string `protobuf:"bytes,3,rep,name=customCodes,proto3" json:"customCodes,omitempty"`
|
CustomCodes []string `protobuf:"bytes,3,rep,name=customCodes,proto3" json:"customCodes,omitempty"` // 自定义代号
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *UpdateRegionProvinceCustomRequest) Reset() {
|
func (x *UpdateRegionProvinceCustomRequest) Reset() {
|
||||||
*x = UpdateRegionProvinceCustomRequest{}
|
*x = UpdateRegionProvinceCustomRequest{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_service_region_province_proto_msgTypes[8]
|
mi := &file_service_region_province_proto_msgTypes[10]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@@ -427,7 +513,7 @@ func (x *UpdateRegionProvinceCustomRequest) String() string {
|
|||||||
func (*UpdateRegionProvinceCustomRequest) ProtoMessage() {}
|
func (*UpdateRegionProvinceCustomRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *UpdateRegionProvinceCustomRequest) ProtoReflect() protoreflect.Message {
|
func (x *UpdateRegionProvinceCustomRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_service_region_province_proto_msgTypes[8]
|
mi := &file_service_region_province_proto_msgTypes[10]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@@ -440,7 +526,7 @@ func (x *UpdateRegionProvinceCustomRequest) ProtoReflect() protoreflect.Message
|
|||||||
|
|
||||||
// Deprecated: Use UpdateRegionProvinceCustomRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use UpdateRegionProvinceCustomRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*UpdateRegionProvinceCustomRequest) Descriptor() ([]byte, []int) {
|
func (*UpdateRegionProvinceCustomRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_service_region_province_proto_rawDescGZIP(), []int{8}
|
return file_service_region_province_proto_rawDescGZIP(), []int{10}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *UpdateRegionProvinceCustomRequest) GetRegionProvinceId() int64 {
|
func (x *UpdateRegionProvinceCustomRequest) GetRegionProvinceId() int64 {
|
||||||
@@ -510,66 +596,81 @@ var file_service_region_province_proto_rawDesc = []byte{
|
|||||||
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
|
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
|
||||||
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
|
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
|
||||||
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
|
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
|
||||||
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x52,
|
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x41,
|
||||||
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71,
|
0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
|
||||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
|
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64,
|
||||||
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10,
|
0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
|
||||||
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64,
|
0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0f, 0x72, 0x65,
|
||||||
0x22, 0x58, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72,
|
0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20,
|
||||||
0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a,
|
0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
|
||||||
0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
|
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69,
|
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64,
|
||||||
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69,
|
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65,
|
||||||
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x21, 0x55,
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
|
||||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69,
|
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||||
0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49,
|
||||||
0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
|
0x64, 0x22, 0x58, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
|
||||||
0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x67, 0x69,
|
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||||
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
|
0x3a, 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
|
||||||
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67,
|
||||||
0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
|
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x67,
|
||||||
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
|
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x21,
|
||||||
0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x32, 0xee,
|
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
|
||||||
0x04, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
|
0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa0, 0x01, 0x0a, 0x2a, 0x66, 0x69, 0x6e,
|
0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69,
|
||||||
0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f,
|
0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x67,
|
||||||
0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f,
|
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a,
|
||||||
0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
|
0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f,
|
0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a,
|
||||||
0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f,
|
0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
|
||||||
0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36,
|
0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x32,
|
||||||
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
0xcf, 0x05, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
|
||||||
0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
|
0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa0, 0x01, 0x0a, 0x2a, 0x66, 0x69,
|
||||||
0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65,
|
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69,
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6d, 0x0a, 0x19, 0x66,
|
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43,
|
||||||
|
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
|
||||||
|
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69,
|
||||||
|
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43,
|
||||||
|
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||||
|
0x36, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
|
||||||
|
0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
|
||||||
|
0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52,
|
||||||
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6d, 0x0a, 0x19,
|
||||||
|
0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f,
|
||||||
|
0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
||||||
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||||
0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
|
0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||||
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50,
|
0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||||
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25,
|
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65,
|
||||||
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52,
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x29,
|
||||||
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73,
|
0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x29, 0x66,
|
0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||||
|
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
||||||
0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
|
0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
|
||||||
0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43,
|
0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43,
|
||||||
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
|
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||||
0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69,
|
0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69,
|
||||||
0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
|
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52,
|
||||||
0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35,
|
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65,
|
||||||
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f,
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c,
|
||||||
0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65,
|
0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73,
|
||||||
0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73,
|
0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x67,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67,
|
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x62,
|
0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
|
||||||
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69,
|
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x52,
|
||||||
0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x52,
|
||||||
0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
|
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x2e,
|
||||||
0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x1a, 0x75, 0x70,
|
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f,
|
||||||
0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
|
0x76, 0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70,
|
||||||
0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
|
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
|
||||||
0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e,
|
0x69, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x1a,
|
||||||
0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
|
||||||
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42,
|
0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76,
|
||||||
|
0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
|
0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
|
||||||
|
0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -584,7 +685,7 @@ func file_service_region_province_proto_rawDescGZIP() []byte {
|
|||||||
return file_service_region_province_proto_rawDescData
|
return file_service_region_province_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_service_region_province_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
var file_service_region_province_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
|
||||||
var file_service_region_province_proto_goTypes = []interface{}{
|
var file_service_region_province_proto_goTypes = []interface{}{
|
||||||
(*FindAllEnabledRegionProvincesWithCountryIdRequest)(nil), // 0: pb.FindAllEnabledRegionProvincesWithCountryIdRequest
|
(*FindAllEnabledRegionProvincesWithCountryIdRequest)(nil), // 0: pb.FindAllEnabledRegionProvincesWithCountryIdRequest
|
||||||
(*FindAllEnabledRegionProvincesWithCountryIdResponse)(nil), // 1: pb.FindAllEnabledRegionProvincesWithCountryIdResponse
|
(*FindAllEnabledRegionProvincesWithCountryIdResponse)(nil), // 1: pb.FindAllEnabledRegionProvincesWithCountryIdResponse
|
||||||
@@ -592,32 +693,37 @@ var file_service_region_province_proto_goTypes = []interface{}{
|
|||||||
(*FindEnabledRegionProvinceResponse)(nil), // 3: pb.FindEnabledRegionProvinceResponse
|
(*FindEnabledRegionProvinceResponse)(nil), // 3: pb.FindEnabledRegionProvinceResponse
|
||||||
(*FindAllRegionProvincesWithRegionCountryIdRequest)(nil), // 4: pb.FindAllRegionProvincesWithRegionCountryIdRequest
|
(*FindAllRegionProvincesWithRegionCountryIdRequest)(nil), // 4: pb.FindAllRegionProvincesWithRegionCountryIdRequest
|
||||||
(*FindAllRegionProvincesWithRegionCountryIdResponse)(nil), // 5: pb.FindAllRegionProvincesWithRegionCountryIdResponse
|
(*FindAllRegionProvincesWithRegionCountryIdResponse)(nil), // 5: pb.FindAllRegionProvincesWithRegionCountryIdResponse
|
||||||
(*FindRegionProvinceRequest)(nil), // 6: pb.FindRegionProvinceRequest
|
(*FindAllRegionProvincesRequest)(nil), // 6: pb.FindAllRegionProvincesRequest
|
||||||
(*FindRegionProvinceResponse)(nil), // 7: pb.FindRegionProvinceResponse
|
(*FindAllRegionProvincesResponse)(nil), // 7: pb.FindAllRegionProvincesResponse
|
||||||
(*UpdateRegionProvinceCustomRequest)(nil), // 8: pb.UpdateRegionProvinceCustomRequest
|
(*FindRegionProvinceRequest)(nil), // 8: pb.FindRegionProvinceRequest
|
||||||
(*RegionProvince)(nil), // 9: pb.RegionProvince
|
(*FindRegionProvinceResponse)(nil), // 9: pb.FindRegionProvinceResponse
|
||||||
(*RPCSuccess)(nil), // 10: pb.RPCSuccess
|
(*UpdateRegionProvinceCustomRequest)(nil), // 10: pb.UpdateRegionProvinceCustomRequest
|
||||||
|
(*RegionProvince)(nil), // 11: pb.RegionProvince
|
||||||
|
(*RPCSuccess)(nil), // 12: pb.RPCSuccess
|
||||||
}
|
}
|
||||||
var file_service_region_province_proto_depIdxs = []int32{
|
var file_service_region_province_proto_depIdxs = []int32{
|
||||||
9, // 0: pb.FindAllEnabledRegionProvincesWithCountryIdResponse.regionProvinces:type_name -> pb.RegionProvince
|
11, // 0: pb.FindAllEnabledRegionProvincesWithCountryIdResponse.regionProvinces:type_name -> pb.RegionProvince
|
||||||
9, // 1: pb.FindEnabledRegionProvinceResponse.regionProvince:type_name -> pb.RegionProvince
|
11, // 1: pb.FindEnabledRegionProvinceResponse.regionProvince:type_name -> pb.RegionProvince
|
||||||
9, // 2: pb.FindAllRegionProvincesWithRegionCountryIdResponse.regionProvinces:type_name -> pb.RegionProvince
|
11, // 2: pb.FindAllRegionProvincesWithRegionCountryIdResponse.regionProvinces:type_name -> pb.RegionProvince
|
||||||
9, // 3: pb.FindRegionProvinceResponse.regionProvince:type_name -> pb.RegionProvince
|
11, // 3: pb.FindAllRegionProvincesResponse.regionProvinces:type_name -> pb.RegionProvince
|
||||||
0, // 4: pb.RegionProvinceService.findAllEnabledRegionProvincesWithCountryId:input_type -> pb.FindAllEnabledRegionProvincesWithCountryIdRequest
|
11, // 4: pb.FindRegionProvinceResponse.regionProvince:type_name -> pb.RegionProvince
|
||||||
2, // 5: pb.RegionProvinceService.findEnabledRegionProvince:input_type -> pb.FindEnabledRegionProvinceRequest
|
0, // 5: pb.RegionProvinceService.findAllEnabledRegionProvincesWithCountryId:input_type -> pb.FindAllEnabledRegionProvincesWithCountryIdRequest
|
||||||
4, // 6: pb.RegionProvinceService.findAllRegionProvincesWithRegionCountryId:input_type -> pb.FindAllRegionProvincesWithRegionCountryIdRequest
|
2, // 6: pb.RegionProvinceService.findEnabledRegionProvince:input_type -> pb.FindEnabledRegionProvinceRequest
|
||||||
6, // 7: pb.RegionProvinceService.findRegionProvince:input_type -> pb.FindRegionProvinceRequest
|
4, // 7: pb.RegionProvinceService.findAllRegionProvincesWithRegionCountryId:input_type -> pb.FindAllRegionProvincesWithRegionCountryIdRequest
|
||||||
8, // 8: pb.RegionProvinceService.updateRegionProvinceCustom:input_type -> pb.UpdateRegionProvinceCustomRequest
|
6, // 8: pb.RegionProvinceService.findAllRegionProvinces:input_type -> pb.FindAllRegionProvincesRequest
|
||||||
1, // 9: pb.RegionProvinceService.findAllEnabledRegionProvincesWithCountryId:output_type -> pb.FindAllEnabledRegionProvincesWithCountryIdResponse
|
8, // 9: pb.RegionProvinceService.findRegionProvince:input_type -> pb.FindRegionProvinceRequest
|
||||||
3, // 10: pb.RegionProvinceService.findEnabledRegionProvince:output_type -> pb.FindEnabledRegionProvinceResponse
|
10, // 10: pb.RegionProvinceService.updateRegionProvinceCustom:input_type -> pb.UpdateRegionProvinceCustomRequest
|
||||||
5, // 11: pb.RegionProvinceService.findAllRegionProvincesWithRegionCountryId:output_type -> pb.FindAllRegionProvincesWithRegionCountryIdResponse
|
1, // 11: pb.RegionProvinceService.findAllEnabledRegionProvincesWithCountryId:output_type -> pb.FindAllEnabledRegionProvincesWithCountryIdResponse
|
||||||
7, // 12: pb.RegionProvinceService.findRegionProvince:output_type -> pb.FindRegionProvinceResponse
|
3, // 12: pb.RegionProvinceService.findEnabledRegionProvince:output_type -> pb.FindEnabledRegionProvinceResponse
|
||||||
10, // 13: pb.RegionProvinceService.updateRegionProvinceCustom:output_type -> pb.RPCSuccess
|
5, // 13: pb.RegionProvinceService.findAllRegionProvincesWithRegionCountryId:output_type -> pb.FindAllRegionProvincesWithRegionCountryIdResponse
|
||||||
9, // [9:14] is the sub-list for method output_type
|
7, // 14: pb.RegionProvinceService.findAllRegionProvinces:output_type -> pb.FindAllRegionProvincesResponse
|
||||||
4, // [4:9] is the sub-list for method input_type
|
9, // 15: pb.RegionProvinceService.findRegionProvince:output_type -> pb.FindRegionProvinceResponse
|
||||||
4, // [4:4] is the sub-list for extension type_name
|
12, // 16: pb.RegionProvinceService.updateRegionProvinceCustom:output_type -> pb.RPCSuccess
|
||||||
4, // [4:4] is the sub-list for extension extendee
|
11, // [11:17] is the sub-list for method output_type
|
||||||
0, // [0:4] is the sub-list for field type_name
|
5, // [5:11] is the sub-list for method input_type
|
||||||
|
5, // [5:5] is the sub-list for extension type_name
|
||||||
|
5, // [5:5] is the sub-list for extension extendee
|
||||||
|
0, // [0:5] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_service_region_province_proto_init() }
|
func init() { file_service_region_province_proto_init() }
|
||||||
@@ -701,7 +807,7 @@ func file_service_region_province_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_service_region_province_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
file_service_region_province_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*FindRegionProvinceRequest); i {
|
switch v := v.(*FindAllRegionProvincesRequest); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -713,7 +819,7 @@ func file_service_region_province_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_service_region_province_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
file_service_region_province_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*FindRegionProvinceResponse); i {
|
switch v := v.(*FindAllRegionProvincesResponse); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@@ -725,6 +831,30 @@ func file_service_region_province_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_service_region_province_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
file_service_region_province_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*FindRegionProvinceRequest); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_service_region_province_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*FindRegionProvinceResponse); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_service_region_province_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*UpdateRegionProvinceCustomRequest); i {
|
switch v := v.(*UpdateRegionProvinceCustomRequest); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@@ -743,7 +873,7 @@ func file_service_region_province_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_service_region_province_proto_rawDesc,
|
RawDescriptor: file_service_region_province_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 9,
|
NumMessages: 11,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ const (
|
|||||||
RegionProvinceService_FindAllEnabledRegionProvincesWithCountryId_FullMethodName = "/pb.RegionProvinceService/findAllEnabledRegionProvincesWithCountryId"
|
RegionProvinceService_FindAllEnabledRegionProvincesWithCountryId_FullMethodName = "/pb.RegionProvinceService/findAllEnabledRegionProvincesWithCountryId"
|
||||||
RegionProvinceService_FindEnabledRegionProvince_FullMethodName = "/pb.RegionProvinceService/findEnabledRegionProvince"
|
RegionProvinceService_FindEnabledRegionProvince_FullMethodName = "/pb.RegionProvinceService/findEnabledRegionProvince"
|
||||||
RegionProvinceService_FindAllRegionProvincesWithRegionCountryId_FullMethodName = "/pb.RegionProvinceService/findAllRegionProvincesWithRegionCountryId"
|
RegionProvinceService_FindAllRegionProvincesWithRegionCountryId_FullMethodName = "/pb.RegionProvinceService/findAllRegionProvincesWithRegionCountryId"
|
||||||
|
RegionProvinceService_FindAllRegionProvinces_FullMethodName = "/pb.RegionProvinceService/findAllRegionProvinces"
|
||||||
RegionProvinceService_FindRegionProvince_FullMethodName = "/pb.RegionProvinceService/findRegionProvince"
|
RegionProvinceService_FindRegionProvince_FullMethodName = "/pb.RegionProvinceService/findRegionProvince"
|
||||||
RegionProvinceService_UpdateRegionProvinceCustom_FullMethodName = "/pb.RegionProvinceService/updateRegionProvinceCustom"
|
RegionProvinceService_UpdateRegionProvinceCustom_FullMethodName = "/pb.RegionProvinceService/updateRegionProvinceCustom"
|
||||||
)
|
)
|
||||||
@@ -31,13 +32,15 @@ const (
|
|||||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||||
type RegionProvinceServiceClient interface {
|
type RegionProvinceServiceClient interface {
|
||||||
// Deprecated: Do not use.
|
// Deprecated: Do not use.
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
FindAllEnabledRegionProvincesWithCountryId(ctx context.Context, in *FindAllEnabledRegionProvincesWithCountryIdRequest, opts ...grpc.CallOption) (*FindAllEnabledRegionProvincesWithCountryIdResponse, error)
|
FindAllEnabledRegionProvincesWithCountryId(ctx context.Context, in *FindAllEnabledRegionProvincesWithCountryIdRequest, opts ...grpc.CallOption) (*FindAllEnabledRegionProvincesWithCountryIdResponse, error)
|
||||||
// Deprecated: Do not use.
|
// Deprecated: Do not use.
|
||||||
// 查找单个省份信息
|
// 查找单个省份信息
|
||||||
FindEnabledRegionProvince(ctx context.Context, in *FindEnabledRegionProvinceRequest, opts ...grpc.CallOption) (*FindEnabledRegionProvinceResponse, error)
|
FindEnabledRegionProvince(ctx context.Context, in *FindEnabledRegionProvinceRequest, opts ...grpc.CallOption) (*FindEnabledRegionProvinceResponse, error)
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
FindAllRegionProvincesWithRegionCountryId(ctx context.Context, in *FindAllRegionProvincesWithRegionCountryIdRequest, opts ...grpc.CallOption) (*FindAllRegionProvincesWithRegionCountryIdResponse, error)
|
FindAllRegionProvincesWithRegionCountryId(ctx context.Context, in *FindAllRegionProvincesWithRegionCountryIdRequest, opts ...grpc.CallOption) (*FindAllRegionProvincesWithRegionCountryIdResponse, error)
|
||||||
|
// 查找所有国家|地区的所有省份
|
||||||
|
FindAllRegionProvinces(ctx context.Context, in *FindAllRegionProvincesRequest, opts ...grpc.CallOption) (*FindAllRegionProvincesResponse, error)
|
||||||
// 查找单个省份信息
|
// 查找单个省份信息
|
||||||
FindRegionProvince(ctx context.Context, in *FindRegionProvinceRequest, opts ...grpc.CallOption) (*FindRegionProvinceResponse, error)
|
FindRegionProvince(ctx context.Context, in *FindRegionProvinceRequest, opts ...grpc.CallOption) (*FindRegionProvinceResponse, error)
|
||||||
// 修改国家/地区定制信息
|
// 修改国家/地区定制信息
|
||||||
@@ -81,6 +84,15 @@ func (c *regionProvinceServiceClient) FindAllRegionProvincesWithRegionCountryId(
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *regionProvinceServiceClient) FindAllRegionProvinces(ctx context.Context, in *FindAllRegionProvincesRequest, opts ...grpc.CallOption) (*FindAllRegionProvincesResponse, error) {
|
||||||
|
out := new(FindAllRegionProvincesResponse)
|
||||||
|
err := c.cc.Invoke(ctx, RegionProvinceService_FindAllRegionProvinces_FullMethodName, in, out, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (c *regionProvinceServiceClient) FindRegionProvince(ctx context.Context, in *FindRegionProvinceRequest, opts ...grpc.CallOption) (*FindRegionProvinceResponse, error) {
|
func (c *regionProvinceServiceClient) FindRegionProvince(ctx context.Context, in *FindRegionProvinceRequest, opts ...grpc.CallOption) (*FindRegionProvinceResponse, error) {
|
||||||
out := new(FindRegionProvinceResponse)
|
out := new(FindRegionProvinceResponse)
|
||||||
err := c.cc.Invoke(ctx, RegionProvinceService_FindRegionProvince_FullMethodName, in, out, opts...)
|
err := c.cc.Invoke(ctx, RegionProvinceService_FindRegionProvince_FullMethodName, in, out, opts...)
|
||||||
@@ -104,13 +116,15 @@ func (c *regionProvinceServiceClient) UpdateRegionProvinceCustom(ctx context.Con
|
|||||||
// for forward compatibility
|
// for forward compatibility
|
||||||
type RegionProvinceServiceServer interface {
|
type RegionProvinceServiceServer interface {
|
||||||
// Deprecated: Do not use.
|
// Deprecated: Do not use.
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
FindAllEnabledRegionProvincesWithCountryId(context.Context, *FindAllEnabledRegionProvincesWithCountryIdRequest) (*FindAllEnabledRegionProvincesWithCountryIdResponse, error)
|
FindAllEnabledRegionProvincesWithCountryId(context.Context, *FindAllEnabledRegionProvincesWithCountryIdRequest) (*FindAllEnabledRegionProvincesWithCountryIdResponse, error)
|
||||||
// Deprecated: Do not use.
|
// Deprecated: Do not use.
|
||||||
// 查找单个省份信息
|
// 查找单个省份信息
|
||||||
FindEnabledRegionProvince(context.Context, *FindEnabledRegionProvinceRequest) (*FindEnabledRegionProvinceResponse, error)
|
FindEnabledRegionProvince(context.Context, *FindEnabledRegionProvinceRequest) (*FindEnabledRegionProvinceResponse, error)
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
FindAllRegionProvincesWithRegionCountryId(context.Context, *FindAllRegionProvincesWithRegionCountryIdRequest) (*FindAllRegionProvincesWithRegionCountryIdResponse, error)
|
FindAllRegionProvincesWithRegionCountryId(context.Context, *FindAllRegionProvincesWithRegionCountryIdRequest) (*FindAllRegionProvincesWithRegionCountryIdResponse, error)
|
||||||
|
// 查找所有国家|地区的所有省份
|
||||||
|
FindAllRegionProvinces(context.Context, *FindAllRegionProvincesRequest) (*FindAllRegionProvincesResponse, error)
|
||||||
// 查找单个省份信息
|
// 查找单个省份信息
|
||||||
FindRegionProvince(context.Context, *FindRegionProvinceRequest) (*FindRegionProvinceResponse, error)
|
FindRegionProvince(context.Context, *FindRegionProvinceRequest) (*FindRegionProvinceResponse, error)
|
||||||
// 修改国家/地区定制信息
|
// 修改国家/地区定制信息
|
||||||
@@ -130,6 +144,9 @@ func (UnimplementedRegionProvinceServiceServer) FindEnabledRegionProvince(contex
|
|||||||
func (UnimplementedRegionProvinceServiceServer) FindAllRegionProvincesWithRegionCountryId(context.Context, *FindAllRegionProvincesWithRegionCountryIdRequest) (*FindAllRegionProvincesWithRegionCountryIdResponse, error) {
|
func (UnimplementedRegionProvinceServiceServer) FindAllRegionProvincesWithRegionCountryId(context.Context, *FindAllRegionProvincesWithRegionCountryIdRequest) (*FindAllRegionProvincesWithRegionCountryIdResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method FindAllRegionProvincesWithRegionCountryId not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method FindAllRegionProvincesWithRegionCountryId not implemented")
|
||||||
}
|
}
|
||||||
|
func (UnimplementedRegionProvinceServiceServer) FindAllRegionProvinces(context.Context, *FindAllRegionProvincesRequest) (*FindAllRegionProvincesResponse, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method FindAllRegionProvinces not implemented")
|
||||||
|
}
|
||||||
func (UnimplementedRegionProvinceServiceServer) FindRegionProvince(context.Context, *FindRegionProvinceRequest) (*FindRegionProvinceResponse, error) {
|
func (UnimplementedRegionProvinceServiceServer) FindRegionProvince(context.Context, *FindRegionProvinceRequest) (*FindRegionProvinceResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method FindRegionProvince not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method FindRegionProvince not implemented")
|
||||||
}
|
}
|
||||||
@@ -202,6 +219,24 @@ func _RegionProvinceService_FindAllRegionProvincesWithRegionCountryId_Handler(sr
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _RegionProvinceService_FindAllRegionProvinces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(FindAllRegionProvincesRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(RegionProvinceServiceServer).FindAllRegionProvinces(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: RegionProvinceService_FindAllRegionProvinces_FullMethodName,
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(RegionProvinceServiceServer).FindAllRegionProvinces(ctx, req.(*FindAllRegionProvincesRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
func _RegionProvinceService_FindRegionProvince_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
func _RegionProvinceService_FindRegionProvince_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
in := new(FindRegionProvinceRequest)
|
in := new(FindRegionProvinceRequest)
|
||||||
if err := dec(in); err != nil {
|
if err := dec(in); err != nil {
|
||||||
@@ -257,6 +292,10 @@ var RegionProvinceService_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "findAllRegionProvincesWithRegionCountryId",
|
MethodName: "findAllRegionProvincesWithRegionCountryId",
|
||||||
Handler: _RegionProvinceService_FindAllRegionProvincesWithRegionCountryId_Handler,
|
Handler: _RegionProvinceService_FindAllRegionProvincesWithRegionCountryId_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "findAllRegionProvinces",
|
||||||
|
Handler: _RegionProvinceService_FindAllRegionProvinces_Handler,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
MethodName: "findRegionProvince",
|
MethodName: "findRegionProvince",
|
||||||
Handler: _RegionProvinceService_FindRegionProvince_Handler,
|
Handler: _RegionProvinceService_FindRegionProvince_Handler,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -31,7 +31,6 @@ const (
|
|||||||
ServerService_UpdateServerHTTPS_FullMethodName = "/pb.ServerService/updateServerHTTPS"
|
ServerService_UpdateServerHTTPS_FullMethodName = "/pb.ServerService/updateServerHTTPS"
|
||||||
ServerService_UpdateServerTCP_FullMethodName = "/pb.ServerService/updateServerTCP"
|
ServerService_UpdateServerTCP_FullMethodName = "/pb.ServerService/updateServerTCP"
|
||||||
ServerService_UpdateServerTLS_FullMethodName = "/pb.ServerService/updateServerTLS"
|
ServerService_UpdateServerTLS_FullMethodName = "/pb.ServerService/updateServerTLS"
|
||||||
ServerService_UpdateServerUnix_FullMethodName = "/pb.ServerService/updateServerUnix"
|
|
||||||
ServerService_UpdateServerUDP_FullMethodName = "/pb.ServerService/updateServerUDP"
|
ServerService_UpdateServerUDP_FullMethodName = "/pb.ServerService/updateServerUDP"
|
||||||
ServerService_UpdateServerWeb_FullMethodName = "/pb.ServerService/updateServerWeb"
|
ServerService_UpdateServerWeb_FullMethodName = "/pb.ServerService/updateServerWeb"
|
||||||
ServerService_UpdateServerReverseProxy_FullMethodName = "/pb.ServerService/updateServerReverseProxy"
|
ServerService_UpdateServerReverseProxy_FullMethodName = "/pb.ServerService/updateServerReverseProxy"
|
||||||
@@ -114,8 +113,6 @@ type ServerServiceClient interface {
|
|||||||
UpdateServerTCP(ctx context.Context, in *UpdateServerTCPRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
UpdateServerTCP(ctx context.Context, in *UpdateServerTCPRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||||
// 修改网站的TLS设置
|
// 修改网站的TLS设置
|
||||||
UpdateServerTLS(ctx context.Context, in *UpdateServerTLSRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
UpdateServerTLS(ctx context.Context, in *UpdateServerTLSRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||||
// 修改网站的Unix设置
|
|
||||||
UpdateServerUnix(ctx context.Context, in *UpdateServerUnixRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
|
||||||
// 修改网站的UDP设置
|
// 修改网站的UDP设置
|
||||||
UpdateServerUDP(ctx context.Context, in *UpdateServerUDPRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
UpdateServerUDP(ctx context.Context, in *UpdateServerUDPRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||||
// 修改网站的Web设置
|
// 修改网站的Web设置
|
||||||
@@ -338,15 +335,6 @@ func (c *serverServiceClient) UpdateServerTLS(ctx context.Context, in *UpdateSer
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *serverServiceClient) UpdateServerUnix(ctx context.Context, in *UpdateServerUnixRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
|
|
||||||
out := new(RPCSuccess)
|
|
||||||
err := c.cc.Invoke(ctx, ServerService_UpdateServerUnix_FullMethodName, in, out, opts...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *serverServiceClient) UpdateServerUDP(ctx context.Context, in *UpdateServerUDPRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
|
func (c *serverServiceClient) UpdateServerUDP(ctx context.Context, in *UpdateServerUDPRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
|
||||||
out := new(RPCSuccess)
|
out := new(RPCSuccess)
|
||||||
err := c.cc.Invoke(ctx, ServerService_UpdateServerUDP_FullMethodName, in, out, opts...)
|
err := c.cc.Invoke(ctx, ServerService_UpdateServerUDP_FullMethodName, in, out, opts...)
|
||||||
@@ -843,8 +831,6 @@ type ServerServiceServer interface {
|
|||||||
UpdateServerTCP(context.Context, *UpdateServerTCPRequest) (*RPCSuccess, error)
|
UpdateServerTCP(context.Context, *UpdateServerTCPRequest) (*RPCSuccess, error)
|
||||||
// 修改网站的TLS设置
|
// 修改网站的TLS设置
|
||||||
UpdateServerTLS(context.Context, *UpdateServerTLSRequest) (*RPCSuccess, error)
|
UpdateServerTLS(context.Context, *UpdateServerTLSRequest) (*RPCSuccess, error)
|
||||||
// 修改网站的Unix设置
|
|
||||||
UpdateServerUnix(context.Context, *UpdateServerUnixRequest) (*RPCSuccess, error)
|
|
||||||
// 修改网站的UDP设置
|
// 修改网站的UDP设置
|
||||||
UpdateServerUDP(context.Context, *UpdateServerUDPRequest) (*RPCSuccess, error)
|
UpdateServerUDP(context.Context, *UpdateServerUDPRequest) (*RPCSuccess, error)
|
||||||
// 修改网站的Web设置
|
// 修改网站的Web设置
|
||||||
@@ -991,9 +977,6 @@ func (UnimplementedServerServiceServer) UpdateServerTCP(context.Context, *Update
|
|||||||
func (UnimplementedServerServiceServer) UpdateServerTLS(context.Context, *UpdateServerTLSRequest) (*RPCSuccess, error) {
|
func (UnimplementedServerServiceServer) UpdateServerTLS(context.Context, *UpdateServerTLSRequest) (*RPCSuccess, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateServerTLS not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method UpdateServerTLS not implemented")
|
||||||
}
|
}
|
||||||
func (UnimplementedServerServiceServer) UpdateServerUnix(context.Context, *UpdateServerUnixRequest) (*RPCSuccess, error) {
|
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateServerUnix not implemented")
|
|
||||||
}
|
|
||||||
func (UnimplementedServerServiceServer) UpdateServerUDP(context.Context, *UpdateServerUDPRequest) (*RPCSuccess, error) {
|
func (UnimplementedServerServiceServer) UpdateServerUDP(context.Context, *UpdateServerUDPRequest) (*RPCSuccess, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateServerUDP not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method UpdateServerUDP not implemented")
|
||||||
}
|
}
|
||||||
@@ -1378,24 +1361,6 @@ func _ServerService_UpdateServerTLS_Handler(srv interface{}, ctx context.Context
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
func _ServerService_UpdateServerUnix_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
||||||
in := new(UpdateServerUnixRequest)
|
|
||||||
if err := dec(in); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if interceptor == nil {
|
|
||||||
return srv.(ServerServiceServer).UpdateServerUnix(ctx, in)
|
|
||||||
}
|
|
||||||
info := &grpc.UnaryServerInfo{
|
|
||||||
Server: srv,
|
|
||||||
FullMethod: ServerService_UpdateServerUnix_FullMethodName,
|
|
||||||
}
|
|
||||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
||||||
return srv.(ServerServiceServer).UpdateServerUnix(ctx, req.(*UpdateServerUnixRequest))
|
|
||||||
}
|
|
||||||
return interceptor(ctx, in, info, handler)
|
|
||||||
}
|
|
||||||
|
|
||||||
func _ServerService_UpdateServerUDP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
func _ServerService_UpdateServerUDP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
in := new(UpdateServerUDPRequest)
|
in := new(UpdateServerUDPRequest)
|
||||||
if err := dec(in); err != nil {
|
if err := dec(in); err != nil {
|
||||||
@@ -2387,10 +2352,6 @@ var ServerService_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "updateServerTLS",
|
MethodName: "updateServerTLS",
|
||||||
Handler: _ServerService_UpdateServerTLS_Handler,
|
Handler: _ServerService_UpdateServerTLS_Handler,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
MethodName: "updateServerUnix",
|
|
||||||
Handler: _ServerService_UpdateServerUnix_Handler,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
MethodName: "updateServerUDP",
|
MethodName: "updateServerUDP",
|
||||||
Handler: _ServerService_UpdateServerUDP_Handler,
|
Handler: _ServerService_UpdateServerUDP_Handler,
|
||||||
|
|||||||
@@ -642,6 +642,8 @@ type ComposeServerStatBoardResponse struct {
|
|||||||
DailyPeekBandwidthBytes int64 `protobuf:"varint,2,opt,name=dailyPeekBandwidthBytes,proto3" json:"dailyPeekBandwidthBytes,omitempty"` // 当天带宽峰值
|
DailyPeekBandwidthBytes int64 `protobuf:"varint,2,opt,name=dailyPeekBandwidthBytes,proto3" json:"dailyPeekBandwidthBytes,omitempty"` // 当天带宽峰值
|
||||||
MonthlyPeekBandwidthBytes int64 `protobuf:"varint,3,opt,name=monthlyPeekBandwidthBytes,proto3" json:"monthlyPeekBandwidthBytes,omitempty"` // 当月带宽峰值
|
MonthlyPeekBandwidthBytes int64 `protobuf:"varint,3,opt,name=monthlyPeekBandwidthBytes,proto3" json:"monthlyPeekBandwidthBytes,omitempty"` // 当月带宽峰值
|
||||||
LastMonthlyPeekBandwidthBytes int64 `protobuf:"varint,4,opt,name=lastMonthlyPeekBandwidthBytes,proto3" json:"lastMonthlyPeekBandwidthBytes,omitempty"` // 上个月带宽峰值
|
LastMonthlyPeekBandwidthBytes int64 `protobuf:"varint,4,opt,name=lastMonthlyPeekBandwidthBytes,proto3" json:"lastMonthlyPeekBandwidthBytes,omitempty"` // 上个月带宽峰值
|
||||||
|
DailyCountIPs int64 `protobuf:"varint,9,opt,name=dailyCountIPs,proto3" json:"dailyCountIPs,omitempty"` // 当天独立IP
|
||||||
|
DailyTrafficBytes int64 `protobuf:"varint,10,opt,name=dailyTrafficBytes,proto3" json:"dailyTrafficBytes,omitempty"` // 当天流量
|
||||||
BandwidthPercentile int32 `protobuf:"varint,7,opt,name=bandwidthPercentile,proto3" json:"bandwidthPercentile,omitempty"`
|
BandwidthPercentile int32 `protobuf:"varint,7,opt,name=bandwidthPercentile,proto3" json:"bandwidthPercentile,omitempty"`
|
||||||
MinutelyBandwidthStats []*ServerBandwidthStat `protobuf:"bytes,1,rep,name=minutelyBandwidthStats,proto3" json:"minutelyBandwidthStats,omitempty"` // 分钟级的带宽统计
|
MinutelyBandwidthStats []*ServerBandwidthStat `protobuf:"bytes,1,rep,name=minutelyBandwidthStats,proto3" json:"minutelyBandwidthStats,omitempty"` // 分钟级的带宽统计
|
||||||
MinutelyNthBandwidthStat *ServerBandwidthStat `protobuf:"bytes,8,opt,name=minutelyNthBandwidthStat,proto3" json:"minutelyNthBandwidthStat,omitempty"`
|
MinutelyNthBandwidthStat *ServerBandwidthStat `protobuf:"bytes,8,opt,name=minutelyNthBandwidthStat,proto3" json:"minutelyNthBandwidthStat,omitempty"`
|
||||||
@@ -712,6 +714,20 @@ func (x *ComposeServerStatBoardResponse) GetLastMonthlyPeekBandwidthBytes() int6
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *ComposeServerStatBoardResponse) GetDailyCountIPs() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.DailyCountIPs
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ComposeServerStatBoardResponse) GetDailyTrafficBytes() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.DailyTrafficBytes
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
func (x *ComposeServerStatBoardResponse) GetBandwidthPercentile() int32 {
|
func (x *ComposeServerStatBoardResponse) GetBandwidthPercentile() int32 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.BandwidthPercentile
|
return x.BandwidthPercentile
|
||||||
@@ -1910,7 +1926,7 @@ var file_service_server_stat_board_proto_rawDesc = []byte{
|
|||||||
0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61,
|
0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61,
|
||||||
0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72,
|
0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72,
|
||||||
0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72,
|
0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72,
|
||||||
0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0xf1, 0x0e, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
|
0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0xc5, 0x0f, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
|
||||||
0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64,
|
0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64,
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x1a, 0x6d, 0x69, 0x6e, 0x75,
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x1a, 0x6d, 0x69, 0x6e, 0x75,
|
||||||
0x74, 0x65, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
|
0x74, 0x65, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
|
||||||
@@ -1928,147 +1944,152 @@ var file_service_server_stat_board_proto_rawDesc = []byte{
|
|||||||
0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65,
|
0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65,
|
||||||
0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x6e,
|
0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x6e,
|
||||||
0x74, 0x68, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
|
0x74, 0x68, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
|
||||||
0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69,
|
0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x43,
|
||||||
0x64, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20,
|
0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x13, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x65,
|
0x61, 0x69, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x73, 0x12, 0x2c, 0x0a, 0x11,
|
||||||
0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x75,
|
0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65,
|
||||||
0x74, 0x65, 0x6c, 0x79, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61,
|
0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72,
|
||||||
0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65,
|
0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x62, 0x61,
|
||||||
0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61,
|
0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c,
|
||||||
0x74, 0x52, 0x16, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x42, 0x61, 0x6e, 0x64, 0x77,
|
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64,
|
||||||
0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x18, 0x6d, 0x69, 0x6e,
|
0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x16,
|
||||||
0x75, 0x74, 0x65, 0x6c, 0x79, 0x4e, 0x74, 0x68, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
|
0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
|
||||||
0x68, 0x53, 0x74, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62,
|
0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
|
||||||
0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
|
0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
|
||||||
0x53, 0x74, 0x61, 0x74, 0x52, 0x18, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x4e, 0x74,
|
0x68, 0x53, 0x74, 0x61, 0x74, 0x52, 0x16, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x42,
|
||||||
0x68, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x12, 0x61,
|
0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x53, 0x0a,
|
||||||
0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74,
|
0x18, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x4e, 0x74, 0x68, 0x42, 0x61, 0x6e, 0x64,
|
||||||
0x61, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x43,
|
0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
|
0x17, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77,
|
||||||
0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61,
|
0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x52, 0x18, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65,
|
||||||
0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x11,
|
0x6c, 0x79, 0x4e, 0x74, 0x68, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74,
|
||||||
0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74,
|
0x61, 0x74, 0x12, 0x61, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66,
|
||||||
0x73, 0x12, 0x64, 0x0a, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66,
|
0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e,
|
||||||
0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e,
|
|
||||||
0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
0x65, 0x2e, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53,
|
0x65, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74,
|
||||||
0x74, 0x61, 0x74, 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66,
|
0x61, 0x74, 0x52, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
|
||||||
0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x74, 0x6f, 0x70, 0x4e, 0x6f,
|
0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54,
|
||||||
0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
|
0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28,
|
||||||
0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
0x0b, 0x32, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65,
|
||||||
0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
|
||||||
0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0c, 0x74, 0x6f, 0x70, 0x4e,
|
|
||||||
0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x6f, 0x70, 0x43,
|
|
||||||
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28,
|
|
||||||
0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65,
|
|
||||||
0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
|
0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61,
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66,
|
||||||
0x74, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61,
|
0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54,
|
||||||
0x74, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
|
0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x74,
|
||||||
0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70,
|
0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28,
|
||||||
0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72,
|
0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65,
|
||||||
0x74, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61,
|
0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
|
||||||
0x72, 0x74, 0x73, 0x1a, 0x88, 0x02, 0x0a, 0x10, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61,
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0c,
|
||||||
0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18,
|
0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x0f,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79,
|
0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18,
|
||||||
0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73,
|
0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f,
|
||||||
0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18,
|
0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72,
|
||||||
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74,
|
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72,
|
||||||
0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72,
|
||||||
0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e,
|
0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b,
|
||||||
0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18,
|
0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
|
||||||
0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68,
|
0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74,
|
||||||
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f,
|
0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x1a, 0x88, 0x02, 0x0a, 0x10, 0x44, 0x61, 0x69, 0x6c,
|
||||||
0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03,
|
||||||
0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74,
|
0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14,
|
||||||
0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b,
|
0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62,
|
||||||
0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,
|
0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79,
|
||||||
0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x8b,
|
0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65,
|
||||||
0x02, 0x0a, 0x11, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
|
0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
|
||||||
0x53, 0x74, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x01, 0x20, 0x01,
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63,
|
||||||
0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65,
|
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13,
|
||||||
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20,
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20,
|
0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||||
0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73,
|
0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30,
|
||||||
0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71,
|
||||||
0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
|
0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43,
|
0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
|
||||||
0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20,
|
0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18,
|
||||||
0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64,
|
0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74,
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e,
|
0x65, 0x73, 0x1a, 0x8b, 0x02, 0x0a, 0x11, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61,
|
||||||
0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18,
|
0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72,
|
||||||
0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x14, 0x0a, 0x05,
|
||||||
0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74,
|
0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74,
|
||||||
0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
|
0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65,
|
||||||
0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xce, 0x01, 0x0a,
|
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42,
|
||||||
0x08, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64,
|
0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71,
|
||||||
0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
|
0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75,
|
||||||
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
|
0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a,
|
0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03,
|
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61,
|
||||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13,
|
||||||
0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75,
|
0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||||
|
0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20,
|
||||||
|
0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20,
|
||||||
|
0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73,
|
||||||
|
0x1a, 0xce, 0x01, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x0a,
|
||||||
|
0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e,
|
||||||
|
0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d,
|
||||||
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d,
|
||||||
|
0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
|
0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
|
||||||
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73,
|
||||||
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a,
|
||||||
|
0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
|
||||||
|
0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e,
|
||||||
|
0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12,
|
||||||
|
0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07,
|
||||||
|
0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65,
|
||||||
|
0x73, 0x1a, 0xd9, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61,
|
||||||
|
0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65,
|
||||||
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e,
|
||||||
|
0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01,
|
||||||
|
0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75,
|
||||||
|
0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
|
||||||
|
0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12,
|
||||||
|
0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02,
|
||||||
|
0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75,
|
||||||
0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
|
0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
|
||||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74,
|
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74,
|
||||||
0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61,
|
0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61,
|
||||||
0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
|
0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
|
||||||
0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xd9, 0x01,
|
0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x76, 0x0a,
|
||||||
0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x20, 0x0a,
|
0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74,
|
||||||
0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
|
0x12, 0x31, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x18,
|
||||||
0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12,
|
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||||
0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
|
0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68,
|
||||||
0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
|
0x61, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f,
|
0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65,
|
||||||
0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70,
|
0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||||
0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x65,
|
0x53, 0x74, 0x61, 0x74, 0x73, 0x32, 0xe2, 0x03, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74,
|
0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||||
0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01,
|
0x12, 0x77, 0x0a, 0x1e, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||||
0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52,
|
|
||||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63,
|
|
||||||
0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74,
|
|
||||||
0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x76, 0x0a, 0x0f, 0x4d, 0x65, 0x74,
|
|
||||||
0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x31, 0x0a, 0x0b,
|
|
||||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
||||||
0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61,
|
|
||||||
0x72, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12,
|
|
||||||
0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02,
|
|
||||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
|
||||||
0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74,
|
|
||||||
0x73, 0x32, 0xe2, 0x03, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
|
|
||||||
0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x1e,
|
|
||||||
0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65,
|
|
||||||
0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x29,
|
|
||||||
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
|
||||||
0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72,
|
0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72,
|
||||||
0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
0x64, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
|
||||||
0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72,
|
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
|
||||||
0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73,
|
0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
|
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||||
0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43,
|
0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64,
|
||||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x2c, 0x2e, 0x70, 0x62,
|
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x21, 0x63, 0x6f,
|
||||||
0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74,
|
0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e,
|
||||||
0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x61,
|
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12,
|
||||||
0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43,
|
0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76,
|
||||||
0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
|
0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||||
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64,
|
0x72, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e,
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x70,
|
|
||||||
0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64,
|
|
||||||
0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70,
|
|
||||||
0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64,
|
|
||||||
0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
|
|
||||||
0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||||
0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
|
0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
|
0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a,
|
||||||
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12,
|
0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61,
|
||||||
0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76,
|
0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e,
|
||||||
0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61,
|
||||||
0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53,
|
0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65,
|
0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65,
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
|
0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x6f, 0x61, 0x72,
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x63, 0x6f, 0x6d,
|
||||||
|
0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f,
|
||||||
|
0x61, 0x72, 0x64, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
|
||||||
|
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52,
|
||||||
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70,
|
||||||
|
0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61,
|
||||||
|
0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
|
||||||
|
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ option go_package = "./pb";
|
|||||||
|
|
||||||
package pb;
|
package pb;
|
||||||
|
|
||||||
|
import "models/model_node_cluster.proto";
|
||||||
|
|
||||||
message HTTPCacheTaskKey {
|
message HTTPCacheTaskKey {
|
||||||
int64 id = 1; // 缓存键ID
|
int64 id = 1; // 缓存键ID
|
||||||
int64 taskId = 2; // 任务ID
|
int64 taskId = 2; // 任务ID
|
||||||
@@ -13,4 +15,6 @@ message HTTPCacheTaskKey {
|
|||||||
bool isDoing = 9; // 是否执行中
|
bool isDoing = 9; // 是否执行中
|
||||||
bytes errorsJSON = 7; // 错误信息
|
bytes errorsJSON = 7; // 错误信息
|
||||||
int64 nodeClusterId = 8; // 所属集群ID
|
int64 nodeClusterId = 8; // 所属集群ID
|
||||||
|
|
||||||
|
NodeCluster nodeCluster = 30; // 所属集群,不一定有内容
|
||||||
}
|
}
|
||||||
@@ -18,4 +18,5 @@ message HTTPFirewallPolicy {
|
|||||||
bytes blockOptionsJSON = 11; // 阻止动作配置
|
bytes blockOptionsJSON = 11; // 阻止动作配置
|
||||||
bytes pageOptionsJSON = 13; // 显示网页动作配置
|
bytes pageOptionsJSON = 13; // 显示网页动作配置
|
||||||
bytes captchaOptionsJSON = 12; // 人机识别配置
|
bytes captchaOptionsJSON = 12; // 人机识别配置
|
||||||
|
bytes jsCookieOptionsJSON = 14; // JSCookie动作配置
|
||||||
}
|
}
|
||||||
@@ -11,6 +11,7 @@ import "models/model_node.proto";
|
|||||||
|
|
||||||
message IPItem {
|
message IPItem {
|
||||||
int64 id = 1;
|
int64 id = 1;
|
||||||
|
string value = 22; // 原始值,比如单个IP、IP范围或者CIDR
|
||||||
string ipFrom = 2;
|
string ipFrom = 2;
|
||||||
string ipTo = 3;
|
string ipTo = 3;
|
||||||
int64 version = 4;
|
int64 version = 4;
|
||||||
|
|||||||
@@ -26,4 +26,5 @@ message NodeCluster {
|
|||||||
bool autoInstallNftables = 20;
|
bool autoInstallNftables = 20;
|
||||||
bytes sshParamsJSON = 21;
|
bytes sshParamsJSON = 21;
|
||||||
bool autoSystemTuning = 23; // 是否自动调节系统参数
|
bool autoSystemTuning = 23; // 是否自动调节系统参数
|
||||||
|
bool autoTrimDisks = 24; // 是否自动TRIM硬盘
|
||||||
}
|
}
|
||||||
@@ -13,4 +13,5 @@ message RegionCountry {
|
|||||||
repeated string customCodes = 6;
|
repeated string customCodes = 6;
|
||||||
string displayName = 7;
|
string displayName = 7;
|
||||||
bool isCommon = 8; // 是否常用
|
bool isCommon = 8; // 是否常用
|
||||||
|
string routeCode = 9; // 线路代号
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,9 @@ option go_package = "./pb";
|
|||||||
|
|
||||||
package pb;
|
package pb;
|
||||||
|
|
||||||
|
import "models/model_region_country.proto";
|
||||||
|
|
||||||
|
// 省份|州|区域信息
|
||||||
message RegionProvince {
|
message RegionProvince {
|
||||||
int64 id = 1;
|
int64 id = 1;
|
||||||
string name = 2;
|
string name = 2;
|
||||||
@@ -11,4 +14,6 @@ message RegionProvince {
|
|||||||
string customName = 5;
|
string customName = 5;
|
||||||
repeated string customCodes = 6;
|
repeated string customCodes = 6;
|
||||||
string displayName = 7;
|
string displayName = 7;
|
||||||
|
|
||||||
|
RegionCountry regionCountry = 30; // 国家|地区信息
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ message Server {
|
|||||||
bytes httpsJSON = 10;
|
bytes httpsJSON = 10;
|
||||||
bytes tcpJSON = 11;
|
bytes tcpJSON = 11;
|
||||||
bytes tlsJSON = 12;
|
bytes tlsJSON = 12;
|
||||||
bytes unixJSON = 13;
|
|
||||||
bytes udpJSON = 14;
|
bytes udpJSON = 14;
|
||||||
int64 webId = 15;
|
int64 webId = 15;
|
||||||
bytes reverseProxyJSON = 16;
|
bytes reverseProxyJSON = 16;
|
||||||
|
|||||||
@@ -21,4 +21,5 @@ message ServerBandwidthStat {
|
|||||||
int64 countAttackRequests = 14; // 总攻击请求数
|
int64 countAttackRequests = 14; // 总攻击请求数
|
||||||
int64 userPlanId = 15; // 绑定的用户套餐ID
|
int64 userPlanId = 15; // 绑定的用户套餐ID
|
||||||
int64 countWebsocketConnections = 16; // Websocket连接数
|
int64 countWebsocketConnections = 16; // Websocket连接数
|
||||||
|
int64 countIPs = 17; // 总IP数
|
||||||
}
|
}
|
||||||
@@ -16,9 +16,10 @@ message ServerDailyStat {
|
|||||||
int64 countAttackRequests = 8;
|
int64 countAttackRequests = 8;
|
||||||
int64 attackBytes = 9;
|
int64 attackBytes = 9;
|
||||||
bool checkTrafficLimiting = 10;
|
bool checkTrafficLimiting = 10;
|
||||||
int64 planId = 11;
|
int64 planId = 11; // 套餐ID
|
||||||
string day = 12;
|
string day = 12; // 日期 YYYYMMDD
|
||||||
string hour = 13;
|
string hour = 13;
|
||||||
string timeFrom = 14;
|
string timeFrom = 14;
|
||||||
string timeTo = 15;
|
string timeTo = 15;
|
||||||
|
int64 countIPs = 17; // 独立IP数量
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,9 +16,12 @@ service AdminService {
|
|||||||
// 检查管理员是否存在
|
// 检查管理员是否存在
|
||||||
rpc checkAdminExists (CheckAdminExistsRequest) returns (CheckAdminExistsResponse);
|
rpc checkAdminExists (CheckAdminExistsRequest) returns (CheckAdminExistsResponse);
|
||||||
|
|
||||||
// 检查用户名是否存在
|
// 检查管理员用户名是否存在
|
||||||
rpc checkAdminUsername (CheckAdminUsernameRequest) returns (CheckAdminUsernameResponse);
|
rpc checkAdminUsername (CheckAdminUsernameRequest) returns (CheckAdminUsernameResponse);
|
||||||
|
|
||||||
|
// 使用用管理员户名查找管理员信息
|
||||||
|
rpc findAdminWithUsername(FindAdminWithUsernameRequest) returns (FindAdminWithUsernameResponse);
|
||||||
|
|
||||||
// 获取管理员名称
|
// 获取管理员名称
|
||||||
rpc findAdminFullname (FindAdminFullnameRequest) returns (FindAdminFullnameResponse);
|
rpc findAdminFullname (FindAdminFullnameRequest) returns (FindAdminFullnameResponse);
|
||||||
|
|
||||||
@@ -87,7 +90,7 @@ message CheckAdminExistsResponse {
|
|||||||
string message = 2;
|
string message = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检查用户名是否存在
|
// 检查管理员用户名是否存在
|
||||||
message CheckAdminUsernameRequest {
|
message CheckAdminUsernameRequest {
|
||||||
int64 adminId = 1;
|
int64 adminId = 1;
|
||||||
string username = 2;
|
string username = 2;
|
||||||
@@ -97,6 +100,15 @@ message CheckAdminUsernameResponse {
|
|||||||
bool exists = 1;
|
bool exists = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 使用用管理员户名查找管理员信息
|
||||||
|
message FindAdminWithUsernameRequest {
|
||||||
|
string username = 1; // 管理员用户名
|
||||||
|
}
|
||||||
|
|
||||||
|
message FindAdminWithUsernameResponse {
|
||||||
|
Admin admin = 1; // 管理员信息
|
||||||
|
}
|
||||||
|
|
||||||
// 获取管理员名称
|
// 获取管理员名称
|
||||||
message FindAdminFullnameRequest {
|
message FindAdminFullnameRequest {
|
||||||
int64 adminId = 1;
|
int64 adminId = 1;
|
||||||
|
|||||||
@@ -95,11 +95,12 @@ message DeleteDNSProviderRequest {
|
|||||||
|
|
||||||
// 查找单个服务商
|
// 查找单个服务商
|
||||||
message FindEnabledDNSProviderRequest {
|
message FindEnabledDNSProviderRequest {
|
||||||
int64 dnsProviderId = 1;
|
int64 dnsProviderId = 1; // DNS服务商ID
|
||||||
|
bool maskParams = 2; // 是否对参数中的密钥进行掩码
|
||||||
}
|
}
|
||||||
|
|
||||||
message FindEnabledDNSProviderResponse {
|
message FindEnabledDNSProviderResponse {
|
||||||
DNSProvider dnsProvider = 1;
|
DNSProvider dnsProvider = 1; // DNS服务商信息
|
||||||
}
|
}
|
||||||
|
|
||||||
// 取得所有服务商类型
|
// 取得所有服务商类型
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ message UpdateHTTPFirewallPolicyRequest {
|
|||||||
bytes blockOptionsJSON = 6; // 阻止动作配置
|
bytes blockOptionsJSON = 6; // 阻止动作配置
|
||||||
bytes pageOptionsJSON = 15; // 显示网页动作配置
|
bytes pageOptionsJSON = 15; // 显示网页动作配置
|
||||||
bytes captchaOptionsJSON = 11; // 验证码动作配置
|
bytes captchaOptionsJSON = 11; // 验证码动作配置
|
||||||
|
bytes jsCookieOptionsJSON = 16; // JSCookie动作配置
|
||||||
string mode = 7;
|
string mode = 7;
|
||||||
bool useLocalFirewall = 8; // 是否使用本地防火墙
|
bool useLocalFirewall = 8; // 是否使用本地防火墙
|
||||||
bytes synFloodJSON = 9; // SYN Flood相关配置
|
bytes synFloodJSON = 9; // SYN Flood相关配置
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ service IPItemService {
|
|||||||
// 创建IP
|
// 创建IP
|
||||||
message CreateIPItemRequest {
|
message CreateIPItemRequest {
|
||||||
int64 ipListId = 1; // 所属IP列表ID
|
int64 ipListId = 1; // 所属IP列表ID
|
||||||
|
string value = 15; // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数
|
||||||
string ipFrom = 2; // 开始IP
|
string ipFrom = 2; // 开始IP
|
||||||
string ipTo = 3; // 结束IP(可选)
|
string ipTo = 3; // 结束IP(可选)
|
||||||
int64 expiredAt = 4; // 过期时间戳(可选)
|
int64 expiredAt = 4; // 过期时间戳(可选)
|
||||||
@@ -90,6 +91,7 @@ message CreateIPItemsRequest {
|
|||||||
|
|
||||||
message IPItem {
|
message IPItem {
|
||||||
int64 ipListId = 1; // IP列表ID
|
int64 ipListId = 1; // IP列表ID
|
||||||
|
string value = 15; // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数
|
||||||
string ipFrom = 2; // 开始IP
|
string ipFrom = 2; // 开始IP
|
||||||
string ipTo = 3; // 结束IP(可选)
|
string ipTo = 3; // 结束IP(可选)
|
||||||
int64 expiredAt = 4; // 过期时间戳(可选)
|
int64 expiredAt = 4; // 过期时间戳(可选)
|
||||||
@@ -115,8 +117,9 @@ message CreateIPItemsResponse {
|
|||||||
// 修改IP
|
// 修改IP
|
||||||
message UpdateIPItemRequest {
|
message UpdateIPItemRequest {
|
||||||
int64 ipItemId = 1;
|
int64 ipItemId = 1;
|
||||||
string ipFrom = 2;
|
string value = 8; // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数
|
||||||
string ipTo = 3;
|
string ipFrom = 2; // 开始IP
|
||||||
|
string ipTo = 3; // 结束IP(可选)
|
||||||
int64 expiredAt = 4;
|
int64 expiredAt = 4;
|
||||||
string reason = 5;
|
string reason = 5;
|
||||||
string type = 6; // 类型
|
string type = 6; // 类型
|
||||||
@@ -128,6 +131,7 @@ message UpdateIPItemRequest {
|
|||||||
message DeleteIPItemRequest {
|
message DeleteIPItemRequest {
|
||||||
int64 ipItemId = 1; // IP条目的ID
|
int64 ipItemId = 1; // IP条目的ID
|
||||||
|
|
||||||
|
string value = 5; // IP原始值,比如单个IP、IP范围或者CIDR,指定了原始值后,无需设置ipFrom和ipTo两个参数
|
||||||
string ipFrom = 2; // v0.4.8新增,开始IP,和ipItemId二选一
|
string ipFrom = 2; // v0.4.8新增,开始IP,和ipItemId二选一
|
||||||
string ipTo = 3; // v0.4.8新增,结束IP,和ipItemId二选一
|
string ipTo = 3; // v0.4.8新增,结束IP,和ipItemId二选一
|
||||||
int64 ipListId = 4; // v0.4.8新增,IP列表,IP所在的IP列表,如果不指定,则会删除所有IP列表中的相关IP信息
|
int64 ipListId = 4; // v0.4.8新增,IP列表,IP所在的IP列表,如果不指定,则会删除所有IP列表中的相关IP信息
|
||||||
|
|||||||
@@ -19,13 +19,14 @@ service MetricStatService {
|
|||||||
|
|
||||||
// 上传统计数据
|
// 上传统计数据
|
||||||
message UploadMetricStatsRequest {
|
message UploadMetricStatsRequest {
|
||||||
int64 serverId = 1;
|
int64 serverId = 1; // 网站ID
|
||||||
string time = 2;
|
string time = 2; // 时间
|
||||||
int64 count = 3;
|
int64 count = 3; // 数量
|
||||||
float total = 4;
|
float total = 4; // 总数
|
||||||
int32 version = 5;
|
int32 version = 5; // 版本号
|
||||||
int64 itemId = 6;
|
int64 itemId = 6; // 指标ID
|
||||||
repeated UploadingMetricStat metricStats = 7;
|
repeated UploadingMetricStat metricStats = 7; // 指标统计数据
|
||||||
|
repeated string keepKeys = 8; // 需要保留的指标值
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算指标数据数量
|
// 计算指标数据数量
|
||||||
|
|||||||
@@ -189,6 +189,7 @@ message CreateNodeClusterRequest {
|
|||||||
bytes globalServerConfigJSON = 10; // 服务全局设置
|
bytes globalServerConfigJSON = 10; // 服务全局设置
|
||||||
bool autoInstallNftables = 11; // 自动安装nftables
|
bool autoInstallNftables = 11; // 自动安装nftables
|
||||||
bool autoSystemTuning = 12; // 是否自动调节系统参数
|
bool autoSystemTuning = 12; // 是否自动调节系统参数
|
||||||
|
bool autoTrimDisks = 13; // 是否自动TRIM硬盘
|
||||||
}
|
}
|
||||||
|
|
||||||
message CreateNodeClusterResponse {
|
message CreateNodeClusterResponse {
|
||||||
@@ -209,6 +210,7 @@ message UpdateNodeClusterRequest {
|
|||||||
bool autoInstallNftables = 11;
|
bool autoInstallNftables = 11;
|
||||||
bytes sshParamsJSON = 12;
|
bytes sshParamsJSON = 12;
|
||||||
bool autoSystemTuning = 13; // 是否自动调节系统参数
|
bool autoSystemTuning = 13; // 是否自动调节系统参数
|
||||||
|
bool autoTrimDisks = 14; // 是否自动TRIM硬盘
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除集群
|
// 删除集群
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ service OriginService {
|
|||||||
|
|
||||||
// 查找源站配置
|
// 查找源站配置
|
||||||
rpc findEnabledOriginConfig (FindEnabledOriginConfigRequest) returns (FindEnabledOriginConfigResponse);
|
rpc findEnabledOriginConfig (FindEnabledOriginConfigRequest) returns (FindEnabledOriginConfigResponse);
|
||||||
|
|
||||||
|
// 设置源站是否启用
|
||||||
|
rpc updateOriginIsOn(UpdateOriginIsOnRequest) returns (RPCSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建源站
|
// 创建源站
|
||||||
@@ -84,3 +87,9 @@ message FindEnabledOriginConfigRequest {
|
|||||||
message FindEnabledOriginConfigResponse {
|
message FindEnabledOriginConfigResponse {
|
||||||
bytes originJSON = 1; // 源站信息
|
bytes originJSON = 1; // 源站信息
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设置源站是否启用
|
||||||
|
message UpdateOriginIsOnRequest {
|
||||||
|
int64 originId = 1; // 源站ID
|
||||||
|
bool isOn = 2; // 是否启用
|
||||||
|
}
|
||||||
@@ -8,7 +8,7 @@ import "models/rpc_messages.proto";
|
|||||||
|
|
||||||
// 省份相关服务
|
// 省份相关服务
|
||||||
service RegionProvinceService {
|
service RegionProvinceService {
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
rpc findAllEnabledRegionProvincesWithCountryId (FindAllEnabledRegionProvincesWithCountryIdRequest) returns (FindAllEnabledRegionProvincesWithCountryIdResponse) {
|
rpc findAllEnabledRegionProvincesWithCountryId (FindAllEnabledRegionProvincesWithCountryIdRequest) returns (FindAllEnabledRegionProvincesWithCountryIdResponse) {
|
||||||
option deprecated = true;
|
option deprecated = true;
|
||||||
};
|
};
|
||||||
@@ -18,9 +18,12 @@ service RegionProvinceService {
|
|||||||
option deprecated = true;
|
option deprecated = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
rpc findAllRegionProvincesWithRegionCountryId (FindAllRegionProvincesWithRegionCountryIdRequest) returns (FindAllRegionProvincesWithRegionCountryIdResponse);
|
rpc findAllRegionProvincesWithRegionCountryId (FindAllRegionProvincesWithRegionCountryIdRequest) returns (FindAllRegionProvincesWithRegionCountryIdResponse);
|
||||||
|
|
||||||
|
// 查找所有国家|地区的所有省份
|
||||||
|
rpc findAllRegionProvinces(FindAllRegionProvincesRequest) returns (FindAllRegionProvincesResponse);
|
||||||
|
|
||||||
// 查找单个省份信息
|
// 查找单个省份信息
|
||||||
rpc findRegionProvince (FindRegionProvinceRequest) returns (FindRegionProvinceResponse);
|
rpc findRegionProvince (FindRegionProvinceRequest) returns (FindRegionProvinceResponse);
|
||||||
|
|
||||||
@@ -28,45 +31,54 @@ service RegionProvinceService {
|
|||||||
rpc updateRegionProvinceCustom(UpdateRegionProvinceCustomRequest) returns (RPCSuccess);
|
rpc updateRegionProvinceCustom(UpdateRegionProvinceCustomRequest) returns (RPCSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
message FindAllEnabledRegionProvincesWithCountryIdRequest {
|
message FindAllEnabledRegionProvincesWithCountryIdRequest {
|
||||||
int64 regionCountryId = 1;
|
int64 regionCountryId = 1; // 国家|地区ID
|
||||||
}
|
}
|
||||||
|
|
||||||
message FindAllEnabledRegionProvincesWithCountryIdResponse {
|
message FindAllEnabledRegionProvincesWithCountryIdResponse {
|
||||||
repeated RegionProvince regionProvinces = 1;
|
repeated RegionProvince regionProvinces = 1; // 省份列表
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查找单个省份信息
|
// 查找单个省份信息
|
||||||
message FindEnabledRegionProvinceRequest {
|
message FindEnabledRegionProvinceRequest {
|
||||||
int64 regionProvinceId = 1;
|
int64 regionProvinceId = 1; // 省份ID
|
||||||
}
|
}
|
||||||
|
|
||||||
message FindEnabledRegionProvinceResponse {
|
message FindEnabledRegionProvinceResponse {
|
||||||
RegionProvince regionProvince = 1;
|
RegionProvince regionProvince = 1; // 省份信息
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查找所有省份
|
// 根据国家|地区ID查找所有省份
|
||||||
message FindAllRegionProvincesWithRegionCountryIdRequest {
|
message FindAllRegionProvincesWithRegionCountryIdRequest {
|
||||||
int64 regionCountryId = 1;
|
int64 regionCountryId = 1; // 国家|地区ID
|
||||||
}
|
}
|
||||||
|
|
||||||
message FindAllRegionProvincesWithRegionCountryIdResponse {
|
message FindAllRegionProvincesWithRegionCountryIdResponse {
|
||||||
repeated RegionProvince regionProvinces = 1;
|
repeated RegionProvince regionProvinces = 1; // 省份列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查找所有国家|地区的所有省份
|
||||||
|
message FindAllRegionProvincesRequest {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
message FindAllRegionProvincesResponse {
|
||||||
|
repeated RegionProvince regionProvinces = 1; // 省份列表
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查找单个省份信息
|
// 查找单个省份信息
|
||||||
message FindRegionProvinceRequest {
|
message FindRegionProvinceRequest {
|
||||||
int64 regionProvinceId = 1;
|
int64 regionProvinceId = 1; // 省份ID
|
||||||
}
|
}
|
||||||
|
|
||||||
message FindRegionProvinceResponse {
|
message FindRegionProvinceResponse {
|
||||||
RegionProvince regionProvince = 1;
|
RegionProvince regionProvince = 1; // 省份信息
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改省份定制信息
|
// 修改省份定制信息
|
||||||
message UpdateRegionProvinceCustomRequest {
|
message UpdateRegionProvinceCustomRequest {
|
||||||
int64 regionProvinceId = 1;
|
int64 regionProvinceId = 1; // 省份ID
|
||||||
string customName = 2;
|
string customName = 2; // 自定义名称
|
||||||
repeated string customCodes = 3;
|
repeated string customCodes = 3; // 自定义代号
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,9 +47,6 @@ service ServerService {
|
|||||||
// 修改网站的TLS设置
|
// 修改网站的TLS设置
|
||||||
rpc updateServerTLS (UpdateServerTLSRequest) returns (RPCSuccess);
|
rpc updateServerTLS (UpdateServerTLSRequest) returns (RPCSuccess);
|
||||||
|
|
||||||
// 修改网站的Unix设置
|
|
||||||
rpc updateServerUnix (UpdateServerUnixRequest) returns (RPCSuccess);
|
|
||||||
|
|
||||||
// 修改网站的UDP设置
|
// 修改网站的UDP设置
|
||||||
rpc updateServerUDP (UpdateServerUDPRequest) returns (RPCSuccess);
|
rpc updateServerUDP (UpdateServerUDPRequest) returns (RPCSuccess);
|
||||||
|
|
||||||
@@ -222,7 +219,6 @@ message CreateServerRequest {
|
|||||||
bytes httpsJSON = 10; // HTTPS协议设置,当type为httpProxy或者httpWeb时填写 @link json:https_protocol
|
bytes httpsJSON = 10; // HTTPS协议设置,当type为httpProxy或者httpWeb时填写 @link json:https_protocol
|
||||||
bytes tcpJSON = 11; // TCP协议设置,当type为tcpProxy时填写 @link json:tcp_protocol
|
bytes tcpJSON = 11; // TCP协议设置,当type为tcpProxy时填写 @link json:tcp_protocol
|
||||||
bytes tlsJSON = 12; // TLS协议设置,当type为tcpProxy时填写 @link json:tls_protocol
|
bytes tlsJSON = 12; // TLS协议设置,当type为tcpProxy时填写 @link json:tls_protocol
|
||||||
bytes unixJSON = 13; // 备用参数,不用填写
|
|
||||||
bytes udpJSON = 14; // UDP协议设置,当type为udpProxy时填写 @link json:udp_protocol
|
bytes udpJSON = 14; // UDP协议设置,当type为udpProxy时填写 @link json:udp_protocol
|
||||||
int64 webId = 15; // 可选项,Web配置ID,当type为httpProxy或者httpWeb时填写,可以通过 /HTTPWebService/createHTTPWeb 接口创建;如果你需要配置缓存等信息时需要在 HTTPWebService 接口操作
|
int64 webId = 15; // 可选项,Web配置ID,当type为httpProxy或者httpWeb时填写,可以通过 /HTTPWebService/createHTTPWeb 接口创建;如果你需要配置缓存等信息时需要在 HTTPWebService 接口操作
|
||||||
bytes reverseProxyJSON = 16; // 反向代理(包含源站)配置引用,此项可以在创建网站后再设置 @link json:reverse_proxy_ref
|
bytes reverseProxyJSON = 16; // 反向代理(包含源站)配置引用,此项可以在创建网站后再设置 @link json:reverse_proxy_ref
|
||||||
@@ -324,11 +320,6 @@ message UpdateServerTLSRequest {
|
|||||||
bytes tlsJSON = 2; // TLS协议设置,当type为tcpProxy时填写 @link json:tls_protocol
|
bytes tlsJSON = 2; // TLS协议设置,当type为tcpProxy时填写 @link json:tls_protocol
|
||||||
}
|
}
|
||||||
|
|
||||||
message UpdateServerUnixRequest {
|
|
||||||
int64 serverId = 1; // 网站ID
|
|
||||||
bytes unixJSON = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message UpdateServerUDPRequest {
|
message UpdateServerUDPRequest {
|
||||||
int64 serverId = 1; // 网站ID
|
int64 serverId = 1; // 网站ID
|
||||||
bytes udpJSON = 2; // UDP协议设置,当type为udpProxy时填写 @link json:udp_protocol
|
bytes udpJSON = 2; // UDP协议设置,当type为udpProxy时填写 @link json:udp_protocol
|
||||||
|
|||||||
@@ -154,6 +154,8 @@ message ComposeServerStatBoardResponse {
|
|||||||
int64 dailyPeekBandwidthBytes = 2; // 当天带宽峰值
|
int64 dailyPeekBandwidthBytes = 2; // 当天带宽峰值
|
||||||
int64 monthlyPeekBandwidthBytes = 3; // 当月带宽峰值
|
int64 monthlyPeekBandwidthBytes = 3; // 当月带宽峰值
|
||||||
int64 lastMonthlyPeekBandwidthBytes = 4; // 上个月带宽峰值
|
int64 lastMonthlyPeekBandwidthBytes = 4; // 上个月带宽峰值
|
||||||
|
int64 dailyCountIPs = 9; // 当天独立IP
|
||||||
|
int64 dailyTrafficBytes = 10; // 当天流量
|
||||||
|
|
||||||
int32 bandwidthPercentile = 7;
|
int32 bandwidthPercentile = 7;
|
||||||
repeated ServerBandwidthStat minutelyBandwidthStats = 1; // 分钟级的带宽统计
|
repeated ServerBandwidthStat minutelyBandwidthStats = 1; // 分钟级的带宽统计
|
||||||
|
|||||||
@@ -3,8 +3,9 @@ package serverconfigs
|
|||||||
import "github.com/iwind/TeaGo/maps"
|
import "github.com/iwind/TeaGo/maps"
|
||||||
|
|
||||||
const (
|
const (
|
||||||
DomainMismatchActionPage = "page"
|
DomainMismatchActionPage = "page"
|
||||||
DomainMismatchActionClose = "close"
|
DomainMismatchActionClose = "close"
|
||||||
|
DomainMismatchActionRedirect = "redirect"
|
||||||
)
|
)
|
||||||
|
|
||||||
type DomainMismatchPageOptions struct {
|
type DomainMismatchPageOptions struct {
|
||||||
@@ -15,6 +16,10 @@ type DomainMismatchPageOptions struct {
|
|||||||
type DomainMismatchCloseOptions struct {
|
type DomainMismatchCloseOptions struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type DomainMismatchRedirectOptions struct {
|
||||||
|
URL string `yaml:"url" json:"url"`
|
||||||
|
}
|
||||||
|
|
||||||
type DomainMismatchAction struct {
|
type DomainMismatchAction struct {
|
||||||
Code string `yaml:"code" json:"code"` // 动作代号
|
Code string `yaml:"code" json:"code"` // 动作代号
|
||||||
Options maps.Map `yaml:"options" json:"options"` // 动作选项
|
Options maps.Map `yaml:"options" json:"options"` // 动作选项
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ package firewallconfigs
|
|||||||
type FirewallScope = string
|
type FirewallScope = string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
FirewallScopeGlobal FirewallScope = "global"
|
FirewallScopeGlobal FirewallScope = "global"
|
||||||
FirewallScopeService FirewallScope = "service"
|
FirewallScopeServer FirewallScope = "service" // 历史原因,代号为 service 而非 server
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -12,12 +12,15 @@ type HTTPFirewallBlockAction struct {
|
|||||||
Timeout int32 `yaml:"timeout" json:"timeout"` // 最小封禁时长
|
Timeout int32 `yaml:"timeout" json:"timeout"` // 最小封禁时长
|
||||||
TimeoutMax int32 `yaml:"timeoutMax" json:"timeoutMax"` // 最大封禁时长
|
TimeoutMax int32 `yaml:"timeoutMax" json:"timeoutMax"` // 最大封禁时长
|
||||||
Scope FirewallScope `yaml:"scope" json:"scope"`
|
Scope FirewallScope `yaml:"scope" json:"scope"`
|
||||||
|
|
||||||
|
FailBlockScopeAll bool `yaml:"failBlockScopeAll" json:"failBlockScopeAll"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func DefaultHTTPFirewallBlockAction() *HTTPFirewallBlockAction {
|
func NewHTTPFirewallBlockAction() *HTTPFirewallBlockAction {
|
||||||
return &HTTPFirewallBlockAction{
|
return &HTTPFirewallBlockAction{
|
||||||
StatusCode: http.StatusForbidden,
|
StatusCode: http.StatusForbidden,
|
||||||
Body: "Blocked By WAF",
|
Body: "Blocked By WAF",
|
||||||
Timeout: 300,
|
Timeout: 300,
|
||||||
|
FailBlockScopeAll: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ type HTTPFirewallCaptchaAction struct {
|
|||||||
GeeTestConfig GeeTestConfig `yaml:"geeTestConfig" json:"geeTestConfig"`
|
GeeTestConfig GeeTestConfig `yaml:"geeTestConfig" json:"geeTestConfig"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func DefaultHTTPFirewallCaptchaAction() *HTTPFirewallCaptchaAction {
|
func NewHTTPFirewallCaptchaAction() *HTTPFirewallCaptchaAction {
|
||||||
return &HTTPFirewallCaptchaAction{
|
return &HTTPFirewallCaptchaAction{
|
||||||
Life: 600,
|
Life: 600,
|
||||||
MaxFails: 100,
|
MaxFails: 100,
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
package firewallconfigs
|
package firewallconfigs
|
||||||
|
|
||||||
type HTTPFirewallGet302Action struct {
|
type HTTPFirewallGet302Action struct {
|
||||||
|
IsPrior bool `yaml:"isPrior" json:"isPrior"`
|
||||||
|
|
||||||
Life int32 `yaml:"life" json:"life"`
|
Life int32 `yaml:"life" json:"life"`
|
||||||
Scope FirewallScope `yaml:"scope" json:"scope"`
|
Scope FirewallScope `yaml:"scope" json:"scope"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,21 @@
|
|||||||
package firewallconfigs
|
package firewallconfigs
|
||||||
|
|
||||||
type HTTPFirewallJavascriptCookieAction struct {
|
type HTTPFirewallJavascriptCookieAction struct {
|
||||||
Life int32 `yaml:"life" json:"life"` // 有效期
|
IsPrior bool `yaml:"isPrior" json:"isPrior"`
|
||||||
MaxFails int `yaml:"maxFails" json:"maxFails"` // 最大失败次数
|
|
||||||
FailBlockTimeout int `yaml:"failBlockTimeout" json:"failBlockTimeout"` // 失败拦截时间
|
Life int32 `yaml:"life" json:"life"` // 有效期
|
||||||
|
MaxFails int `yaml:"maxFails" json:"maxFails"` // 最大失败次数
|
||||||
|
FailBlockTimeout int `yaml:"failBlockTimeout" json:"failBlockTimeout"` // 失败拦截时间
|
||||||
|
Scope string `yaml:"scope" json:"scope"`
|
||||||
|
FailBlockScopeAll bool `yaml:"failBlockScopeAll" json:"failBlockScopeAll"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewHTTPFirewallJavascriptCookieAction() *HTTPFirewallJavascriptCookieAction {
|
||||||
|
return &HTTPFirewallJavascriptCookieAction{
|
||||||
|
Life: 600,
|
||||||
|
MaxFails: 100,
|
||||||
|
FailBlockTimeout: 3600,
|
||||||
|
Scope: FirewallScopeServer,
|
||||||
|
FailBlockScopeAll: true,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
package firewallconfigs
|
package firewallconfigs
|
||||||
|
|
||||||
type HTTPFirewallPost307Action struct {
|
type HTTPFirewallPost307Action struct {
|
||||||
|
IsPrior bool `yaml:"isPrior" json:"isPrior"`
|
||||||
|
|
||||||
Life int32 `yaml:"life" json:"life"`
|
Life int32 `yaml:"life" json:"life"`
|
||||||
Scope FirewallScope `yaml:"scope" json:"scope"`
|
Scope FirewallScope `yaml:"scope" json:"scope"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ type HTTPFirewallPageAction struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func DefaultHTTPFirewallPageAction() *HTTPFirewallPageAction {
|
func NewHTTPFirewallPageAction() *HTTPFirewallPageAction {
|
||||||
return &HTTPFirewallPageAction{
|
return &HTTPFirewallPageAction{
|
||||||
Status: http.StatusForbidden,
|
Status: http.StatusForbidden,
|
||||||
Body: `<!DOCTYPE html>
|
Body: `<!DOCTYPE html>
|
||||||
|
|||||||
@@ -6,16 +6,20 @@ const DefaultMaxRequestBodySize int64 = 256 << 10
|
|||||||
|
|
||||||
// HTTPFirewallPolicy 防火墙策略
|
// HTTPFirewallPolicy 防火墙策略
|
||||||
type HTTPFirewallPolicy struct {
|
type HTTPFirewallPolicy struct {
|
||||||
Id int64 `yaml:"id" json:"id"`
|
Id int64 `yaml:"id" json:"id"`
|
||||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||||
ServerId int64 `yaml:"serverId" json:"serverId"` // 所属网站ID
|
ServerId int64 `yaml:"serverId" json:"serverId"` // 所属网站ID
|
||||||
Name string `yaml:"name" json:"name"`
|
Name string `yaml:"name" json:"name"`
|
||||||
Description string `yaml:"description" json:"description"`
|
Description string `yaml:"description" json:"description"`
|
||||||
Inbound *HTTPFirewallInboundConfig `yaml:"inbound" json:"inbound"`
|
Inbound *HTTPFirewallInboundConfig `yaml:"inbound" json:"inbound"`
|
||||||
Outbound *HTTPFirewallOutboundConfig `yaml:"outbound" json:"outbound"`
|
Outbound *HTTPFirewallOutboundConfig `yaml:"outbound" json:"outbound"`
|
||||||
BlockOptions *HTTPFirewallBlockAction `yaml:"blockOptions" json:"blockOptions"`
|
BlockOptions *HTTPFirewallBlockAction `yaml:"blockOptions" json:"blockOptions"`
|
||||||
CaptchaOptions *HTTPFirewallCaptchaAction `yaml:"captchaOptions" json:"captchaOptions"`
|
CaptchaOptions *HTTPFirewallCaptchaAction `yaml:"captchaOptions" json:"captchaOptions"`
|
||||||
PageOptions *HTTPFirewallPageAction `yaml:"pageOptions" json:"pageOptions"`
|
PageOptions *HTTPFirewallPageAction `yaml:"pageOptions" json:"pageOptions"`
|
||||||
|
Get302Options *HTTPFirewallGet302Action `yaml:"get302Options" json:"get302Options"`
|
||||||
|
Post307Options *HTTPFirewallPost307Action `yaml:"post307Options" json:"post307Options"`
|
||||||
|
JSCookieOptions *HTTPFirewallJavascriptCookieAction `yaml:"jsCookieOptions" json:"jsCookieOptions"`
|
||||||
|
|
||||||
Mode FirewallMode `yaml:"mode" json:"mode"`
|
Mode FirewallMode `yaml:"mode" json:"mode"`
|
||||||
UseLocalFirewall bool `yaml:"useLocalFirewall" json:"useLocalFirewall"`
|
UseLocalFirewall bool `yaml:"useLocalFirewall" json:"useLocalFirewall"`
|
||||||
SYNFlood *SYNFloodConfig `yaml:"synFlood" json:"synFlood"`
|
SYNFlood *SYNFloodConfig `yaml:"synFlood" json:"synFlood"`
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ type SYNFloodConfig struct {
|
|||||||
IgnoreLocal bool `yaml:"ignoreLocal" json:"ignoreLocal"` // 忽略本地IP
|
IgnoreLocal bool `yaml:"ignoreLocal" json:"ignoreLocal"` // 忽略本地IP
|
||||||
}
|
}
|
||||||
|
|
||||||
func DefaultSYNFloodConfig() *SYNFloodConfig {
|
func NewSYNFloodConfig() *SYNFloodConfig {
|
||||||
return &SYNFloodConfig{
|
return &SYNFloodConfig{
|
||||||
IsOn: false,
|
IsOn: false,
|
||||||
MinAttempts: 10,
|
MinAttempts: 10,
|
||||||
|
|||||||
@@ -59,6 +59,8 @@ type GlobalServerConfig struct {
|
|||||||
|
|
||||||
DomainAuditingIsOn bool `yaml:"domainAuditingIsOn" json:"domainAuditingIsOn"` // 域名是否需要审核
|
DomainAuditingIsOn bool `yaml:"domainAuditingIsOn" json:"domainAuditingIsOn"` // 域名是否需要审核
|
||||||
DomainAuditingPrompt string `yaml:"domainAuditingPrompt" json:"domainAuditingPrompt"` // 域名审核的提示
|
DomainAuditingPrompt string `yaml:"domainAuditingPrompt" json:"domainAuditingPrompt"` // 域名审核的提示
|
||||||
|
|
||||||
|
RequestOriginsWithEncodings bool `yaml:"requestOriginsWithEncodings" json:"requestOriginsWithEncodings"` // 使用使用压缩编码回源
|
||||||
} `yaml:"httpAll" json:"httpAll"` // HTTP统一配置
|
} `yaml:"httpAll" json:"httpAll"` // HTTP统一配置
|
||||||
|
|
||||||
TCPAll struct {
|
TCPAll struct {
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ func (this *HTTPCachePolicy) UpdateDiskDir(dir string, subDirs []*CacheDir) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var options = &HTTPFileCacheStorage{}
|
var options = NewHTTPFileCacheStorage()
|
||||||
err = json.Unmarshal(oldOptionsJSON, options)
|
err = json.Unmarshal(oldOptionsJSON, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -16,6 +16,14 @@ type HTTPFileCacheStorage struct {
|
|||||||
|
|
||||||
OpenFileCache *OpenFileCacheConfig `yaml:"openFileCache" json:"openFileCache"` // open file cache配置
|
OpenFileCache *OpenFileCacheConfig `yaml:"openFileCache" json:"openFileCache"` // open file cache配置
|
||||||
EnableSendfile bool `yaml:"enableSendFile" json:"enableSendfile"` // 是否启用Sendfile
|
EnableSendfile bool `yaml:"enableSendFile" json:"enableSendfile"` // 是否启用Sendfile
|
||||||
|
|
||||||
|
EnableMMAP bool `yaml:"enableMMAP" json:"enableMMAP"` // 是否启用MMAP
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewHTTPFileCacheStorage() *HTTPFileCacheStorage {
|
||||||
|
return &HTTPFileCacheStorage{
|
||||||
|
EnableMMAP: true,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HTTPFileCacheStorage) Init() error {
|
func (this *HTTPFileCacheStorage) Init() error {
|
||||||
|
|||||||
@@ -41,6 +41,9 @@ type HTTPCompressionConfig struct {
|
|||||||
Conds *shared.HTTPRequestCondsConfig `yaml:"conds" json:"conds"` // 匹配条件
|
Conds *shared.HTTPRequestCondsConfig `yaml:"conds" json:"conds"` // 匹配条件
|
||||||
EnablePartialContent bool `yaml:"enablePartialContent" json:"enablePartialContent"` // 支持PartialContent压缩
|
EnablePartialContent bool `yaml:"enablePartialContent" json:"enablePartialContent"` // 支持PartialContent压缩
|
||||||
|
|
||||||
|
OnlyURLPatterns []*shared.URLPattern `yaml:"onlyURLPatterns" json:"onlyURLPatterns"` // 仅限的URL
|
||||||
|
ExceptURLPatterns []*shared.URLPattern `yaml:"exceptURLPatterns" json:"exceptURLPatterns"` // 排除的URL
|
||||||
|
|
||||||
minLength int64
|
minLength int64
|
||||||
maxLength int64
|
maxLength int64
|
||||||
mimeTypeRules []*shared.MimeTypeRule
|
mimeTypeRules []*shared.MimeTypeRule
|
||||||
@@ -151,6 +154,21 @@ func (this *HTTPCompressionConfig) Init() error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// url patterns
|
||||||
|
for _, pattern := range this.ExceptURLPatterns {
|
||||||
|
err := pattern.Init()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, pattern := range this.OnlyURLPatterns {
|
||||||
|
err := pattern.Init()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,3 +297,26 @@ func (this *HTTPCompressionConfig) MatchAcceptEncoding(acceptEncodings string) (
|
|||||||
|
|
||||||
return "", "", false
|
return "", "", false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *HTTPCompressionConfig) MatchURL(url string) bool {
|
||||||
|
// except
|
||||||
|
if len(this.ExceptURLPatterns) > 0 {
|
||||||
|
for _, pattern := range this.ExceptURLPatterns {
|
||||||
|
if pattern.Match(url) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// only
|
||||||
|
if len(this.OnlyURLPatterns) > 0 {
|
||||||
|
for _, pattern := range this.OnlyURLPatterns {
|
||||||
|
if pattern.Match(url) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,17 +2,6 @@
|
|||||||
|
|
||||||
package serverconfigs
|
package serverconfigs
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"github.com/iwind/TeaGo/types"
|
|
||||||
"github.com/tdewolff/minify/v2"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
var httpPageOptimizationLimiter = make(chan bool, 64)
|
|
||||||
|
|
||||||
type HTTPPageOptimizationMimeType = string
|
type HTTPPageOptimizationMimeType = string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -21,6 +10,10 @@ const (
|
|||||||
HTTPPageOptimizationMimeTypeCSS HTTPPageOptimizationMimeType = "text/css"
|
HTTPPageOptimizationMimeTypeCSS HTTPPageOptimizationMimeType = "text/css"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type HTTPPageMinifier interface {
|
||||||
|
Bytes(mediaType string, data []byte) ([]byte, error)
|
||||||
|
}
|
||||||
|
|
||||||
type HTTPPageOptimizationConfig struct {
|
type HTTPPageOptimizationConfig struct {
|
||||||
IsPrior bool `yaml:"isPrior" json:"isPrior"`
|
IsPrior bool `yaml:"isPrior" json:"isPrior"`
|
||||||
|
|
||||||
@@ -28,8 +21,9 @@ type HTTPPageOptimizationConfig struct {
|
|||||||
Javascript *HTTPJavascriptOptimizationConfig `yaml:"javascript" json:"javascript"`
|
Javascript *HTTPJavascriptOptimizationConfig `yaml:"javascript" json:"javascript"`
|
||||||
CSS *HTTPCSSOptimizationConfig `yaml:"css" json:"css"`
|
CSS *HTTPCSSOptimizationConfig `yaml:"css" json:"css"`
|
||||||
|
|
||||||
isOn bool
|
isOn bool
|
||||||
minifyInstance *minify.M
|
|
||||||
|
minifyInstance HTTPPageMinifier
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewHTTPPageOptimizationConfig() *HTTPPageOptimizationConfig {
|
func NewHTTPPageOptimizationConfig() *HTTPPageOptimizationConfig {
|
||||||
@@ -44,11 +38,6 @@ func NewHTTPPageOptimizationConfig() *HTTPPageOptimizationConfig {
|
|||||||
func (this *HTTPPageOptimizationConfig) Init() error {
|
func (this *HTTPPageOptimizationConfig) Init() error {
|
||||||
this.isOn = this.CheckIsOn()
|
this.isOn = this.CheckIsOn()
|
||||||
|
|
||||||
if this.isOn {
|
|
||||||
// MUST NOT create instance for every config
|
|
||||||
this.minifyInstance = minify.New()
|
|
||||||
}
|
|
||||||
|
|
||||||
if this.HTML != nil {
|
if this.HTML != nil {
|
||||||
err := this.HTML.Init()
|
err := this.HTML.Init()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -56,8 +45,6 @@ func (this *HTTPPageOptimizationConfig) Init() error {
|
|||||||
}
|
}
|
||||||
if this.HTML.IsOn {
|
if this.HTML.IsOn {
|
||||||
this.isOn = true
|
this.isOn = true
|
||||||
this.minifyInstance.Add(HTTPPageOptimizationMimeTypeHTML, this.HTML.AsMinifier())
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if this.Javascript != nil {
|
if this.Javascript != nil {
|
||||||
@@ -67,7 +54,6 @@ func (this *HTTPPageOptimizationConfig) Init() error {
|
|||||||
}
|
}
|
||||||
if this.Javascript.IsOn {
|
if this.Javascript.IsOn {
|
||||||
this.isOn = true
|
this.isOn = true
|
||||||
this.minifyInstance.Add(HTTPPageOptimizationMimeTypeJavascript, this.Javascript.AsMinifier())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if this.CSS != nil {
|
if this.CSS != nil {
|
||||||
@@ -77,7 +63,6 @@ func (this *HTTPPageOptimizationConfig) Init() error {
|
|||||||
}
|
}
|
||||||
if this.CSS.IsOn {
|
if this.CSS.IsOn {
|
||||||
this.isOn = true
|
this.isOn = true
|
||||||
this.minifyInstance.Add(HTTPPageOptimizationMimeTypeCSS, this.CSS.AsMinifier())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,78 +79,10 @@ func (this *HTTPPageOptimizationConfig) CheckIsOn() bool {
|
|||||||
(this.CSS != nil && this.CSS.IsOn)
|
(this.CSS != nil && this.CSS.IsOn)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HTTPPageOptimizationConfig) FilterResponse(url string, resp *http.Response) error {
|
func (this *HTTPPageOptimizationConfig) InternalInstance() HTTPPageMinifier {
|
||||||
if !this.isOn || this.minifyInstance == nil {
|
return this.minifyInstance
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var contentType = resp.Header.Get("Content-Type")
|
|
||||||
if len(contentType) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate content length
|
|
||||||
if resp.ContentLength <= 0 || resp.ContentLength > (1<<20) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
contentType, _, _ = strings.Cut(contentType, ";")
|
|
||||||
var mimeType = ""
|
|
||||||
switch contentType {
|
|
||||||
case "text/html":
|
|
||||||
if this.HTML != nil && this.HTML.IsOn && this.HTML.MatchURL(url) {
|
|
||||||
mimeType = HTTPPageOptimizationMimeTypeHTML
|
|
||||||
}
|
|
||||||
case "text/javascript", "application/javascript":
|
|
||||||
if this.Javascript != nil && this.Javascript.IsOn && this.Javascript.MatchURL(url) {
|
|
||||||
mimeType = HTTPPageOptimizationMimeTypeJavascript
|
|
||||||
}
|
|
||||||
case "text/css":
|
|
||||||
if this.CSS != nil && this.CSS.IsOn && this.CSS.MatchURL(url) {
|
|
||||||
mimeType = HTTPPageOptimizationMimeTypeCSS
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(mimeType) == 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// concurrent limiter, to prevent memory overflow
|
|
||||||
select {
|
|
||||||
case httpPageOptimizationLimiter <- true:
|
|
||||||
defer func() {
|
|
||||||
<-httpPageOptimizationLimiter
|
|
||||||
}()
|
|
||||||
|
|
||||||
var contentLength int64
|
|
||||||
var err error
|
|
||||||
resp.Body, contentLength, err = this.minify(mimeType, resp.Body)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// fix resp.ContentLength and Content-Length header
|
|
||||||
resp.ContentLength = contentLength
|
|
||||||
resp.Header.Set("Content-Length", types.String(contentLength))
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HTTPPageOptimizationConfig) minify(mimeType HTTPPageOptimizationMimeType, rawReader io.ReadCloser) (newReader io.ReadCloser, newContentLength int64, err error) {
|
func (this *HTTPPageOptimizationConfig) SetInternalInstance(instance HTTPPageMinifier) {
|
||||||
|
this.minifyInstance = instance
|
||||||
var rawData []byte
|
|
||||||
rawData, err = io.ReadAll(rawReader)
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
resultData, err := this.minifyInstance.Bytes(mimeType, rawData)
|
|
||||||
if err != nil {
|
|
||||||
return io.NopCloser(bytes.NewReader(rawData)), int64(len(rawData)), nil // return rawData, and ignore error
|
|
||||||
}
|
|
||||||
|
|
||||||
return io.NopCloser(bytes.NewReader(resultData)), int64(len(resultData)), nil
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
package serverconfigs
|
package serverconfigs
|
||||||
|
|
||||||
import "github.com/tdewolff/minify/v2/css"
|
|
||||||
|
|
||||||
type HTTPCSSOptimizationConfig struct {
|
type HTTPCSSOptimizationConfig struct {
|
||||||
HTTPBaseOptimizationConfig
|
HTTPBaseOptimizationConfig
|
||||||
|
|
||||||
@@ -26,10 +24,3 @@ func (this *HTTPCSSOptimizationConfig) Init() error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HTTPCSSOptimizationConfig) AsMinifier() *css.Minifier {
|
|
||||||
return &css.Minifier{
|
|
||||||
KeepCSS2: this.KeepCSS2,
|
|
||||||
Precision: this.Precision,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,10 +2,6 @@
|
|||||||
|
|
||||||
package serverconfigs
|
package serverconfigs
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/tdewolff/minify/v2/html"
|
|
||||||
)
|
|
||||||
|
|
||||||
type HTTPHTMLOptimizationConfig struct {
|
type HTTPHTMLOptimizationConfig struct {
|
||||||
HTTPBaseOptimizationConfig
|
HTTPBaseOptimizationConfig
|
||||||
|
|
||||||
@@ -36,15 +32,3 @@ func (this *HTTPHTMLOptimizationConfig) Init() error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HTTPHTMLOptimizationConfig) AsMinifier() *html.Minifier {
|
|
||||||
return &html.Minifier{
|
|
||||||
KeepComments: this.KeepComments,
|
|
||||||
KeepConditionalComments: this.KeepConditionalComments,
|
|
||||||
KeepDefaultAttrVals: this.KeepDefaultAttrVals,
|
|
||||||
KeepDocumentTags: this.KeepDocumentTags,
|
|
||||||
KeepEndTags: this.KeepEndTags,
|
|
||||||
KeepQuotes: this.KeepQuotes,
|
|
||||||
KeepWhitespace: this.KeepWhitespace,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
package serverconfigs
|
package serverconfigs
|
||||||
|
|
||||||
import "github.com/tdewolff/minify/v2/js"
|
|
||||||
|
|
||||||
type HTTPJavascriptOptimizationConfig struct {
|
type HTTPJavascriptOptimizationConfig struct {
|
||||||
HTTPBaseOptimizationConfig
|
HTTPBaseOptimizationConfig
|
||||||
|
|
||||||
@@ -25,11 +23,3 @@ func (this *HTTPJavascriptOptimizationConfig) Init() error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HTTPJavascriptOptimizationConfig) AsMinifier() *js.Minifier {
|
|
||||||
return &js.Minifier{
|
|
||||||
Precision: this.Precision,
|
|
||||||
KeepVarNames: this.KeepVarNames,
|
|
||||||
Version: this.Version,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -320,6 +320,14 @@ func (this *HTTPWebConfig) Init(ctx context.Context) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// referers
|
||||||
|
if this.Referers != nil {
|
||||||
|
err := this.Referers.Init()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,10 +73,6 @@ func (this *NetworkAddressConfig) Init() error {
|
|||||||
|
|
||||||
// Addresses 所有的地址列表,不包括scheme
|
// Addresses 所有的地址列表,不包括scheme
|
||||||
func (this *NetworkAddressConfig) Addresses() []string {
|
func (this *NetworkAddressConfig) Addresses() []string {
|
||||||
if this.Protocol == ProtocolUnix {
|
|
||||||
return []string{this.Host}
|
|
||||||
}
|
|
||||||
|
|
||||||
result := []string{}
|
result := []string{}
|
||||||
for i := this.MinPort; i <= this.MaxPort; i++ {
|
for i := this.MinPort; i <= this.MaxPort; i++ {
|
||||||
host := this.Host
|
host := this.Host
|
||||||
@@ -87,10 +83,6 @@ func (this *NetworkAddressConfig) Addresses() []string {
|
|||||||
|
|
||||||
// FullAddresses 所有的地址列表,包含scheme
|
// FullAddresses 所有的地址列表,包含scheme
|
||||||
func (this *NetworkAddressConfig) FullAddresses() []string {
|
func (this *NetworkAddressConfig) FullAddresses() []string {
|
||||||
if this.Protocol == ProtocolUnix {
|
|
||||||
return []string{this.Protocol.String() + ":" + this.Host}
|
|
||||||
}
|
|
||||||
|
|
||||||
result := []string{}
|
result := []string{}
|
||||||
for i := this.MinPort; i <= this.MaxPort; i++ {
|
for i := this.MinPort; i <= this.MaxPort; i++ {
|
||||||
host := this.Host
|
host := this.Host
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ const (
|
|||||||
ProtocolHTTPS Protocol = "https"
|
ProtocolHTTPS Protocol = "https"
|
||||||
ProtocolTCP Protocol = "tcp"
|
ProtocolTCP Protocol = "tcp"
|
||||||
ProtocolTLS Protocol = "tls"
|
ProtocolTLS Protocol = "tls"
|
||||||
ProtocolUnix Protocol = "unix"
|
|
||||||
ProtocolUDP Protocol = "udp"
|
ProtocolUDP Protocol = "udp"
|
||||||
|
|
||||||
// 子协议
|
// 子协议
|
||||||
|
|
||||||
ProtocolHTTP4 Protocol = "http4"
|
ProtocolHTTP4 Protocol = "http4"
|
||||||
ProtocolHTTP6 Protocol = "http6"
|
ProtocolHTTP6 Protocol = "http6"
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func AllProtocols() []Protocol {
|
func AllProtocols() []Protocol {
|
||||||
return []Protocol{ProtocolHTTP, ProtocolHTTPS, ProtocolTCP, ProtocolTLS, ProtocolUnix, ProtocolUDP, ProtocolHTTP4, ProtocolHTTP6, ProtocolHTTPS4, ProtocolHTTPS6, ProtocolTCP4, ProtocolTCP6, ProtocolTLS4, ProtocolTLS6}
|
return []Protocol{ProtocolHTTP, ProtocolHTTPS, ProtocolTCP, ProtocolTLS, ProtocolUDP, ProtocolHTTP4, ProtocolHTTP6, ProtocolHTTPS4, ProtocolHTTPS6, ProtocolTCP4, ProtocolTCP6, ProtocolTLS4, ProtocolTLS6}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this Protocol) IsHTTPFamily() bool {
|
func (this Protocol) IsHTTPFamily() bool {
|
||||||
@@ -46,10 +46,6 @@ func (this Protocol) IsTLSFamily() bool {
|
|||||||
return this == ProtocolTLS || this == ProtocolTLS4 || this == ProtocolTLS6
|
return this == ProtocolTLS || this == ProtocolTLS4 || this == ProtocolTLS6
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this Protocol) IsUnixFamily() bool {
|
|
||||||
return this == ProtocolUnix
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this Protocol) IsUDPFamily() bool {
|
func (this Protocol) IsUDPFamily() bool {
|
||||||
return this == ProtocolUDP
|
return this == ProtocolUDP
|
||||||
}
|
}
|
||||||
@@ -69,8 +65,6 @@ func (this Protocol) Primary() Protocol {
|
|||||||
return ProtocolTCP
|
return ProtocolTCP
|
||||||
case ProtocolTLS, ProtocolTLS4, ProtocolTLS6:
|
case ProtocolTLS, ProtocolTLS4, ProtocolTLS6:
|
||||||
return ProtocolTLS
|
return ProtocolTLS
|
||||||
case ProtocolUnix:
|
|
||||||
return ProtocolUnix
|
|
||||||
case ProtocolUDP:
|
case ProtocolUDP:
|
||||||
return ProtocolUDP
|
return ProtocolUDP
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -17,6 +17,5 @@ func TestProtocol_IsHTTPFamily(t *testing.T) {
|
|||||||
a.IsTrue(ProtocolTCP.IsTCPFamily())
|
a.IsTrue(ProtocolTCP.IsTCPFamily())
|
||||||
a.IsTrue(ProtocolTCP.IsTCPFamily())
|
a.IsTrue(ProtocolTCP.IsTCPFamily())
|
||||||
a.IsTrue(ProtocolTCP6.IsTCPFamily())
|
a.IsTrue(ProtocolTCP6.IsTCPFamily())
|
||||||
a.IsTrue(ProtocolUnix.IsUnixFamily())
|
|
||||||
a.IsTrue(ProtocolUDP.IsUDPFamily())
|
a.IsTrue(ProtocolUDP.IsUDPFamily())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
package serverconfigs
|
|
||||||
|
|
||||||
import "encoding/json"
|
|
||||||
|
|
||||||
type UnixProtocolConfig struct {
|
|
||||||
BaseProtocol `yaml:",inline"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *UnixProtocolConfig) Init() error {
|
|
||||||
err := this.InitBase()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// 转换为JSON
|
|
||||||
func (this *UnixProtocolConfig) AsJSON() ([]byte, error) {
|
|
||||||
return json.Marshal(this)
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user