From 2f3981704e51987c777e63a750d251042001f107 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sat, 27 Jul 2024 13:29:26 +0800 Subject: [PATCH] v1.4.1 --- build/rpc.json | 18 +- cmd/langs/main.go | 13 +- cmd/proto-json/main.go | 11 +- go.mod | 24 +- go.sum | 37 +- pkg/configutils/copy_test.go | 3 +- pkg/configutils/domain.go | 3 +- pkg/configutils/domain_test.go | 3 +- pkg/configutils/ip_test.go | 5 +- pkg/configutils/match_test.go | 3 +- pkg/configutils/variable.go | 3 +- pkg/configutils/variable_test.go | 7 +- pkg/configutils/yaml.go | 3 +- pkg/dnsconfigs/dns_resolver.go | 2 +- pkg/errors/error.go | 3 +- pkg/iplibrary/default_ip_library.go | 2 +- pkg/iplibrary/default_ip_library_test.go | 2 +- pkg/iplibrary/encrypt.go | 2 +- pkg/iplibrary/ip_item.go | 2 +- pkg/iplibrary/meta.go | 2 +- pkg/iplibrary/meta_test.go | 2 +- pkg/iplibrary/parser.go | 2 +- pkg/iplibrary/parser_config.go | 2 +- pkg/iplibrary/parser_reader.go | 2 +- pkg/iplibrary/parser_reader_test.go | 2 +- pkg/iplibrary/parser_test.go | 5 +- pkg/iplibrary/reader.go | 5 +- pkg/iplibrary/reader_file.go | 4 +- pkg/iplibrary/reader_file_test.go | 7 +- pkg/iplibrary/reader_interface.go | 2 +- pkg/iplibrary/reader_result.go | 5 +- pkg/iplibrary/reader_test.go | 11 +- pkg/iplibrary/reader_v2.go | 2 +- pkg/iplibrary/template.go | 5 +- pkg/iplibrary/template_test.go | 5 +- pkg/iplibrary/updater.go | 7 +- pkg/iplibrary/updater_test.go | 9 +- pkg/iplibrary/version.go | 2 +- pkg/iplibrary/writer.go | 5 +- pkg/iplibrary/writer_file.go | 2 +- pkg/iplibrary/writer_file_test.go | 5 +- pkg/iplibrary/writer_interface.go | 2 +- pkg/iplibrary/writer_v2.go | 2 +- pkg/iplibrary/writer_v2_test.go | 7 +- pkg/iputils/cidr.go | 2 +- pkg/iputils/cidr_test.go | 5 +- pkg/iputils/ip.go | 2 +- pkg/iputils/ip_test.go | 9 +- pkg/langs/codes/codes.go | 1 + pkg/langs/lang.go | 5 +- pkg/langs/manager.go | 2 +- pkg/langs/manager_test.go | 7 +- pkg/langs/message.go | 2 +- pkg/langs/message_test.go | 2 +- pkg/langs/messages/messages_zh_cn.go | 1 + pkg/langs/utils.go | 7 +- pkg/langs/utils_test.go | 7 +- pkg/nodeconfigs/clock_config.go | 2 +- pkg/nodeconfigs/dns_resolver.go | 2 +- pkg/nodeconfigs/http3_policy.go | 2 +- pkg/nodeconfigs/http_cc_policy.go | 2 +- pkg/nodeconfigs/http_pages_policy.go | 2 +- pkg/nodeconfigs/networking_security_policy.go | 2 +- pkg/nodeconfigs/node_config.go | 12 +- pkg/nodeconfigs/node_config_test.go | 5 +- pkg/nodeconfigs/ssh_params.go | 2 +- pkg/nodeconfigs/timezones_test.go | 3 +- pkg/nodeconfigs/toa_config.go | 2 +- pkg/nodeconfigs/uam_policy.go | 2 +- pkg/rpc/dao/http_cache_policy_dao.go | 1 + pkg/rpc/dao/http_firewall_policy_dao.go | 1 + pkg/rpc/dao/http_firewall_rule_group_dao.go | 1 + pkg/rpc/dao/http_firewall_rule_set_dao.go | 1 + pkg/rpc/dao/http_web_dao.go | 1 + pkg/rpc/dao/ip_list_dao.go | 1 + pkg/rpc/dao/log_dao.go | 1 + pkg/rpc/dao/node_cluster_dao.go | 1 + pkg/rpc/dao/server_dao.go | 1 + pkg/rpc/errors/utils.go | 5 +- pkg/rpc/pb/model_node.pb.go | 36 +- pkg/rpc/pb/service_acme_task.pb.go | 209 ++-- pkg/rpc/pb/service_node.pb.go | 1089 +++++++++-------- pkg/rpc/pb/service_node_grpc.pb.go | 39 + pkg/rpc/protos/models/model_node.proto | 2 + pkg/rpc/protos/service_acme_task.proto | 1 + pkg/rpc/protos/service_node.proto | 11 +- pkg/serverconfigs/config_codes.go | 2 +- .../filter_base64_encode_test.go | 3 +- .../filterconfigs/filter_dec2hex.go | 1 + .../filterconfigs/filter_hex2dec.go | 3 +- .../filterconfigs/filter_hex2dec_test.go | 3 +- .../filterconfigs/filter_html_escape.go | 3 +- .../filterconfigs/filter_html_unescape.go | 3 +- .../filterconfigs/filter_sha1.go | 1 + .../filterconfigs/filter_sha256.go | 1 + .../filterconfigs/filter_unicode_decode.go | 3 +- .../filterconfigs/filter_unicode_encode.go | 3 +- .../firewallconfigs/captcha_types.go | 2 +- .../http_firewall_action_javascript_cookie.go | 2 +- .../http_firewall_checkpoints.go | 3 +- .../http_firewall_checkpoints_test.go | 5 +- .../http_firewall_page_action.go | 9 +- .../http_firewall_policy_log_config.go | 2 +- .../http_firewall_region_config.go | 71 +- .../http_firewall_region_config_test.go | 7 +- .../http_firewall_rule_operator_test.go | 3 +- .../http_firewall_template_test.go | 5 +- pkg/serverconfigs/follow_protocol_config.go | 2 +- pkg/serverconfigs/global_server_config.go | 2 +- pkg/serverconfigs/hls_config.go | 2 +- pkg/serverconfigs/hls_encrypting_config.go | 2 +- pkg/serverconfigs/http_access_log_ref_test.go | 3 +- pkg/serverconfigs/http_auth_method_base.go | 7 +- .../http_auth_method_basic_test.go | 5 +- .../http_auth_method_sub_request_test.go | 3 +- pkg/serverconfigs/http_cache_config.go | 1 + pkg/serverconfigs/http_cache_key_config.go | 2 +- pkg/serverconfigs/http_cache_policy.go | 3 +- pkg/serverconfigs/http_cache_policy_test.go | 3 +- pkg/serverconfigs/http_cache_ref.go | 5 +- pkg/serverconfigs/http_cc_config.go | 2 +- pkg/serverconfigs/http_common_headers.go | 2 +- pkg/serverconfigs/http_compression_config.go | 3 +- .../http_compression_config_test.go | 7 +- pkg/serverconfigs/http_fastcgi_config.go | 7 +- .../http_host_redirect_config.go | 11 +- pkg/serverconfigs/http_location_config.go | 3 +- pkg/serverconfigs/http_location_ref_test.go | 3 +- pkg/serverconfigs/http_page_config_test.go | 3 +- .../http_page_optimization_base.go | 5 +- .../http_page_optimization_config.go | 2 +- .../http_page_optimization_css.go | 2 +- .../http_page_optimization_html.go | 2 +- .../http_page_optimization_javascript.go | 2 +- .../http_remote_addr_config_test.go | 3 +- pkg/serverconfigs/http_rewrite_rule.go | 3 +- pkg/serverconfigs/http_rewrite_rule_test.go | 3 +- pkg/serverconfigs/http_root_config_test.go | 3 +- pkg/serverconfigs/http_web_config.go | 1 + pkg/serverconfigs/http_websocket_config.go | 3 +- pkg/serverconfigs/http_wildcard_status.go | 3 +- .../http_wildcard_status_test.go | 3 +- pkg/serverconfigs/image_webp_config.go | 3 +- pkg/serverconfigs/image_webp_config_test.go | 3 +- pkg/serverconfigs/metric_item_config.go | 3 +- pkg/serverconfigs/network_address_config.go | 7 +- pkg/serverconfigs/origin_config.go | 7 +- .../ossconfigs/oss_bucket_param.go | 2 +- pkg/serverconfigs/ossconfigs/oss_config.go | 2 +- pkg/serverconfigs/ossconfigs/oss_options.go | 4 +- pkg/serverconfigs/ossconfigs/oss_types.go | 2 +- pkg/serverconfigs/ossconfigs/oss_utils.go | 2 +- pkg/serverconfigs/protocol_https_config.go | 1 + pkg/serverconfigs/protocol_test.go | 3 +- pkg/serverconfigs/protocol_tls_config.go | 1 + pkg/serverconfigs/proxy_protocol_config.go | 1 + pkg/serverconfigs/referers_config.go | 2 +- pkg/serverconfigs/referers_config_test.go | 5 +- pkg/serverconfigs/regionconfigs/china.go | 2 +- pkg/serverconfigs/regionconfigs/china_test.go | 5 +- pkg/serverconfigs/reverse_proxy_config.go | 3 +- .../reverse_proxy_config_test.go | 5 +- .../schedulingconfigs/scheduling_hash.go | 3 +- .../schedulingconfigs/scheduling_hash_test.go | 3 +- .../schedulingconfigs/scheduling_random.go | 5 +- .../scheduling_round_robin.go | 3 +- .../schedulingconfigs/scheduling_sticky.go | 7 +- .../scheduling_sticky_test.go | 5 +- pkg/serverconfigs/script_config.go | 3 +- pkg/serverconfigs/server_address_group.go | 3 +- .../server_address_group_test.go | 5 +- pkg/serverconfigs/server_config.go | 3 +- pkg/serverconfigs/server_name_config.go | 3 +- pkg/serverconfigs/server_name_config_test.go | 3 +- .../shared/bit_size_capacity_test.go | 5 +- pkg/serverconfigs/shared/data_map.go | 4 +- pkg/serverconfigs/shared/data_map_test.go | 5 +- .../shared/http_cors_header_config.go | 2 +- .../shared/http_header_config.go | 3 +- .../shared/http_header_config_test.go | 3 +- .../shared/http_header_policy_test.go | 3 +- pkg/serverconfigs/shared/http_request_cond.go | 7 +- .../shared/http_request_cond_group_test.go | 3 +- .../shared/http_request_cond_test.go | 3 +- pkg/serverconfigs/shared/ip_range.go | 3 +- pkg/serverconfigs/shared/ip_range_test.go | 3 +- .../shared/mime_type_rule_test.go | 3 +- pkg/serverconfigs/shared/regexp_test.go | 3 +- pkg/serverconfigs/shared/request_call.go | 3 +- pkg/serverconfigs/shared/request_variables.go | 2 +- pkg/serverconfigs/shared/time_duration.go | 3 +- pkg/serverconfigs/shared/url_pattern.go | 2 +- pkg/serverconfigs/shared/url_pattern_test.go | 5 +- pkg/serverconfigs/sslconfigs/ssl_auth.go | 1 + .../sslconfigs/ssl_cert_config.go | 7 +- .../sslconfigs/ssl_cert_config_test.go | 3 +- pkg/serverconfigs/sslconfigs/ssl_hsts.go | 3 +- pkg/serverconfigs/sslconfigs/ssl_hsts_test.go | 3 +- pkg/serverconfigs/sslconfigs/ssl_policy.go | 3 +- .../sslconfigs/ssl_policy_test.go | 5 +- pkg/serverconfigs/user_agent_config.go | 5 +- pkg/serverconfigs/user_agent_config_test.go | 7 +- pkg/serverconfigs/vars/var_func.go | 5 +- pkg/serverconfigs/vars/var_func_test.go | 3 +- pkg/systemconfigs/bandwidth.go | 2 +- pkg/systemconfigs/theme_config.go | 2 +- pkg/systemconfigs/user_ui_config.go | 3 +- pkg/userconfigs/user_identity_constants.go | 2 +- pkg/userconfigs/user_modules.go | 2 +- pkg/userconfigs/user_ticket_config.go | 2 +- 210 files changed, 1290 insertions(+), 934 deletions(-) diff --git a/build/rpc.json b/build/rpc.json index 230131d..2290958 100644 --- a/build/rpc.json +++ b/build/rpc.json @@ -5854,6 +5854,17 @@ "admin" ], "isDeprecated": false + }, + { + "name": "updateNodeBypassMobile", + "requestMessageName": "UpdateNodeBypassMobile", + "responseMessageName": "RPCSuccess", + "code": "rpc updateNodeBypassMobile(UpdateNodeBypassMobile) returns (RPCSuccess);", + "doc": "修改节点是否过移动", + "roles": [ + "admin" + ], + "isDeprecated": false } ], "filename": "service_node.proto", @@ -21798,7 +21809,7 @@ }, { "name": "Node", - "code": "message Node {\n\tint64 id = 1;\n\tstring name = 2;\n\tbytes statusJSON = 3;\n\tstring installDir = 4;\n\tbool isInstalled = 5;\n\tstring code = 6;\n\tstring uniqueId = 7;\n\tstring secret = 8;\n\tint64 version = 9;\n\tint64 latestVersion = 10;\n\trepeated int64 connectedAPINodeIds = 11;\n\tint32 maxCPU = 12;\n\tbool isOn = 13;\n\tbool isUp = 14;\n\trepeated DNSRoute dnsRoutes = 15;\n\tbool isActive = 16;\n\tSizeCapacity maxCacheDiskCapacity = 17;\n\tSizeCapacity maxCacheMemoryCapacity = 18;\n\tstring cacheDiskDir = 19;\n\tbytes cacheDiskSubDirsJSON = 23;\n\tint32 level = 20;\n\trepeated string lnAddrs = 21; // Ln访问地址\n\tbool enableIPLists = 22;\n\tbytes apiNodeAddrsJSON = 24;\n\tstring offlineDay = 25; // 下线日期\n\tbool isBackupForCluster = 26; // 是否为集群备用节点\n\tbool isBackupForGroup = 27; // 是否为分组备用节点\n\n\tNodeCluster nodeCluster = 32; // 主集群\n\tNodeLogin nodeLogin = 33;\n\tNodeInstallStatus installStatus = 34;\n\trepeated NodeIPAddress ipAddresses = 35;\n\tNodeGroup nodeGroup = 36;\n\tNodeRegion nodeRegion = 37;\n\trepeated NodeCluster secondaryNodeClusters = 38; // 从集群\n}", + "code": "message Node {\n\tint64 id = 1;\n\tstring name = 2;\n\tbytes statusJSON = 3;\n\tstring installDir = 4;\n\tbool isInstalled = 5;\n\tstring code = 6;\n\tstring uniqueId = 7;\n\tstring secret = 8;\n\tint64 version = 9;\n\tint64 latestVersion = 10;\n\trepeated int64 connectedAPINodeIds = 11;\n\tint32 maxCPU = 12;\n\tbool isOn = 13;\n\tbool isUp = 14;\n\trepeated DNSRoute dnsRoutes = 15;\n\tbool isActive = 16;\n\tSizeCapacity maxCacheDiskCapacity = 17;\n\tSizeCapacity maxCacheMemoryCapacity = 18;\n\tstring cacheDiskDir = 19;\n\tbytes cacheDiskSubDirsJSON = 23;\n\tint32 level = 20;\n\trepeated string lnAddrs = 21; // Ln访问地址\n\tbool enableIPLists = 22;\n\tbytes apiNodeAddrsJSON = 24;\n\tstring offlineDay = 25; // 下线日期\n\tbool isBackupForCluster = 26; // 是否为集群备用节点\n\tbool isBackupForGroup = 27; // 是否为分组备用节点\n\n\tNodeCluster nodeCluster = 32; // 主集群\n\tNodeLogin nodeLogin = 33;\n\tNodeInstallStatus installStatus = 34;\n\trepeated NodeIPAddress ipAddresses = 35;\n\tNodeGroup nodeGroup = 36;\n\tNodeRegion nodeRegion = 37;\n\trepeated NodeCluster secondaryNodeClusters = 38; // 从集群\n\n\tint32 bypassMobile = 101;\n}", "doc": "" }, { @@ -23156,6 +23167,11 @@ "code": "message UpdateNodeActionRequest {\n\tint64 nodeActionId = 1; // 动作ID\n\tbytes condsJSON = 2;\n\tbytes actionJSON = 3;\n\tbytes durationJSON = 4; // 持续时间\n\tbool isOn = 5; // 是否启用\n}", "doc": "修改动作" }, + { + "name": "UpdateNodeBypassMobile", + "code": "message UpdateNodeBypassMobile{\n\tint64 nodeId = 1;\n\tint32 bypassMobile = 2;\n}", + "doc": "修改节点过移动" + }, { "name": "UpdateNodeCacheRequest", "code": "message UpdateNodeCacheRequest {\n\tint64 nodeId = 1; // 节点ID\n\tSizeCapacity maxCacheDiskCapacity = 2; // 磁盘容量限制\n\tSizeCapacity maxCacheMemoryCapacity = 3; // 内存容量限制\n\tstring cacheDiskDir = 4; // 磁盘缓存目录\n\tbytes cacheDiskSubDirsJSON = 5; // 磁盘缓存子目录\n}", diff --git a/cmd/langs/main.go b/cmd/langs/main.go index 7eee852..7c422ac 100644 --- a/cmd/langs/main.go +++ b/cmd/langs/main.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package main @@ -6,11 +6,6 @@ import ( "bytes" "encoding/json" "fmt" - "github.com/TeaOSLab/EdgeCommon/pkg/langs" - "github.com/iwind/TeaGo/Tea" - _ "github.com/iwind/TeaGo/bootstrap" - "github.com/iwind/TeaGo/lists" - "github.com/iwind/TeaGo/types" "go/format" "os" "path/filepath" @@ -18,6 +13,12 @@ import ( "sort" "strconv" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/langs" + "github.com/iwind/TeaGo/Tea" + _ "github.com/iwind/TeaGo/bootstrap" + "github.com/iwind/TeaGo/lists" + "github.com/iwind/TeaGo/types" ) func main() { diff --git a/cmd/proto-json/main.go b/cmd/proto-json/main.go index bfe97a2..de44dd0 100644 --- a/cmd/proto-json/main.go +++ b/cmd/proto-json/main.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package main @@ -7,15 +7,16 @@ import ( "encoding/json" "flag" "fmt" - "github.com/iwind/TeaGo/Tea" - _ "github.com/iwind/TeaGo/bootstrap" - "github.com/iwind/TeaGo/logs" - "github.com/iwind/TeaGo/types" "os" "path/filepath" "regexp" "sort" "strings" + + "github.com/iwind/TeaGo/Tea" + _ "github.com/iwind/TeaGo/bootstrap" + "github.com/iwind/TeaGo/logs" + "github.com/iwind/TeaGo/types" ) type ServiceInfo struct { diff --git a/go.mod b/go.mod index 2cd1b40..7268274 100644 --- a/go.mod +++ b/go.mod @@ -1,19 +1,25 @@ module github.com/TeaOSLab/EdgeCommon -go 1.21 +go 1.22 require ( - github.com/iwind/TeaGo v0.0.0-20230623080147-cd1e53b4915f - golang.org/x/net v0.24.0 - google.golang.org/grpc v1.62.0 + github.com/hashicorp/go-set v0.1.14 + github.com/iwind/TeaGo v0.0.0-20240508072741-7647e70b7070 + github.com/miekg/dns v1.1.61 + golang.org/x/net v0.26.0 + google.golang.org/grpc v1.63.2 google.golang.org/protobuf v1.33.0 gopkg.in/yaml.v3 v3.0.1 ) require ( - github.com/golang/protobuf v1.5.3 // indirect - github.com/kr/text v0.2.0 // indirect - golang.org/x/sys v0.19.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + golang.org/x/mod v0.18.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.22.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) diff --git a/go.sum b/go.sum index 00c170d..66ef146 100644 --- a/go.sum +++ b/go.sum @@ -1,38 +1,19 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= 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/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/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/iwind/TeaGo v0.0.0-20240508072741-7647e70b7070 h1:0YHZBcuXYbvtQ0XfEdtzr/XybiMrwD8vV1lvgAwzUW4= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= -google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= -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.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be h1:LG9vZxsWGOmUKieR8wPAUR3u3MpnYFQZROPIMaXh7/A= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= 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 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/pkg/configutils/copy_test.go b/pkg/configutils/copy_test.go index 549e26a..7da14bf 100644 --- a/pkg/configutils/copy_test.go +++ b/pkg/configutils/copy_test.go @@ -1,8 +1,9 @@ package configutils import ( - "github.com/iwind/TeaGo/logs" "testing" + + "github.com/iwind/TeaGo/logs" ) func TestCopyStructObject(t *testing.T) { diff --git a/pkg/configutils/domain.go b/pkg/configutils/domain.go index f026203..7c5010d 100644 --- a/pkg/configutils/domain.go +++ b/pkg/configutils/domain.go @@ -1,9 +1,10 @@ package configutils import ( + "strings" + "github.com/iwind/TeaGo/logs" "github.com/iwind/TeaGo/utils/string" - "strings" ) // MatchDomains 从一组规则中匹配域名 diff --git a/pkg/configutils/domain_test.go b/pkg/configutils/domain_test.go index d34b77d..f7d93bf 100644 --- a/pkg/configutils/domain_test.go +++ b/pkg/configutils/domain_test.go @@ -1,8 +1,9 @@ package configutils import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestMatchDomain(t *testing.T) { diff --git a/pkg/configutils/ip_test.go b/pkg/configutils/ip_test.go index fff97ab..fd2db4e 100644 --- a/pkg/configutils/ip_test.go +++ b/pkg/configutils/ip_test.go @@ -3,10 +3,11 @@ package configutils_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" - "github.com/iwind/TeaGo/assert" "net" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" + "github.com/iwind/TeaGo/assert" ) func TestIsIPv4(t *testing.T) { diff --git a/pkg/configutils/match_test.go b/pkg/configutils/match_test.go index 26c4507..62752f9 100644 --- a/pkg/configutils/match_test.go +++ b/pkg/configutils/match_test.go @@ -1,8 +1,9 @@ package configutils import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestMatchKeyword(t *testing.T) { diff --git a/pkg/configutils/variable.go b/pkg/configutils/variable.go index ade4b37..4c44470 100644 --- a/pkg/configutils/variable.go +++ b/pkg/configutils/variable.go @@ -5,12 +5,13 @@ import ( "crypto/sha256" "encoding/base64" "fmt" - stringutil "github.com/iwind/TeaGo/utils/string" "net/url" "regexp" "strconv" "strings" "sync" + + stringutil "github.com/iwind/TeaGo/utils/string" ) // VariableHolder 变量信息存储类型 diff --git a/pkg/configutils/variable_test.go b/pkg/configutils/variable_test.go index 0d44998..299040d 100644 --- a/pkg/configutils/variable_test.go +++ b/pkg/configutils/variable_test.go @@ -1,12 +1,13 @@ package configutils_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" - "github.com/iwind/TeaGo/assert" - "github.com/iwind/TeaGo/types" "runtime" "strconv" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" + "github.com/iwind/TeaGo/assert" + "github.com/iwind/TeaGo/types" ) func TestParseVariables(t *testing.T) { diff --git a/pkg/configutils/yaml.go b/pkg/configutils/yaml.go index 4fb05ea..6cfd531 100644 --- a/pkg/configutils/yaml.go +++ b/pkg/configutils/yaml.go @@ -1,8 +1,9 @@ package configutils import ( - "gopkg.in/yaml.v3" "os" + + "gopkg.in/yaml.v3" ) func UnmarshalYamlFile(file string, ptr interface{}) error { diff --git a/pkg/dnsconfigs/dns_resolver.go b/pkg/dnsconfigs/dns_resolver.go index 7485c8c..8473c38 100644 --- a/pkg/dnsconfigs/dns_resolver.go +++ b/pkg/dnsconfigs/dns_resolver.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package dnsconfigs diff --git a/pkg/errors/error.go b/pkg/errors/error.go index 0c9304f..1b060df 100644 --- a/pkg/errors/error.go +++ b/pkg/errors/error.go @@ -2,10 +2,11 @@ package errors import ( "errors" - "github.com/iwind/TeaGo/Tea" "path/filepath" "runtime" "strconv" + + "github.com/iwind/TeaGo/Tea" ) type errorObj struct { diff --git a/pkg/iplibrary/default_ip_library.go b/pkg/iplibrary/default_ip_library.go index 6d227f4..540e002 100644 --- a/pkg/iplibrary/default_ip_library.go +++ b/pkg/iplibrary/default_ip_library.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/default_ip_library_test.go b/pkg/iplibrary/default_ip_library_test.go index ef3b701..15ff905 100644 --- a/pkg/iplibrary/default_ip_library_test.go +++ b/pkg/iplibrary/default_ip_library_test.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test diff --git a/pkg/iplibrary/encrypt.go b/pkg/iplibrary/encrypt.go index 17ade9b..683a5ff 100644 --- a/pkg/iplibrary/encrypt.go +++ b/pkg/iplibrary/encrypt.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/ip_item.go b/pkg/iplibrary/ip_item.go index 521cec0..2a3fe77 100644 --- a/pkg/iplibrary/ip_item.go +++ b/pkg/iplibrary/ip_item.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/meta.go b/pkg/iplibrary/meta.go index c8731b6..4fedacc 100644 --- a/pkg/iplibrary/meta.go +++ b/pkg/iplibrary/meta.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/meta_test.go b/pkg/iplibrary/meta_test.go index 0c7dab9..4063fed 100644 --- a/pkg/iplibrary/meta_test.go +++ b/pkg/iplibrary/meta_test.go @@ -1,3 +1,3 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test diff --git a/pkg/iplibrary/parser.go b/pkg/iplibrary/parser.go index ed43953..3dfb2c8 100644 --- a/pkg/iplibrary/parser.go +++ b/pkg/iplibrary/parser.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/parser_config.go b/pkg/iplibrary/parser_config.go index 99930ee..53a46b7 100644 --- a/pkg/iplibrary/parser_config.go +++ b/pkg/iplibrary/parser_config.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/parser_reader.go b/pkg/iplibrary/parser_reader.go index 6acc092..57eba30 100644 --- a/pkg/iplibrary/parser_reader.go +++ b/pkg/iplibrary/parser_reader.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/parser_reader_test.go b/pkg/iplibrary/parser_reader_test.go index 6853c49..d7c9d91 100644 --- a/pkg/iplibrary/parser_reader_test.go +++ b/pkg/iplibrary/parser_reader_test.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test diff --git a/pkg/iplibrary/parser_test.go b/pkg/iplibrary/parser_test.go index 620e56a..9a09ff5 100644 --- a/pkg/iplibrary/parser_test.go +++ b/pkg/iplibrary/parser_test.go @@ -1,10 +1,11 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" ) func TestNewParser(t *testing.T) { diff --git a/pkg/iplibrary/reader.go b/pkg/iplibrary/reader.go index 9d6d010..7aa505c 100644 --- a/pkg/iplibrary/reader.go +++ b/pkg/iplibrary/reader.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary @@ -7,7 +7,6 @@ import ( "encoding/binary" "encoding/json" "errors" - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "io" "math/big" "net" @@ -15,6 +14,8 @@ import ( "sort" "strconv" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" ) // Reader IP库Reader diff --git a/pkg/iplibrary/reader_file.go b/pkg/iplibrary/reader_file.go index 59010c1..e350f4c 100644 --- a/pkg/iplibrary/reader_file.go +++ b/pkg/iplibrary/reader_file.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary @@ -15,7 +15,7 @@ import ( type FileReader struct { rawReader ReaderInterface - //password string + // password string } func NewFileReader(path string, password string) (*FileReader, error) { diff --git a/pkg/iplibrary/reader_file_test.go b/pkg/iplibrary/reader_file_test.go index e0c97a3..28e3ad9 100644 --- a/pkg/iplibrary/reader_file_test.go +++ b/pkg/iplibrary/reader_file_test.go @@ -1,14 +1,15 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test import ( "encoding/json" + "net" + "testing" + "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" "github.com/iwind/TeaGo/maps" stringutil "github.com/iwind/TeaGo/utils/string" - "net" - "testing" ) func TestNewFileReader(t *testing.T) { diff --git a/pkg/iplibrary/reader_interface.go b/pkg/iplibrary/reader_interface.go index ff2c560..d835ab4 100644 --- a/pkg/iplibrary/reader_interface.go +++ b/pkg/iplibrary/reader_interface.go @@ -1,4 +1,4 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/reader_result.go b/pkg/iplibrary/reader_result.go index 7dd3046..51419c2 100644 --- a/pkg/iplibrary/reader_result.go +++ b/pkg/iplibrary/reader_result.go @@ -1,10 +1,11 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary import ( - "github.com/iwind/TeaGo/lists" "strings" + + "github.com/iwind/TeaGo/lists" ) type QueryResult struct { diff --git a/pkg/iplibrary/reader_test.go b/pkg/iplibrary/reader_test.go index baa848b..bc551c1 100644 --- a/pkg/iplibrary/reader_test.go +++ b/pkg/iplibrary/reader_test.go @@ -1,17 +1,18 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test import ( "bytes" - "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" - "github.com/iwind/TeaGo/rands" - "github.com/iwind/TeaGo/types" - timeutil "github.com/iwind/TeaGo/utils/time" "net" "runtime" "testing" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" + "github.com/iwind/TeaGo/rands" + "github.com/iwind/TeaGo/types" + timeutil "github.com/iwind/TeaGo/utils/time" ) func TestNewReader(t *testing.T) { diff --git a/pkg/iplibrary/reader_v2.go b/pkg/iplibrary/reader_v2.go index 2b2f0bd..3034d31 100644 --- a/pkg/iplibrary/reader_v2.go +++ b/pkg/iplibrary/reader_v2.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/template.go b/pkg/iplibrary/template.go index 7083811..44c2630 100644 --- a/pkg/iplibrary/template.go +++ b/pkg/iplibrary/template.go @@ -1,10 +1,11 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary import ( - "github.com/iwind/TeaGo/lists" "regexp" + + "github.com/iwind/TeaGo/lists" ) type Template struct { diff --git a/pkg/iplibrary/template_test.go b/pkg/iplibrary/template_test.go index 29bd007..6d21da6 100644 --- a/pkg/iplibrary/template_test.go +++ b/pkg/iplibrary/template_test.go @@ -1,10 +1,11 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" ) func TestNewTemplate(t *testing.T) { diff --git a/pkg/iplibrary/updater.go b/pkg/iplibrary/updater.go index 7195315..e3bf0ca 100644 --- a/pkg/iplibrary/updater.go +++ b/pkg/iplibrary/updater.go @@ -1,16 +1,17 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary import ( "errors" "fmt" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" "io" "os" "strings" "time" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" ) type UpdaterSource interface { diff --git a/pkg/iplibrary/updater_test.go b/pkg/iplibrary/updater_test.go index ccce4b9..729f617 100644 --- a/pkg/iplibrary/updater_test.go +++ b/pkg/iplibrary/updater_test.go @@ -1,14 +1,15 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" - "github.com/iwind/TeaGo/Tea" - _ "github.com/iwind/TeaGo/bootstrap" "io" "testing" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" + "github.com/iwind/TeaGo/Tea" + _ "github.com/iwind/TeaGo/bootstrap" ) type updaterSource struct { diff --git a/pkg/iplibrary/version.go b/pkg/iplibrary/version.go index d61b148..99e53c6 100644 --- a/pkg/iplibrary/version.go +++ b/pkg/iplibrary/version.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/writer.go b/pkg/iplibrary/writer.go index 5684519..1d031ba 100644 --- a/pkg/iplibrary/writer.go +++ b/pkg/iplibrary/writer.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary @@ -6,13 +6,14 @@ import ( "encoding/binary" "encoding/json" "errors" - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "io" "math/big" "net" "strconv" "strings" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" ) type WriterV1 struct { diff --git a/pkg/iplibrary/writer_file.go b/pkg/iplibrary/writer_file.go index bcdbf97..2a344a2 100644 --- a/pkg/iplibrary/writer_file.go +++ b/pkg/iplibrary/writer_file.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/writer_file_test.go b/pkg/iplibrary/writer_file_test.go index 2a454cc..9a2c38f 100644 --- a/pkg/iplibrary/writer_file_test.go +++ b/pkg/iplibrary/writer_file_test.go @@ -1,13 +1,14 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test import ( + "testing" + "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" "github.com/iwind/TeaGo/rands" "github.com/iwind/TeaGo/types" stringutil "github.com/iwind/TeaGo/utils/string" - "testing" ) func TestNewFileWriter(t *testing.T) { diff --git a/pkg/iplibrary/writer_interface.go b/pkg/iplibrary/writer_interface.go index a23b1e2..0637b03 100644 --- a/pkg/iplibrary/writer_interface.go +++ b/pkg/iplibrary/writer_interface.go @@ -1,4 +1,4 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/writer_v2.go b/pkg/iplibrary/writer_v2.go index 0e1a51d..74cef82 100644 --- a/pkg/iplibrary/writer_v2.go +++ b/pkg/iplibrary/writer_v2.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary diff --git a/pkg/iplibrary/writer_v2_test.go b/pkg/iplibrary/writer_v2_test.go index 162b213..dc14d1d 100644 --- a/pkg/iplibrary/writer_v2_test.go +++ b/pkg/iplibrary/writer_v2_test.go @@ -1,16 +1,17 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iplibrary_test import ( "bytes" + "testing" + "github.com/TeaOSLab/EdgeCommon/pkg/iplibrary" "github.com/iwind/TeaGo/logs" - "testing" ) func TestNewWriter(t *testing.T) { - //write + // write var buf = &bytes.Buffer{} var writer = iplibrary.NewWriterV1(buf, &iplibrary.Meta{ Author: "GoEdge ", diff --git a/pkg/iputils/cidr.go b/pkg/iputils/cidr.go index 9948d74..c1cfaee 100644 --- a/pkg/iputils/cidr.go +++ b/pkg/iputils/cidr.go @@ -1,4 +1,4 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iputils diff --git a/pkg/iputils/cidr_test.go b/pkg/iputils/cidr_test.go index 68459af..60c857f 100644 --- a/pkg/iputils/cidr_test.go +++ b/pkg/iputils/cidr_test.go @@ -1,10 +1,11 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iputils_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/iputils" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/iputils" ) func TestParseCIDR(t *testing.T) { diff --git a/pkg/iputils/ip.go b/pkg/iputils/ip.go index a2e762f..be11847 100644 --- a/pkg/iputils/ip.go +++ b/pkg/iputils/ip.go @@ -1,4 +1,4 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iputils diff --git a/pkg/iputils/ip_test.go b/pkg/iputils/ip_test.go index 71386c5..d261091 100644 --- a/pkg/iputils/ip_test.go +++ b/pkg/iputils/ip_test.go @@ -1,12 +1,13 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package iputils_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/iputils" - "github.com/iwind/TeaGo/assert" "runtime" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/iputils" + "github.com/iwind/TeaGo/assert" ) func TestIP_ParseIP(t *testing.T) { @@ -198,7 +199,7 @@ func TestIP_Memory(t *testing.T) { list = append(list, iputils.ParseIP("fd00:6868:6868:0:10ac:d056:3bf6:7452")) } - //runtime.GC() + // runtime.GC() var stat2 = &runtime.MemStats{} runtime.ReadMemStats(stat2) diff --git a/pkg/langs/codes/codes.go b/pkg/langs/codes/codes.go index e5c4e03..ab252ca 100644 --- a/pkg/langs/codes/codes.go +++ b/pkg/langs/codes/codes.go @@ -710,6 +710,7 @@ const ( WAF_LogDeleteIPFromWAFPolicy langs.MessageCode = "waf@log_delete_ip_from_waf_policy" // 从WAF策略 %d 名单中删除IP %d WAF_LogUpdateForbiddenCountries langs.MessageCode = "waf@log_update_forbidden_countries" // WAF策略 %d 设置禁止访问的国家和地区 WAF_LogUpdateForbiddenProvinces langs.MessageCode = "waf@log_update_forbidden_provinces" // WAF策略 %d 设置禁止访问的省份 + WAF_LogUpdateForbiddenProviders langs.MessageCode = "waf@log_update_forbidden_providers" // WAF策略 %d 设置禁止访问的运营商 WAF_LogUpdateIPFromWAFPolicy langs.MessageCode = "waf@log_update_ip_from_waf_policy" // 修改WAF策略 %d 名单中的IP %d WAFAction_LogCreateWAFAction langs.MessageCode = "waf_action@log_create_waf_action" // 创建集群 %d 的WAF动作 WAFAction_LogDeleteWAFAction langs.MessageCode = "waf_action@log_delete_waf_action" // 删除WAF动作 %d diff --git a/pkg/langs/lang.go b/pkg/langs/lang.go index 5bec997..5f20f02 100644 --- a/pkg/langs/lang.go +++ b/pkg/langs/lang.go @@ -1,12 +1,13 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package langs import ( "errors" "fmt" - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" ) const varPrefix = "lang." diff --git a/pkg/langs/manager.go b/pkg/langs/manager.go index f622be3..eee8eed 100644 --- a/pkg/langs/manager.go +++ b/pkg/langs/manager.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package langs diff --git a/pkg/langs/manager_test.go b/pkg/langs/manager_test.go index 9b0f1cd..8de866d 100644 --- a/pkg/langs/manager_test.go +++ b/pkg/langs/manager_test.go @@ -1,10 +1,11 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package langs_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/langs" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/langs" ) func TestManager_GetMessage(t *testing.T) { @@ -30,7 +31,7 @@ func TestManager_MatchLang(t *testing.T) { manager.AddLang("en") manager.AddLang("zh-cn") manager.AddLang("zh-hk") - //manager.AddLang("zh-tw") + // manager.AddLang("zh-tw") for _, code := range []string{ "en", diff --git a/pkg/langs/message.go b/pkg/langs/message.go index f191e89..2fc0eb0 100644 --- a/pkg/langs/message.go +++ b/pkg/langs/message.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package langs diff --git a/pkg/langs/message_test.go b/pkg/langs/message_test.go index 79c9d2f..66f6251 100644 --- a/pkg/langs/message_test.go +++ b/pkg/langs/message_test.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package langs diff --git a/pkg/langs/messages/messages_zh_cn.go b/pkg/langs/messages/messages_zh_cn.go index b1febd3..59bd462 100644 --- a/pkg/langs/messages/messages_zh_cn.go +++ b/pkg/langs/messages/messages_zh_cn.go @@ -711,6 +711,7 @@ func init() { "waf@log_delete_ip_from_waf_policy": "从WAF策略 %d 名单中删除IP %d", "waf@log_update_forbidden_countries": "WAF策略 %d 设置禁止访问的国家和地区", "waf@log_update_forbidden_provinces": "WAF策略 %d 设置禁止访问的省份", + "waf@log_update_forbidden_providers": "WAF策略 %d 设置禁止访问的运营商", "waf@log_update_ip_from_waf_policy": "修改WAF策略 %d 名单中的IP %d", "waf_action@log_create_waf_action": "创建集群 %d 的WAF动作", "waf_action@log_delete_waf_action": "删除WAF动作 %d", diff --git a/pkg/langs/utils.go b/pkg/langs/utils.go index b12e29d..6a9e042 100644 --- a/pkg/langs/utils.go +++ b/pkg/langs/utils.go @@ -1,12 +1,13 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package langs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" - "github.com/iwind/TeaGo/actions" "net/http" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" + "github.com/iwind/TeaGo/actions" ) // Message 读取消息 diff --git a/pkg/langs/utils_test.go b/pkg/langs/utils_test.go index b7b0e20..f370e01 100644 --- a/pkg/langs/utils_test.go +++ b/pkg/langs/utils_test.go @@ -1,10 +1,11 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package langs_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/langs" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/langs" ) func TestMessage(t *testing.T) { @@ -19,7 +20,7 @@ func TestMessageVariable(t *testing.T) { lang.Set("user2", "${lang.user}") lang.Set("user_name", "Name: ${lang.user}") lang.Set("user_name3", "Name: ${lang.user3}, ${user4}") - //lang.Set("user3", "") + // lang.Set("user3", "") err := lang.Compile() if err != nil { diff --git a/pkg/nodeconfigs/clock_config.go b/pkg/nodeconfigs/clock_config.go index 96c9d7b..234dd76 100644 --- a/pkg/nodeconfigs/clock_config.go +++ b/pkg/nodeconfigs/clock_config.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package nodeconfigs diff --git a/pkg/nodeconfigs/dns_resolver.go b/pkg/nodeconfigs/dns_resolver.go index a1d6027..bb680fc 100644 --- a/pkg/nodeconfigs/dns_resolver.go +++ b/pkg/nodeconfigs/dns_resolver.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package nodeconfigs diff --git a/pkg/nodeconfigs/http3_policy.go b/pkg/nodeconfigs/http3_policy.go index 4da66ea..65b9aa7 100644 --- a/pkg/nodeconfigs/http3_policy.go +++ b/pkg/nodeconfigs/http3_policy.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package nodeconfigs diff --git a/pkg/nodeconfigs/http_cc_policy.go b/pkg/nodeconfigs/http_cc_policy.go index ec70f2e..692e735 100644 --- a/pkg/nodeconfigs/http_cc_policy.go +++ b/pkg/nodeconfigs/http_cc_policy.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . //go:build !plus package nodeconfigs diff --git a/pkg/nodeconfigs/http_pages_policy.go b/pkg/nodeconfigs/http_pages_policy.go index 9f2deac..4201167 100644 --- a/pkg/nodeconfigs/http_pages_policy.go +++ b/pkg/nodeconfigs/http_pages_policy.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package nodeconfigs diff --git a/pkg/nodeconfigs/networking_security_policy.go b/pkg/nodeconfigs/networking_security_policy.go index 4989380..33e9abf 100644 --- a/pkg/nodeconfigs/networking_security_policy.go +++ b/pkg/nodeconfigs/networking_security_policy.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package nodeconfigs diff --git a/pkg/nodeconfigs/node_config.go b/pkg/nodeconfigs/node_config.go index 5a0f850..cd2549b 100644 --- a/pkg/nodeconfigs/node_config.go +++ b/pkg/nodeconfigs/node_config.go @@ -8,6 +8,12 @@ import ( "encoding/json" "errors" "fmt" + "os" + "reflect" + "strconv" + "strings" + "sync" + "github.com/TeaOSLab/EdgeCommon/pkg/nodeutils" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ddosconfigs" @@ -16,11 +22,6 @@ import ( "github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/lists" "github.com/iwind/TeaGo/maps" - "os" - "reflect" - "strconv" - "strings" - "sync" ) var sharedNodeConfig *NodeConfig = nil @@ -60,6 +61,7 @@ type NodeConfig struct { // 性能 MaxCPU int32 `yaml:"maxCPU" json:"maxCPU"` APINodeAddrs []*serverconfigs.NetworkAddressConfig `yaml:"apiNodeAddrs" json:"apiNodeAddrs"` + BypassMobile int32 `yaml:"bypassMobile" json:"bypassMobile"` // 是否过移动 CacheDiskDir string `yaml:"cacheDiskDir" json:"cacheDiskDir"` // 文件缓存目录 MaxCacheDiskCapacity *shared.SizeCapacity `yaml:"maxCacheDiskCapacity" json:"maxCacheDiskCapacity"` // 文件缓存容量 diff --git a/pkg/nodeconfigs/node_config_test.go b/pkg/nodeconfigs/node_config_test.go index 801021d..50e0b1e 100644 --- a/pkg/nodeconfigs/node_config_test.go +++ b/pkg/nodeconfigs/node_config_test.go @@ -1,11 +1,12 @@ package nodeconfigs import ( + "testing" + "time" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" _ "github.com/iwind/TeaGo/bootstrap" "github.com/iwind/TeaGo/logs" - "testing" - "time" ) func TestSharedNodeConfig(t *testing.T) { diff --git a/pkg/nodeconfigs/ssh_params.go b/pkg/nodeconfigs/ssh_params.go index aa71ee9..68f6da9 100644 --- a/pkg/nodeconfigs/ssh_params.go +++ b/pkg/nodeconfigs/ssh_params.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package nodeconfigs diff --git a/pkg/nodeconfigs/timezones_test.go b/pkg/nodeconfigs/timezones_test.go index 44e2239..8c60825 100644 --- a/pkg/nodeconfigs/timezones_test.go +++ b/pkg/nodeconfigs/timezones_test.go @@ -3,9 +3,10 @@ package nodeconfigs import ( - "github.com/iwind/TeaGo/logs" "testing" "time" + + "github.com/iwind/TeaGo/logs" ) func TestFindAllTimeZoneLocations(t *testing.T) { diff --git a/pkg/nodeconfigs/toa_config.go b/pkg/nodeconfigs/toa_config.go index 8f200fc..b9677e5 100644 --- a/pkg/nodeconfigs/toa_config.go +++ b/pkg/nodeconfigs/toa_config.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . //go:build !plus package nodeconfigs diff --git a/pkg/nodeconfigs/uam_policy.go b/pkg/nodeconfigs/uam_policy.go index 5ffd90e..a186c2e 100644 --- a/pkg/nodeconfigs/uam_policy.go +++ b/pkg/nodeconfigs/uam_policy.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . //go:build !plus package nodeconfigs diff --git a/pkg/rpc/dao/http_cache_policy_dao.go b/pkg/rpc/dao/http_cache_policy_dao.go index e5177ee..2efe3f1 100644 --- a/pkg/rpc/dao/http_cache_policy_dao.go +++ b/pkg/rpc/dao/http_cache_policy_dao.go @@ -3,6 +3,7 @@ package dao import ( "context" "encoding/json" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" ) diff --git a/pkg/rpc/dao/http_firewall_policy_dao.go b/pkg/rpc/dao/http_firewall_policy_dao.go index 2d69715..4ad460d 100644 --- a/pkg/rpc/dao/http_firewall_policy_dao.go +++ b/pkg/rpc/dao/http_firewall_policy_dao.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "errors" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ipconfigs" diff --git a/pkg/rpc/dao/http_firewall_rule_group_dao.go b/pkg/rpc/dao/http_firewall_rule_group_dao.go index fbcd076..51421a2 100644 --- a/pkg/rpc/dao/http_firewall_rule_group_dao.go +++ b/pkg/rpc/dao/http_firewall_rule_group_dao.go @@ -3,6 +3,7 @@ package dao import ( "context" "encoding/json" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" ) diff --git a/pkg/rpc/dao/http_firewall_rule_set_dao.go b/pkg/rpc/dao/http_firewall_rule_set_dao.go index 9a8d063..ccf8624 100644 --- a/pkg/rpc/dao/http_firewall_rule_set_dao.go +++ b/pkg/rpc/dao/http_firewall_rule_set_dao.go @@ -3,6 +3,7 @@ package dao import ( "context" "encoding/json" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" ) diff --git a/pkg/rpc/dao/http_web_dao.go b/pkg/rpc/dao/http_web_dao.go index 79ad781..83e1134 100644 --- a/pkg/rpc/dao/http_web_dao.go +++ b/pkg/rpc/dao/http_web_dao.go @@ -3,6 +3,7 @@ package dao import ( "context" "encoding/json" + "github.com/TeaOSLab/EdgeCommon/pkg/errors" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" diff --git a/pkg/rpc/dao/ip_list_dao.go b/pkg/rpc/dao/ip_list_dao.go index 92aad06..c9fa65c 100644 --- a/pkg/rpc/dao/ip_list_dao.go +++ b/pkg/rpc/dao/ip_list_dao.go @@ -3,6 +3,7 @@ package dao import ( "context" "encoding/json" + "github.com/TeaOSLab/EdgeCommon/pkg/errors" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" diff --git a/pkg/rpc/dao/log_dao.go b/pkg/rpc/dao/log_dao.go index 17e4e38..c4d7971 100644 --- a/pkg/rpc/dao/log_dao.go +++ b/pkg/rpc/dao/log_dao.go @@ -3,6 +3,7 @@ package dao import ( "context" "encoding/json" + "github.com/TeaOSLab/EdgeCommon/pkg/langs" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" ) diff --git a/pkg/rpc/dao/node_cluster_dao.go b/pkg/rpc/dao/node_cluster_dao.go index 924ddbf..d7e9c84 100644 --- a/pkg/rpc/dao/node_cluster_dao.go +++ b/pkg/rpc/dao/node_cluster_dao.go @@ -2,6 +2,7 @@ package dao import ( "context" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" ) diff --git a/pkg/rpc/dao/server_dao.go b/pkg/rpc/dao/server_dao.go index 4c2f9ea..0d1ce23 100644 --- a/pkg/rpc/dao/server_dao.go +++ b/pkg/rpc/dao/server_dao.go @@ -3,6 +3,7 @@ package dao import ( "context" "encoding/json" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" ) diff --git a/pkg/rpc/errors/utils.go b/pkg/rpc/errors/utils.go index fbfb1d8..28cba95 100644 --- a/pkg/rpc/errors/utils.go +++ b/pkg/rpc/errors/utils.go @@ -4,10 +4,11 @@ package errors import ( "fmt" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" "path/filepath" "strings" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" ) // HumanError 格式化GRPC相关错误 diff --git a/pkg/rpc/pb/model_node.pb.go b/pkg/rpc/pb/model_node.pb.go index 2b78663..17b4066 100644 --- a/pkg/rpc/pb/model_node.pb.go +++ b/pkg/rpc/pb/model_node.pb.go @@ -59,6 +59,7 @@ type Node struct { NodeGroup *NodeGroup `protobuf:"bytes,36,opt,name=nodeGroup,proto3" json:"nodeGroup,omitempty"` NodeRegion *NodeRegion `protobuf:"bytes,37,opt,name=nodeRegion,proto3" json:"nodeRegion,omitempty"` SecondaryNodeClusters []*NodeCluster `protobuf:"bytes,38,rep,name=secondaryNodeClusters,proto3" json:"secondaryNodeClusters,omitempty"` // 从集群 + BypassMobile int32 `protobuf:"varint,101,opt,name=bypassMobile,proto3" json:"bypassMobile,omitempty"` } func (x *Node) Reset() { @@ -331,6 +332,13 @@ func (x *Node) GetSecondaryNodeClusters() []*NodeCluster { return nil } +func (x *Node) GetBypassMobile() int32 { + if x != nil { + return x.BypassMobile + } + return 0 +} + type BasicNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -439,7 +447,7 @@ var file_models_model_node_proto_rawDesc = []byte{ 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, - 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x0a, 0x0a, 0x04, 0x4e, 0x6f, 0x64, + 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x0a, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 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, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, @@ -522,18 +530,20 @@ var file_models_model_node_proto_rawDesc = []byte{ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x15, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, - 0x6f, 0x64, 0x65, 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, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, - 0x73, 0x55, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x55, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 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, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x4d, + 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x79, 0x70, + 0x61, 0x73, 0x73, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x42, 0x61, + 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 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, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, + 0x73, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x69, 0x73, 0x55, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, + 0x73, 0x55, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 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 ( diff --git a/pkg/rpc/pb/service_acme_task.pb.go b/pkg/rpc/pb/service_acme_task.pb.go index 5facc77..cde7e90 100644 --- a/pkg/rpc/pb/service_acme_task.pb.go +++ b/pkg/rpc/pb/service_acme_task.pb.go @@ -385,6 +385,7 @@ type CreateACMETaskRequest struct { AutoRenew bool `protobuf:"varint,5,opt,name=autoRenew,proto3" json:"autoRenew,omitempty"` AuthType string `protobuf:"bytes,6,opt,name=authType,proto3" json:"authType,omitempty"` AuthURL string `protobuf:"bytes,7,opt,name=authURL,proto3" json:"authURL,omitempty"` + Async bool `protobuf:"varint,100,opt,name=async,proto3" json:"async,omitempty"` } func (x *CreateACMETaskRequest) Reset() { @@ -475,6 +476,13 @@ func (x *CreateACMETaskRequest) GetAuthURL() string { return "" } +func (x *CreateACMETaskRequest) GetAsync() bool { + if x != nil { + return x.Async + } + return false +} + type CreateACMETaskResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1024,7 +1032,7 @@ var file_service_acme_task_proto_rawDesc = []byte{ 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x09, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x81, 0x02, 0x0a, 0x15, + 0x52, 0x09, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x97, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, @@ -1040,109 +1048,110 @@ var file_service_acme_task_proto_rawDesc = []byte{ 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x22, - 0x38, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x12, + 0x14, 0x0a, 0x05, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x22, 0x38, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, + 0xed, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, + 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, - 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0xed, 0x01, 0x0a, 0x15, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6e, 0x73, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, - 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x22, 0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, - 0x49, 0x64, 0x22, 0x34, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, + 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, + 0x63, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6e, 0x73, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, + 0x65, 0x6e, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, + 0x52, 0x65, 0x6e, 0x65, 0x77, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x52, 0x4c, 0x22, + 0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, - 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x41, - 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 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, 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, - 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, - 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x22, 0x3c, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x43, 0x4d, 0x45, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x39, - 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, - 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x18, 0x46, 0x69, 0x6e, - 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x32, 0xd3, 0x06, 0x0a, 0x0f, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x26, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, - 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x41, 0x43, 0x4d, 0x45, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x41, 0x43, 0x4d, 0x45, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, + 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x41, + 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x5d, + 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 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, + 0x1c, 0x0a, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x49, 0x64, 0x22, 0x3c, 0x0a, + 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, + 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, + 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, + 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x61, 0x63, + 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, + 0x62, 0x2e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x61, 0x63, 0x6d, 0x65, + 0x54, 0x61, 0x73, 0x6b, 0x22, 0x39, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x43, 0x4d, 0x45, + 0x54, 0x61, 0x73, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x6d, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, + 0x38, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x32, 0xd3, 0x06, 0x0a, 0x0f, 0x41, 0x43, + 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, + 0x26, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x41, 0x43, 0x4d, + 0x45, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, + 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x41, 0x43, 0x4d, 0x45, 0x55, 0x73, 0x65, + 0x72, 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, 0x71, 0x0a, 0x26, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, + 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 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, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, + 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 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, 0x71, 0x0a, 0x26, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, - 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x44, 0x4e, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 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, 0x55, 0x0a, - 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, - 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 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, 0x59, 0x0a, 0x14, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x2e, 0x70, - 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, - 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, - 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, - 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, - 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, - 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, - 0x6e, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1b, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x6c, 0x69, + 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, + 0x6b, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x43, + 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, + 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, + 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, + 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, + 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, + 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x41, + 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x75, 0x6e, + 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x12, + 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x43, + 0x4d, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x43, 0x4d, 0x45, 0x54, + 0x61, 0x73, 0x6b, 0x55, 0x73, 0x65, 0x72, 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 ( diff --git a/pkg/rpc/pb/service_node.pb.go b/pkg/rpc/pb/service_node.pb.go index 0f1873f..b57bef6 100644 --- a/pkg/rpc/pb/service_node.pb.go +++ b/pkg/rpc/pb/service_node.pb.go @@ -5798,6 +5798,62 @@ func (x *UpdateNodeIsOnRequest) GetIsOn() bool { return false } +// 修改节点过移动 +type UpdateNodeBypassMobile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` + BypassMobile int32 `protobuf:"varint,2,opt,name=bypassMobile,proto3" json:"bypassMobile,omitempty"` +} + +func (x *UpdateNodeBypassMobile) Reset() { + *x = UpdateNodeBypassMobile{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNodeBypassMobile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeBypassMobile) ProtoMessage() {} + +func (x *UpdateNodeBypassMobile) ProtoReflect() protoreflect.Message { + mi := &file_service_node_proto_msgTypes[104] + 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 UpdateNodeBypassMobile.ProtoReflect.Descriptor instead. +func (*UpdateNodeBypassMobile) Descriptor() ([]byte, []int) { + return file_service_node_proto_rawDescGZIP(), []int{104} +} + +func (x *UpdateNodeBypassMobile) GetNodeId() int64 { + if x != nil { + return x.NodeId + } + return 0 +} + +func (x *UpdateNodeBypassMobile) GetBypassMobile() int32 { + if x != nil { + return x.BypassMobile + } + return 0 +} + type FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5813,7 +5869,7 @@ type FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade struct { func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) Reset() { *x = FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[104] + mi := &file_service_node_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5826,7 +5882,7 @@ func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) String() stri func (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) ProtoMessage() {} func (x *FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[104] + mi := &file_service_node_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5891,7 +5947,7 @@ type ListNodeRegionInfoResponse_Info struct { func (x *ListNodeRegionInfoResponse_Info) Reset() { *x = ListNodeRegionInfoResponse_Info{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[105] + mi := &file_service_node_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5904,7 +5960,7 @@ func (x *ListNodeRegionInfoResponse_Info) String() string { func (*ListNodeRegionInfoResponse_Info) ProtoMessage() {} func (x *ListNodeRegionInfoResponse_Info) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[105] + mi := &file_service_node_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5960,7 +6016,7 @@ type FindNodeUAMPoliciesResponse_UAMPolicy struct { func (x *FindNodeUAMPoliciesResponse_UAMPolicy) Reset() { *x = FindNodeUAMPoliciesResponse_UAMPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[106] + mi := &file_service_node_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5973,7 +6029,7 @@ func (x *FindNodeUAMPoliciesResponse_UAMPolicy) String() string { func (*FindNodeUAMPoliciesResponse_UAMPolicy) ProtoMessage() {} func (x *FindNodeUAMPoliciesResponse_UAMPolicy) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[106] + mi := &file_service_node_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6015,7 +6071,7 @@ type FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy struct { func (x *FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) Reset() { *x = FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[107] + mi := &file_service_node_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6028,7 +6084,7 @@ func (x *FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) String() string { func (*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) ProtoMessage() {} func (x *FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[107] + mi := &file_service_node_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6070,7 +6126,7 @@ type FindNodeHTTP3PoliciesResponse_HTTP3Policy struct { func (x *FindNodeHTTP3PoliciesResponse_HTTP3Policy) Reset() { *x = FindNodeHTTP3PoliciesResponse_HTTP3Policy{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[108] + mi := &file_service_node_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6083,7 +6139,7 @@ func (x *FindNodeHTTP3PoliciesResponse_HTTP3Policy) String() string { func (*FindNodeHTTP3PoliciesResponse_HTTP3Policy) ProtoMessage() {} func (x *FindNodeHTTP3PoliciesResponse_HTTP3Policy) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[108] + mi := &file_service_node_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6125,7 +6181,7 @@ type FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy struct { func (x *FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) Reset() { *x = FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[109] + mi := &file_service_node_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6138,7 +6194,7 @@ func (x *FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) String() string { func (*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) ProtoMessage() {} func (x *FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[109] + mi := &file_service_node_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6183,7 +6239,7 @@ type FindNodeScheduleInfoResponse_ScheduleInfo struct { func (x *FindNodeScheduleInfoResponse_ScheduleInfo) Reset() { *x = FindNodeScheduleInfoResponse_ScheduleInfo{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[110] + mi := &file_service_node_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6196,7 +6252,7 @@ func (x *FindNodeScheduleInfoResponse_ScheduleInfo) String() string { func (*FindNodeScheduleInfoResponse_ScheduleInfo) ProtoMessage() {} func (x *FindNodeScheduleInfoResponse_ScheduleInfo) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[110] + mi := &file_service_node_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6266,7 +6322,7 @@ type FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo struct { func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) Reset() { *x = FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[111] + mi := &file_service_node_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6279,7 +6335,7 @@ func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) String() func (*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) ProtoMessage() {} func (x *FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[111] + mi := &file_service_node_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6370,7 +6426,7 @@ type FindNodeWebPPoliciesResponse_WebPPolicy struct { func (x *FindNodeWebPPoliciesResponse_WebPPolicy) Reset() { *x = FindNodeWebPPoliciesResponse_WebPPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_service_node_proto_msgTypes[112] + mi := &file_service_node_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6383,7 +6439,7 @@ func (x *FindNodeWebPPoliciesResponse_WebPPolicy) String() string { func (*FindNodeWebPPoliciesResponse_WebPPolicy) ProtoMessage() {} func (x *FindNodeWebPPoliciesResponse_WebPPolicy) ProtoReflect() protoreflect.Message { - mi := &file_service_node_proto_msgTypes[112] + mi := &file_service_node_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7175,381 +7231,391 @@ var file_service_node_proto_rawDesc = []byte{ 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x32, 0xca, 0x2e, - 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, - 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, - 0x6f, 0x64, 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, 0x57, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, - 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 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, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, - 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, - 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 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, 0x19, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, - 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, - 0x14, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, - 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, - 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, - 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 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, 0x49, 0x0a, 0x15, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x65, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 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, 0x3e, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, - 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x35, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x75, 0x6e, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x1b, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 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, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x54, 0x0a, + 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x70, 0x61, 0x73, + 0x73, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 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, + 0x22, 0x0a, 0x0c, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x4d, 0x6f, 0x62, + 0x69, 0x6c, 0x65, 0x32, 0x90, 0x2f, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x56, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 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, 0x57, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, + 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, + 0x74, 0x63, 0x68, 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, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, + 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 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, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 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, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, - 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, - 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x25, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x89, 0x01, - 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, - 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 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, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 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, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x72, 0x6f, + 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x72, 0x6f, 0x6d, + 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x2e, 0x70, 0x62, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, 0x69, + 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, + 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, + 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x11, + 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x6f, 0x4e, 0x6f, 0x64, + 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 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, 0x3e, 0x0a, 0x0b, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x75, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, + 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, + 0x65, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0d, + 0x75, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, + 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x55, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, + 0x65, 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, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, + 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 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, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, - 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, + 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x49, 0x64, 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, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x2a, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x62, 0x2e, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x98, 0x01, 0x0a, 0x29, 0x66, 0x69, 0x6e, 0x64, + 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, + 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x62, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 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, 0x92, 0x01, 0x0a, 0x27, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, - 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, - 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x12, 0x1d, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, - 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x12, 0x18, - 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, - 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, - 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6d, 0x0a, 0x24, 0x63, 0x6f, 0x75, 0x6e, + 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, + 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, + 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 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, 0x4e, + 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, + 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x92, 0x01, 0x0a, 0x27, 0x66, 0x69, + 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, + 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x44, 0x4e, + 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x44, 0x4e, 0x53, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, + 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x44, 0x4e, 0x53, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x44, 0x4e, 0x53, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, + 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6d, + 0x0a, 0x24, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 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, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, - 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x12, 0x17, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, - 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 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, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1a, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, - 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, - 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, - 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x72, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, - 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, - 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x70, 0x62, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, - 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, - 0x16, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, - 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, - 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, - 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, - 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 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, 0x62, 0x0a, + 0x17, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, + 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x55, 0x70, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x55, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x1c, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x27, 0x2e, 0x70, 0x62, + 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, + 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x53, 0x79, 0x73, 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, - 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, - 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, - 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 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, 0x53, 0x0a, 0x12, 0x6c, 0x69, 0x73, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, - 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, - 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x2e, 0x70, - 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x41, 0x50, 0x49, 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, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, + 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, + 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x72, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, + 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, + 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x44, + 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x44, 0x44, 0x6f, 0x53, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 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, + 0x53, 0x0a, 0x12, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x70, + 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, + 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, + 0x11, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, + 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x45, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x50, 0x49, 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, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x41, 0x4d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, + 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x43, 0x43, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x33, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, + 0x19, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, + 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, - 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x16, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, - 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x15, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x95, 0x01, 0x0a, 0x28, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, - 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, - 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, - 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, - 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x1a, - 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, - 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, - 0x43, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, - 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, - 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, - 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x4f, 0x41, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x4f, 0x41, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, - 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x4f, 0x41, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, - 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, + 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x54, + 0x54, 0x50, 0x50, 0x61, 0x67, 0x65, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x70, + 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x49, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 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, 0x95, 0x01, 0x0a, 0x28, 0x66, + 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x53, 0x0a, 0x1a, 0x63, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x63, 0x6f, 0x70, 0x79, 0x4e, + 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x70, + 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x6f, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x4f, 0x41, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x54, 0x4f, 0x41, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x54, 0x4f, 0x41, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, - 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, - 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x4f, 0x6e, 0x12, - 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 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, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x65, + 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x57, + 0x65, 0x62, 0x50, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 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, + 0x12, 0x44, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x79, + 0x70, 0x61, 0x73, 0x73, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, + 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 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 ( @@ -7564,7 +7630,7 @@ func file_service_node_proto_rawDescGZIP() []byte { return file_service_node_proto_rawDescData } -var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 113) +var file_service_node_proto_msgTypes = make([]protoimpl.MessageInfo, 114) var file_service_node_proto_goTypes = []interface{}{ (*CreateNodeRequest)(nil), // 0: pb.CreateNodeRequest (*CreateNodeResponse)(nil), // 1: pb.CreateNodeResponse @@ -7670,54 +7736,55 @@ var file_service_node_proto_goTypes = []interface{}{ (*FindNodeWebPPoliciesRequest)(nil), // 101: pb.FindNodeWebPPoliciesRequest (*FindNodeWebPPoliciesResponse)(nil), // 102: pb.FindNodeWebPPoliciesResponse (*UpdateNodeIsOnRequest)(nil), // 103: pb.UpdateNodeIsOnRequest - (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade)(nil), // 104: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade - (*ListNodeRegionInfoResponse_Info)(nil), // 105: pb.ListNodeRegionInfoResponse.Info - (*FindNodeUAMPoliciesResponse_UAMPolicy)(nil), // 106: pb.FindNodeUAMPoliciesResponse.UAMPolicy - (*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy)(nil), // 107: pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy - (*FindNodeHTTP3PoliciesResponse_HTTP3Policy)(nil), // 108: pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy - (*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy)(nil), // 109: pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy - (*FindNodeScheduleInfoResponse_ScheduleInfo)(nil), // 110: pb.FindNodeScheduleInfoResponse.ScheduleInfo - (*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo)(nil), // 111: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo - (*FindNodeWebPPoliciesResponse_WebPPolicy)(nil), // 112: pb.FindNodeWebPPoliciesResponse.WebPPolicy - (*NodeLogin)(nil), // 113: pb.NodeLogin - (*Node)(nil), // 114: pb.Node - (*BasicNode)(nil), // 115: pb.BasicNode - (*NodeInstallStatus)(nil), // 116: pb.NodeInstallStatus - (*DNSRoute)(nil), // 117: pb.DNSRoute - (*SizeCapacity)(nil), // 118: pb.SizeCapacity - (*NodeRegion)(nil), // 119: pb.NodeRegion - (*NodeCluster)(nil), // 120: pb.NodeCluster - (*RPCCountResponse)(nil), // 121: pb.RPCCountResponse - (*RPCSuccess)(nil), // 122: pb.RPCSuccess + (*UpdateNodeBypassMobile)(nil), // 104: pb.UpdateNodeBypassMobile + (*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade)(nil), // 105: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade + (*ListNodeRegionInfoResponse_Info)(nil), // 106: pb.ListNodeRegionInfoResponse.Info + (*FindNodeUAMPoliciesResponse_UAMPolicy)(nil), // 107: pb.FindNodeUAMPoliciesResponse.UAMPolicy + (*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy)(nil), // 108: pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy + (*FindNodeHTTP3PoliciesResponse_HTTP3Policy)(nil), // 109: pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy + (*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy)(nil), // 110: pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy + (*FindNodeScheduleInfoResponse_ScheduleInfo)(nil), // 111: pb.FindNodeScheduleInfoResponse.ScheduleInfo + (*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo)(nil), // 112: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo + (*FindNodeWebPPoliciesResponse_WebPPolicy)(nil), // 113: pb.FindNodeWebPPoliciesResponse.WebPPolicy + (*NodeLogin)(nil), // 114: pb.NodeLogin + (*Node)(nil), // 115: pb.Node + (*BasicNode)(nil), // 116: pb.BasicNode + (*NodeInstallStatus)(nil), // 117: pb.NodeInstallStatus + (*DNSRoute)(nil), // 118: pb.DNSRoute + (*SizeCapacity)(nil), // 119: pb.SizeCapacity + (*NodeRegion)(nil), // 120: pb.NodeRegion + (*NodeCluster)(nil), // 121: pb.NodeCluster + (*RPCCountResponse)(nil), // 122: pb.RPCCountResponse + (*RPCSuccess)(nil), // 123: pb.RPCSuccess } var file_service_node_proto_depIdxs = []int32{ - 113, // 0: pb.CreateNodeRequest.nodeLogin:type_name -> pb.NodeLogin - 114, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node - 114, // 2: pb.FindAllEnabledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node - 114, // 3: pb.FindEnabledNodeResponse.node:type_name -> pb.Node - 115, // 4: pb.FindEnabledBasicNodeResponse.node:type_name -> pb.BasicNode - 114, // 5: pb.FindAllEnabledNodesWithNodeGrantIdResponse.nodes:type_name -> pb.Node - 114, // 6: pb.FindAllNotInstalledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node - 104, // 7: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade - 116, // 8: pb.FindNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus - 113, // 9: pb.UpdateNodeLoginRequest.nodeLogin:type_name -> pb.NodeLogin + 114, // 0: pb.CreateNodeRequest.nodeLogin:type_name -> pb.NodeLogin + 115, // 1: pb.ListEnabledNodesMatchResponse.nodes:type_name -> pb.Node + 115, // 2: pb.FindAllEnabledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node + 115, // 3: pb.FindEnabledNodeResponse.node:type_name -> pb.Node + 116, // 4: pb.FindEnabledBasicNodeResponse.node:type_name -> pb.BasicNode + 115, // 5: pb.FindAllEnabledNodesWithNodeGrantIdResponse.nodes:type_name -> pb.Node + 115, // 6: pb.FindAllNotInstalledNodesWithNodeClusterIdResponse.nodes:type_name -> pb.Node + 105, // 7: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade + 117, // 8: pb.FindNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus + 114, // 9: pb.UpdateNodeLoginRequest.nodeLogin:type_name -> pb.NodeLogin 48, // 10: pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse.nodes:type_name -> pb.NodeDNSInfo - 117, // 11: pb.NodeDNSInfo.routes:type_name -> pb.DNSRoute + 118, // 11: pb.NodeDNSInfo.routes:type_name -> pb.DNSRoute 48, // 12: pb.FindEnabledNodeDNSResponse.node:type_name -> pb.NodeDNSInfo - 114, // 13: pb.FindEnabledNodesWithIdsResponse.nodes:type_name -> pb.Node - 118, // 14: pb.UpdateNodeCacheRequest.maxCacheDiskCapacity:type_name -> pb.SizeCapacity - 118, // 15: pb.UpdateNodeCacheRequest.maxCacheMemoryCapacity:type_name -> pb.SizeCapacity - 105, // 16: pb.ListNodeRegionInfoResponse.infoList:type_name -> pb.ListNodeRegionInfoResponse.Info - 106, // 17: pb.FindNodeUAMPoliciesResponse.uamPolicies:type_name -> pb.FindNodeUAMPoliciesResponse.UAMPolicy - 107, // 18: pb.FindNodeHTTPCCPoliciesResponse.httpCCPolicies:type_name -> pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy - 108, // 19: pb.FindNodeHTTP3PoliciesResponse.http3Policies:type_name -> pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy - 109, // 20: pb.FindNodeHTTPPagesPoliciesResponse.httpPagesPolicies:type_name -> pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy - 110, // 21: pb.FindNodeScheduleInfoResponse.scheduleInfo:type_name -> pb.FindNodeScheduleInfoResponse.ScheduleInfo - 111, // 22: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo - 112, // 23: pb.FindNodeWebPPoliciesResponse.webPPolicies:type_name -> pb.FindNodeWebPPoliciesResponse.WebPPolicy - 114, // 24: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade.node:type_name -> pb.Node - 119, // 25: pb.ListNodeRegionInfoResponse.Info.nodeRegion:type_name -> pb.NodeRegion - 120, // 26: pb.ListNodeRegionInfoResponse.Info.nodeCluster:type_name -> pb.NodeCluster + 115, // 13: pb.FindEnabledNodesWithIdsResponse.nodes:type_name -> pb.Node + 119, // 14: pb.UpdateNodeCacheRequest.maxCacheDiskCapacity:type_name -> pb.SizeCapacity + 119, // 15: pb.UpdateNodeCacheRequest.maxCacheMemoryCapacity:type_name -> pb.SizeCapacity + 106, // 16: pb.ListNodeRegionInfoResponse.infoList:type_name -> pb.ListNodeRegionInfoResponse.Info + 107, // 17: pb.FindNodeUAMPoliciesResponse.uamPolicies:type_name -> pb.FindNodeUAMPoliciesResponse.UAMPolicy + 108, // 18: pb.FindNodeHTTPCCPoliciesResponse.httpCCPolicies:type_name -> pb.FindNodeHTTPCCPoliciesResponse.HTTPCCPolicy + 109, // 19: pb.FindNodeHTTP3PoliciesResponse.http3Policies:type_name -> pb.FindNodeHTTP3PoliciesResponse.HTTP3Policy + 110, // 20: pb.FindNodeHTTPPagesPoliciesResponse.httpPagesPolicies:type_name -> pb.FindNodeHTTPPagesPoliciesResponse.HTTPPagesPolicy + 111, // 21: pb.FindNodeScheduleInfoResponse.scheduleInfo:type_name -> pb.FindNodeScheduleInfoResponse.ScheduleInfo + 112, // 22: pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.nodes:type_name -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse.ScheduleInfo + 113, // 23: pb.FindNodeWebPPoliciesResponse.webPPolicies:type_name -> pb.FindNodeWebPPoliciesResponse.WebPPolicy + 115, // 24: pb.FindAllUpgradeNodesWithNodeClusterIdResponse.NodeUpgrade.node:type_name -> pb.Node + 120, // 25: pb.ListNodeRegionInfoResponse.Info.nodeRegion:type_name -> pb.NodeRegion + 121, // 26: pb.ListNodeRegionInfoResponse.Info.nodeCluster:type_name -> pb.NodeCluster 0, // 27: pb.NodeService.createNode:input_type -> pb.CreateNodeRequest 2, // 28: pb.NodeService.registerClusterNode:input_type -> pb.RegisterClusterNodeRequest 4, // 29: pb.NodeService.countAllEnabledNodes:input_type -> pb.CountAllEnabledNodesRequest @@ -7785,75 +7852,77 @@ var file_service_node_proto_depIdxs = []int32{ 99, // 91: pb.NodeService.findNodeNetworkSecurityPolicy:input_type -> pb.FindNodeNetworkSecurityPolicyRequest 101, // 92: pb.NodeService.findNodeWebPPolicies:input_type -> pb.FindNodeWebPPoliciesRequest 103, // 93: pb.NodeService.updateNodeIsOn:input_type -> pb.UpdateNodeIsOnRequest - 1, // 94: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse - 3, // 95: pb.NodeService.registerClusterNode:output_type -> pb.RegisterClusterNodeResponse - 121, // 96: pb.NodeService.countAllEnabledNodes:output_type -> pb.RPCCountResponse - 121, // 97: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.RPCCountResponse - 6, // 98: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse - 8, // 99: pb.NodeService.findAllEnabledNodesWithNodeClusterId:output_type -> pb.FindAllEnabledNodesWithNodeClusterIdResponse - 122, // 100: pb.NodeService.deleteNode:output_type -> pb.RPCSuccess - 122, // 101: pb.NodeService.deleteNodeFromNodeCluster:output_type -> pb.RPCSuccess - 122, // 102: pb.NodeService.updateNode:output_type -> pb.RPCSuccess - 13, // 103: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse - 15, // 104: pb.NodeService.findEnabledBasicNode:output_type -> pb.FindEnabledBasicNodeResponse - 17, // 105: pb.NodeService.findCurrentNodeConfig:output_type -> pb.FindCurrentNodeConfigResponse - 18, // 106: pb.NodeService.nodeStream:output_type -> pb.NodeStreamMessage - 18, // 107: pb.NodeService.sendCommandToNode:output_type -> pb.NodeStreamMessage - 122, // 108: pb.NodeService.updateNodeStatus:output_type -> pb.RPCSuccess - 122, // 109: pb.NodeService.updateNodeIsInstalled:output_type -> pb.RPCSuccess - 23, // 110: pb.NodeService.installNode:output_type -> pb.InstallNodeResponse - 25, // 111: pb.NodeService.upgradeNode:output_type -> pb.UpgradeNodeResponse - 27, // 112: pb.NodeService.startNode:output_type -> pb.StartNodeResponse - 29, // 113: pb.NodeService.stopNode:output_type -> pb.StopNodeResponse - 31, // 114: pb.NodeService.uninstallNode:output_type -> pb.UninstallNodeResponse - 122, // 115: pb.NodeService.updateNodeConnectedAPINodes:output_type -> pb.RPCSuccess - 121, // 116: pb.NodeService.countAllEnabledNodesWithNodeGrantId:output_type -> pb.RPCCountResponse - 35, // 117: pb.NodeService.findAllEnabledNodesWithNodeGrantId:output_type -> pb.FindAllEnabledNodesWithNodeGrantIdResponse - 121, // 118: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:output_type -> pb.RPCCountResponse - 37, // 119: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:output_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdResponse - 121, // 120: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:output_type -> pb.RPCCountResponse - 41, // 121: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:output_type -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse - 43, // 122: pb.NodeService.findNodeInstallStatus:output_type -> pb.FindNodeInstallStatusResponse - 122, // 123: pb.NodeService.updateNodeLogin:output_type -> pb.RPCSuccess - 121, // 124: pb.NodeService.countAllEnabledNodesWithNodeGroupId:output_type -> pb.RPCCountResponse - 47, // 125: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:output_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse - 50, // 126: pb.NodeService.findEnabledNodeDNS:output_type -> pb.FindEnabledNodeDNSResponse - 122, // 127: pb.NodeService.updateNodeDNS:output_type -> pb.RPCSuccess - 121, // 128: pb.NodeService.countAllEnabledNodesWithNodeRegionId:output_type -> pb.RPCCountResponse - 54, // 129: pb.NodeService.findEnabledNodesWithIds:output_type -> pb.FindEnabledNodesWithIdsResponse - 56, // 130: pb.NodeService.checkNodeLatestVersion:output_type -> pb.CheckNodeLatestVersionResponse - 122, // 131: pb.NodeService.updateNodeUp:output_type -> pb.RPCSuccess - 59, // 132: pb.NodeService.downloadNodeInstallationFile:output_type -> pb.DownloadNodeInstallationFileResponse - 122, // 133: pb.NodeService.updateNodeSystem:output_type -> pb.RPCSuccess - 122, // 134: pb.NodeService.updateNodeCache:output_type -> pb.RPCSuccess - 63, // 135: pb.NodeService.findNodeLevelInfo:output_type -> pb.FindNodeLevelInfoResponse - 65, // 136: pb.NodeService.findNodeDNSResolver:output_type -> pb.FindNodeDNSResolverResponse - 122, // 137: pb.NodeService.updateNodeDNSResolver:output_type -> pb.RPCSuccess - 68, // 138: pb.NodeService.findNodeDDoSProtection:output_type -> pb.FindNodeDDoSProtectionResponse - 122, // 139: pb.NodeService.updateNodeDDoSProtection:output_type -> pb.RPCSuccess - 71, // 140: pb.NodeService.findNodeGlobalServerConfig:output_type -> pb.FindNodeGlobalServerConfigResponse - 73, // 141: pb.NodeService.findEnabledNodeConfigInfo:output_type -> pb.FindEnabledNodeConfigInfoResponse - 121, // 142: pb.NodeService.countAllNodeRegionInfo:output_type -> pb.RPCCountResponse - 76, // 143: pb.NodeService.listNodeRegionInfo:output_type -> pb.ListNodeRegionInfoResponse - 122, // 144: pb.NodeService.updateNodeRegionInfo:output_type -> pb.RPCSuccess - 79, // 145: pb.NodeService.findNodeAPIConfig:output_type -> pb.FindNodeAPIConfigResponse - 122, // 146: pb.NodeService.updateNodeAPIConfig:output_type -> pb.RPCSuccess - 82, // 147: pb.NodeService.findNodeUAMPolicies:output_type -> pb.FindNodeUAMPoliciesResponse - 84, // 148: pb.NodeService.findNodeHTTPCCPolicies:output_type -> pb.FindNodeHTTPCCPoliciesResponse - 86, // 149: pb.NodeService.findNodeHTTP3Policies:output_type -> pb.FindNodeHTTP3PoliciesResponse - 88, // 150: pb.NodeService.findNodeHTTPPagesPolicies:output_type -> pb.FindNodeHTTPPagesPoliciesResponse - 90, // 151: pb.NodeService.findNodeScheduleInfo:output_type -> pb.FindNodeScheduleInfoResponse - 122, // 152: pb.NodeService.updateNodeScheduleInfo:output_type -> pb.RPCSuccess - 122, // 153: pb.NodeService.resetNodeActionStatus:output_type -> pb.RPCSuccess - 94, // 154: pb.NodeService.findAllNodeScheduleInfoWithNodeClusterId:output_type -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse - 122, // 155: pb.NodeService.copyNodeActionsToNodeGroup:output_type -> pb.RPCSuccess - 122, // 156: pb.NodeService.copyNodeActionsToNodeCluster:output_type -> pb.RPCSuccess - 98, // 157: pb.NodeService.findNodeTOAConfig:output_type -> pb.FindNodeTOAConfigResponse - 100, // 158: pb.NodeService.findNodeNetworkSecurityPolicy:output_type -> pb.FindNodeNetworkSecurityPolicyResponse - 102, // 159: pb.NodeService.findNodeWebPPolicies:output_type -> pb.FindNodeWebPPoliciesResponse - 122, // 160: pb.NodeService.updateNodeIsOn:output_type -> pb.RPCSuccess - 94, // [94:161] is the sub-list for method output_type - 27, // [27:94] is the sub-list for method input_type + 104, // 94: pb.NodeService.updateNodeBypassMobile:input_type -> pb.UpdateNodeBypassMobile + 1, // 95: pb.NodeService.createNode:output_type -> pb.CreateNodeResponse + 3, // 96: pb.NodeService.registerClusterNode:output_type -> pb.RegisterClusterNodeResponse + 122, // 97: pb.NodeService.countAllEnabledNodes:output_type -> pb.RPCCountResponse + 122, // 98: pb.NodeService.countAllEnabledNodesMatch:output_type -> pb.RPCCountResponse + 6, // 99: pb.NodeService.listEnabledNodesMatch:output_type -> pb.ListEnabledNodesMatchResponse + 8, // 100: pb.NodeService.findAllEnabledNodesWithNodeClusterId:output_type -> pb.FindAllEnabledNodesWithNodeClusterIdResponse + 123, // 101: pb.NodeService.deleteNode:output_type -> pb.RPCSuccess + 123, // 102: pb.NodeService.deleteNodeFromNodeCluster:output_type -> pb.RPCSuccess + 123, // 103: pb.NodeService.updateNode:output_type -> pb.RPCSuccess + 13, // 104: pb.NodeService.findEnabledNode:output_type -> pb.FindEnabledNodeResponse + 15, // 105: pb.NodeService.findEnabledBasicNode:output_type -> pb.FindEnabledBasicNodeResponse + 17, // 106: pb.NodeService.findCurrentNodeConfig:output_type -> pb.FindCurrentNodeConfigResponse + 18, // 107: pb.NodeService.nodeStream:output_type -> pb.NodeStreamMessage + 18, // 108: pb.NodeService.sendCommandToNode:output_type -> pb.NodeStreamMessage + 123, // 109: pb.NodeService.updateNodeStatus:output_type -> pb.RPCSuccess + 123, // 110: pb.NodeService.updateNodeIsInstalled:output_type -> pb.RPCSuccess + 23, // 111: pb.NodeService.installNode:output_type -> pb.InstallNodeResponse + 25, // 112: pb.NodeService.upgradeNode:output_type -> pb.UpgradeNodeResponse + 27, // 113: pb.NodeService.startNode:output_type -> pb.StartNodeResponse + 29, // 114: pb.NodeService.stopNode:output_type -> pb.StopNodeResponse + 31, // 115: pb.NodeService.uninstallNode:output_type -> pb.UninstallNodeResponse + 123, // 116: pb.NodeService.updateNodeConnectedAPINodes:output_type -> pb.RPCSuccess + 122, // 117: pb.NodeService.countAllEnabledNodesWithNodeGrantId:output_type -> pb.RPCCountResponse + 35, // 118: pb.NodeService.findAllEnabledNodesWithNodeGrantId:output_type -> pb.FindAllEnabledNodesWithNodeGrantIdResponse + 122, // 119: pb.NodeService.countAllNotInstalledNodesWithNodeClusterId:output_type -> pb.RPCCountResponse + 37, // 120: pb.NodeService.findAllNotInstalledNodesWithNodeClusterId:output_type -> pb.FindAllNotInstalledNodesWithNodeClusterIdResponse + 122, // 121: pb.NodeService.countAllUpgradeNodesWithNodeClusterId:output_type -> pb.RPCCountResponse + 41, // 122: pb.NodeService.findAllUpgradeNodesWithNodeClusterId:output_type -> pb.FindAllUpgradeNodesWithNodeClusterIdResponse + 43, // 123: pb.NodeService.findNodeInstallStatus:output_type -> pb.FindNodeInstallStatusResponse + 123, // 124: pb.NodeService.updateNodeLogin:output_type -> pb.RPCSuccess + 122, // 125: pb.NodeService.countAllEnabledNodesWithNodeGroupId:output_type -> pb.RPCCountResponse + 47, // 126: pb.NodeService.findAllEnabledNodesDNSWithNodeClusterId:output_type -> pb.FindAllEnabledNodesDNSWithNodeClusterIdResponse + 50, // 127: pb.NodeService.findEnabledNodeDNS:output_type -> pb.FindEnabledNodeDNSResponse + 123, // 128: pb.NodeService.updateNodeDNS:output_type -> pb.RPCSuccess + 122, // 129: pb.NodeService.countAllEnabledNodesWithNodeRegionId:output_type -> pb.RPCCountResponse + 54, // 130: pb.NodeService.findEnabledNodesWithIds:output_type -> pb.FindEnabledNodesWithIdsResponse + 56, // 131: pb.NodeService.checkNodeLatestVersion:output_type -> pb.CheckNodeLatestVersionResponse + 123, // 132: pb.NodeService.updateNodeUp:output_type -> pb.RPCSuccess + 59, // 133: pb.NodeService.downloadNodeInstallationFile:output_type -> pb.DownloadNodeInstallationFileResponse + 123, // 134: pb.NodeService.updateNodeSystem:output_type -> pb.RPCSuccess + 123, // 135: pb.NodeService.updateNodeCache:output_type -> pb.RPCSuccess + 63, // 136: pb.NodeService.findNodeLevelInfo:output_type -> pb.FindNodeLevelInfoResponse + 65, // 137: pb.NodeService.findNodeDNSResolver:output_type -> pb.FindNodeDNSResolverResponse + 123, // 138: pb.NodeService.updateNodeDNSResolver:output_type -> pb.RPCSuccess + 68, // 139: pb.NodeService.findNodeDDoSProtection:output_type -> pb.FindNodeDDoSProtectionResponse + 123, // 140: pb.NodeService.updateNodeDDoSProtection:output_type -> pb.RPCSuccess + 71, // 141: pb.NodeService.findNodeGlobalServerConfig:output_type -> pb.FindNodeGlobalServerConfigResponse + 73, // 142: pb.NodeService.findEnabledNodeConfigInfo:output_type -> pb.FindEnabledNodeConfigInfoResponse + 122, // 143: pb.NodeService.countAllNodeRegionInfo:output_type -> pb.RPCCountResponse + 76, // 144: pb.NodeService.listNodeRegionInfo:output_type -> pb.ListNodeRegionInfoResponse + 123, // 145: pb.NodeService.updateNodeRegionInfo:output_type -> pb.RPCSuccess + 79, // 146: pb.NodeService.findNodeAPIConfig:output_type -> pb.FindNodeAPIConfigResponse + 123, // 147: pb.NodeService.updateNodeAPIConfig:output_type -> pb.RPCSuccess + 82, // 148: pb.NodeService.findNodeUAMPolicies:output_type -> pb.FindNodeUAMPoliciesResponse + 84, // 149: pb.NodeService.findNodeHTTPCCPolicies:output_type -> pb.FindNodeHTTPCCPoliciesResponse + 86, // 150: pb.NodeService.findNodeHTTP3Policies:output_type -> pb.FindNodeHTTP3PoliciesResponse + 88, // 151: pb.NodeService.findNodeHTTPPagesPolicies:output_type -> pb.FindNodeHTTPPagesPoliciesResponse + 90, // 152: pb.NodeService.findNodeScheduleInfo:output_type -> pb.FindNodeScheduleInfoResponse + 123, // 153: pb.NodeService.updateNodeScheduleInfo:output_type -> pb.RPCSuccess + 123, // 154: pb.NodeService.resetNodeActionStatus:output_type -> pb.RPCSuccess + 94, // 155: pb.NodeService.findAllNodeScheduleInfoWithNodeClusterId:output_type -> pb.FindAllNodeScheduleInfoWithNodeClusterIdResponse + 123, // 156: pb.NodeService.copyNodeActionsToNodeGroup:output_type -> pb.RPCSuccess + 123, // 157: pb.NodeService.copyNodeActionsToNodeCluster:output_type -> pb.RPCSuccess + 98, // 158: pb.NodeService.findNodeTOAConfig:output_type -> pb.FindNodeTOAConfigResponse + 100, // 159: pb.NodeService.findNodeNetworkSecurityPolicy:output_type -> pb.FindNodeNetworkSecurityPolicyResponse + 102, // 160: pb.NodeService.findNodeWebPPolicies:output_type -> pb.FindNodeWebPPoliciesResponse + 123, // 161: pb.NodeService.updateNodeIsOn:output_type -> pb.RPCSuccess + 123, // 162: pb.NodeService.updateNodeBypassMobile:output_type -> pb.RPCSuccess + 95, // [95:163] is the sub-list for method output_type + 27, // [27:95] is the sub-list for method input_type 27, // [27:27] is the sub-list for extension type_name 27, // [27:27] is the sub-list for extension extendee 0, // [0:27] is the sub-list for field type_name @@ -9122,7 +9191,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade); i { + switch v := v.(*UpdateNodeBypassMobile); i { case 0: return &v.state case 1: @@ -9134,7 +9203,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNodeRegionInfoResponse_Info); i { + switch v := v.(*FindAllUpgradeNodesWithNodeClusterIdResponse_NodeUpgrade); i { case 0: return &v.state case 1: @@ -9146,7 +9215,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeUAMPoliciesResponse_UAMPolicy); i { + switch v := v.(*ListNodeRegionInfoResponse_Info); i { case 0: return &v.state case 1: @@ -9158,7 +9227,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy); i { + switch v := v.(*FindNodeUAMPoliciesResponse_UAMPolicy); i { case 0: return &v.state case 1: @@ -9170,7 +9239,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeHTTP3PoliciesResponse_HTTP3Policy); i { + switch v := v.(*FindNodeHTTPCCPoliciesResponse_HTTPCCPolicy); i { case 0: return &v.state case 1: @@ -9182,7 +9251,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy); i { + switch v := v.(*FindNodeHTTP3PoliciesResponse_HTTP3Policy); i { case 0: return &v.state case 1: @@ -9194,7 +9263,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindNodeScheduleInfoResponse_ScheduleInfo); i { + switch v := v.(*FindNodeHTTPPagesPoliciesResponse_HTTPPagesPolicy); i { case 0: return &v.state case 1: @@ -9206,7 +9275,7 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo); i { + switch v := v.(*FindNodeScheduleInfoResponse_ScheduleInfo); i { case 0: return &v.state case 1: @@ -9218,6 +9287,18 @@ func file_service_node_proto_init() { } } file_service_node_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindAllNodeScheduleInfoWithNodeClusterIdResponse_ScheduleInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindNodeWebPPoliciesResponse_WebPPolicy); i { case 0: return &v.state @@ -9236,7 +9317,7 @@ func file_service_node_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_node_proto_rawDesc, NumEnums: 0, - NumMessages: 113, + NumMessages: 114, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/rpc/pb/service_node_grpc.pb.go b/pkg/rpc/pb/service_node_grpc.pb.go index 4e1f026..899e926 100644 --- a/pkg/rpc/pb/service_node_grpc.pb.go +++ b/pkg/rpc/pb/service_node_grpc.pb.go @@ -86,6 +86,7 @@ const ( NodeService_FindNodeNetworkSecurityPolicy_FullMethodName = "/pb.NodeService/findNodeNetworkSecurityPolicy" NodeService_FindNodeWebPPolicies_FullMethodName = "/pb.NodeService/findNodeWebPPolicies" NodeService_UpdateNodeIsOn_FullMethodName = "/pb.NodeService/updateNodeIsOn" + NodeService_UpdateNodeBypassMobile_FullMethodName = "/pb.NodeService/updateNodeBypassMobile" ) // NodeServiceClient is the client API for NodeService service. @@ -226,6 +227,8 @@ type NodeServiceClient interface { FindNodeWebPPolicies(ctx context.Context, in *FindNodeWebPPoliciesRequest, opts ...grpc.CallOption) (*FindNodeWebPPoliciesResponse, error) // 修改节点的启用状态 UpdateNodeIsOn(ctx context.Context, in *UpdateNodeIsOnRequest, opts ...grpc.CallOption) (*RPCSuccess, error) + // 修改节点是否过移动 + UpdateNodeBypassMobile(ctx context.Context, in *UpdateNodeBypassMobile, opts ...grpc.CallOption) (*RPCSuccess, error) } type nodeServiceClient struct { @@ -861,6 +864,15 @@ func (c *nodeServiceClient) UpdateNodeIsOn(ctx context.Context, in *UpdateNodeIs return out, nil } +func (c *nodeServiceClient) UpdateNodeBypassMobile(ctx context.Context, in *UpdateNodeBypassMobile, opts ...grpc.CallOption) (*RPCSuccess, error) { + out := new(RPCSuccess) + err := c.cc.Invoke(ctx, NodeService_UpdateNodeBypassMobile_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // NodeServiceServer is the server API for NodeService service. // All implementations should embed UnimplementedNodeServiceServer // for forward compatibility @@ -999,6 +1011,8 @@ type NodeServiceServer interface { FindNodeWebPPolicies(context.Context, *FindNodeWebPPoliciesRequest) (*FindNodeWebPPoliciesResponse, error) // 修改节点的启用状态 UpdateNodeIsOn(context.Context, *UpdateNodeIsOnRequest) (*RPCSuccess, error) + // 修改节点是否过移动 + UpdateNodeBypassMobile(context.Context, *UpdateNodeBypassMobile) (*RPCSuccess, error) } // UnimplementedNodeServiceServer should be embedded to have forward compatible implementations. @@ -1206,6 +1220,9 @@ func (UnimplementedNodeServiceServer) FindNodeWebPPolicies(context.Context, *Fin func (UnimplementedNodeServiceServer) UpdateNodeIsOn(context.Context, *UpdateNodeIsOnRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeIsOn not implemented") } +func (UnimplementedNodeServiceServer) UpdateNodeBypassMobile(context.Context, *UpdateNodeBypassMobile) (*RPCSuccess, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNodeBypassMobile not implemented") +} // UnsafeNodeServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to NodeServiceServer will @@ -2432,6 +2449,24 @@ func _NodeService_UpdateNodeIsOn_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _NodeService_UpdateNodeBypassMobile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNodeBypassMobile) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServiceServer).UpdateNodeBypassMobile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: NodeService_UpdateNodeBypassMobile_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServiceServer).UpdateNodeBypassMobile(ctx, req.(*UpdateNodeBypassMobile)) + } + return interceptor(ctx, in, info, handler) +} + // NodeService_ServiceDesc is the grpc.ServiceDesc for NodeService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -2703,6 +2738,10 @@ var NodeService_ServiceDesc = grpc.ServiceDesc{ MethodName: "updateNodeIsOn", Handler: _NodeService_UpdateNodeIsOn_Handler, }, + { + MethodName: "updateNodeBypassMobile", + Handler: _NodeService_UpdateNodeBypassMobile_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/pkg/rpc/protos/models/model_node.proto b/pkg/rpc/protos/models/model_node.proto index 61827c2..c9b5b8c 100644 --- a/pkg/rpc/protos/models/model_node.proto +++ b/pkg/rpc/protos/models/model_node.proto @@ -48,6 +48,8 @@ message Node { NodeGroup nodeGroup = 36; NodeRegion nodeRegion = 37; repeated NodeCluster secondaryNodeClusters = 38; // 从集群 + + int32 bypassMobile = 101; } message BasicNode { diff --git a/pkg/rpc/protos/service_acme_task.proto b/pkg/rpc/protos/service_acme_task.proto index 71c2a69..facfa1f 100644 --- a/pkg/rpc/protos/service_acme_task.proto +++ b/pkg/rpc/protos/service_acme_task.proto @@ -88,6 +88,7 @@ message CreateACMETaskRequest { bool autoRenew = 5; string authType = 6; string authURL = 7; + bool async = 100; } message CreateACMETaskResponse { diff --git a/pkg/rpc/protos/service_node.proto b/pkg/rpc/protos/service_node.proto index 054d0a5..f8bb1a0 100644 --- a/pkg/rpc/protos/service_node.proto +++ b/pkg/rpc/protos/service_node.proto @@ -214,6 +214,9 @@ service NodeService { // 修改节点的启用状态 rpc updateNodeIsOn(UpdateNodeIsOnRequest) returns (RPCSuccess); + + // 修改节点是否过移动 + rpc updateNodeBypassMobile(UpdateNodeBypassMobile) returns (RPCSuccess); } // 创建节点 @@ -866,4 +869,10 @@ message FindNodeWebPPoliciesResponse { message UpdateNodeIsOnRequest { int64 nodeId = 1; // 节点ID bool isOn = 2; // 是否启用 -} \ No newline at end of file +} + +// 修改节点过移动 +message UpdateNodeBypassMobile{ + int64 nodeId = 1; + int32 bypassMobile = 2; +} diff --git a/pkg/serverconfigs/config_codes.go b/pkg/serverconfigs/config_codes.go index ce9eb84..5c6a4e3 100644 --- a/pkg/serverconfigs/config_codes.go +++ b/pkg/serverconfigs/config_codes.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/filterconfigs/filter_base64_encode_test.go b/pkg/serverconfigs/filterconfigs/filter_base64_encode_test.go index 36b28ba..49d26d4 100644 --- a/pkg/serverconfigs/filterconfigs/filter_base64_encode_test.go +++ b/pkg/serverconfigs/filterconfigs/filter_base64_encode_test.go @@ -2,8 +2,9 @@ package filterconfigs import ( "encoding/base64" - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestBase64EncodeFilter_Do(t *testing.T) { diff --git a/pkg/serverconfigs/filterconfigs/filter_dec2hex.go b/pkg/serverconfigs/filterconfigs/filter_dec2hex.go index 913540d..d1d2921 100644 --- a/pkg/serverconfigs/filterconfigs/filter_dec2hex.go +++ b/pkg/serverconfigs/filterconfigs/filter_dec2hex.go @@ -2,6 +2,7 @@ package filterconfigs import ( "fmt" + "github.com/iwind/TeaGo/types" ) diff --git a/pkg/serverconfigs/filterconfigs/filter_hex2dec.go b/pkg/serverconfigs/filterconfigs/filter_hex2dec.go index 0ba2645..d2c9f0a 100644 --- a/pkg/serverconfigs/filterconfigs/filter_hex2dec.go +++ b/pkg/serverconfigs/filterconfigs/filter_hex2dec.go @@ -1,8 +1,9 @@ package filterconfigs import ( - "github.com/iwind/TeaGo/types" "math/big" + + "github.com/iwind/TeaGo/types" ) type Hex2DecFilter struct { diff --git a/pkg/serverconfigs/filterconfigs/filter_hex2dec_test.go b/pkg/serverconfigs/filterconfigs/filter_hex2dec_test.go index f9848b1..366b839 100644 --- a/pkg/serverconfigs/filterconfigs/filter_hex2dec_test.go +++ b/pkg/serverconfigs/filterconfigs/filter_hex2dec_test.go @@ -1,8 +1,9 @@ package filterconfigs import ( - stringutil "github.com/iwind/TeaGo/utils/string" "testing" + + stringutil "github.com/iwind/TeaGo/utils/string" ) func TestHex2DecFilter_Do(t *testing.T) { diff --git a/pkg/serverconfigs/filterconfigs/filter_html_escape.go b/pkg/serverconfigs/filterconfigs/filter_html_escape.go index c6f11c3..8ba4d2d 100644 --- a/pkg/serverconfigs/filterconfigs/filter_html_escape.go +++ b/pkg/serverconfigs/filterconfigs/filter_html_escape.go @@ -1,8 +1,9 @@ package filterconfigs import ( - "github.com/iwind/TeaGo/types" "html" + + "github.com/iwind/TeaGo/types" ) type HTMLEscapeFilter struct { diff --git a/pkg/serverconfigs/filterconfigs/filter_html_unescape.go b/pkg/serverconfigs/filterconfigs/filter_html_unescape.go index 15bd19e..fd6d5b8 100644 --- a/pkg/serverconfigs/filterconfigs/filter_html_unescape.go +++ b/pkg/serverconfigs/filterconfigs/filter_html_unescape.go @@ -1,8 +1,9 @@ package filterconfigs import ( - "github.com/iwind/TeaGo/types" "html" + + "github.com/iwind/TeaGo/types" ) type HTMLUnescapeFilter struct { diff --git a/pkg/serverconfigs/filterconfigs/filter_sha1.go b/pkg/serverconfigs/filterconfigs/filter_sha1.go index ea3ed3e..b5191cb 100644 --- a/pkg/serverconfigs/filterconfigs/filter_sha1.go +++ b/pkg/serverconfigs/filterconfigs/filter_sha1.go @@ -3,6 +3,7 @@ package filterconfigs import ( "crypto/sha1" "fmt" + "github.com/iwind/TeaGo/types" ) diff --git a/pkg/serverconfigs/filterconfigs/filter_sha256.go b/pkg/serverconfigs/filterconfigs/filter_sha256.go index 38dc8f1..0b65368 100644 --- a/pkg/serverconfigs/filterconfigs/filter_sha256.go +++ b/pkg/serverconfigs/filterconfigs/filter_sha256.go @@ -3,6 +3,7 @@ package filterconfigs import ( "crypto/sha256" "fmt" + "github.com/iwind/TeaGo/types" ) diff --git a/pkg/serverconfigs/filterconfigs/filter_unicode_decode.go b/pkg/serverconfigs/filterconfigs/filter_unicode_decode.go index a17d4a9..b0f9871 100644 --- a/pkg/serverconfigs/filterconfigs/filter_unicode_decode.go +++ b/pkg/serverconfigs/filterconfigs/filter_unicode_decode.go @@ -1,9 +1,10 @@ package filterconfigs import ( - "github.com/iwind/TeaGo/types" "strconv" "strings" + + "github.com/iwind/TeaGo/types" ) type UnicodeDecodeFilter struct { diff --git a/pkg/serverconfigs/filterconfigs/filter_unicode_encode.go b/pkg/serverconfigs/filterconfigs/filter_unicode_encode.go index abfe184..9c165c4 100644 --- a/pkg/serverconfigs/filterconfigs/filter_unicode_encode.go +++ b/pkg/serverconfigs/filterconfigs/filter_unicode_encode.go @@ -1,9 +1,10 @@ package filterconfigs import ( - "github.com/iwind/TeaGo/types" "strconv" "strings" + + "github.com/iwind/TeaGo/types" ) type UnicodeEncodeFilter struct { diff --git a/pkg/serverconfigs/firewallconfigs/captcha_types.go b/pkg/serverconfigs/firewallconfigs/captcha_types.go index 8815259..57cdb72 100644 --- a/pkg/serverconfigs/firewallconfigs/captcha_types.go +++ b/pkg/serverconfigs/firewallconfigs/captcha_types.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package firewallconfigs diff --git a/pkg/serverconfigs/firewallconfigs/http_firewall_action_javascript_cookie.go b/pkg/serverconfigs/firewallconfigs/http_firewall_action_javascript_cookie.go index a0e74cd..fc57cc4 100644 --- a/pkg/serverconfigs/firewallconfigs/http_firewall_action_javascript_cookie.go +++ b/pkg/serverconfigs/firewallconfigs/http_firewall_action_javascript_cookie.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package firewallconfigs diff --git a/pkg/serverconfigs/firewallconfigs/http_firewall_checkpoints.go b/pkg/serverconfigs/firewallconfigs/http_firewall_checkpoints.go index ab0f5ca..a1b8a1d 100644 --- a/pkg/serverconfigs/firewallconfigs/http_firewall_checkpoints.go +++ b/pkg/serverconfigs/firewallconfigs/http_firewall_checkpoints.go @@ -1,8 +1,9 @@ package firewallconfigs import ( - "github.com/iwind/TeaGo/maps" "regexp" + + "github.com/iwind/TeaGo/maps" ) // AllCheckpoints all check points list diff --git a/pkg/serverconfigs/firewallconfigs/http_firewall_checkpoints_test.go b/pkg/serverconfigs/firewallconfigs/http_firewall_checkpoints_test.go index 2763e74..03c841b 100644 --- a/pkg/serverconfigs/firewallconfigs/http_firewall_checkpoints_test.go +++ b/pkg/serverconfigs/firewallconfigs/http_firewall_checkpoints_test.go @@ -1,12 +1,13 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package firewallconfigs_test import ( "fmt" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" "strings" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" ) func TestRuleCheckpoint_Markdown(t *testing.T) { diff --git a/pkg/serverconfigs/firewallconfigs/http_firewall_page_action.go b/pkg/serverconfigs/firewallconfigs/http_firewall_page_action.go index c547e99..7e29fe7 100644 --- a/pkg/serverconfigs/firewallconfigs/http_firewall_page_action.go +++ b/pkg/serverconfigs/firewallconfigs/http_firewall_page_action.go @@ -1,4 +1,4 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package firewallconfigs @@ -12,11 +12,10 @@ type HTTPFirewallPageAction struct { Body string `yaml:"body" json:"body"` } - func NewHTTPFirewallPageAction() *HTTPFirewallPageAction { return &HTTPFirewallPageAction{ - Status: http.StatusForbidden, - Body: ` + Status: http.StatusForbidden, + Body: ` 403 Forbidden @@ -31,4 +30,4 @@ func NewHTTPFirewallPageAction() *HTTPFirewallPageAction { `, } -} \ No newline at end of file +} diff --git a/pkg/serverconfigs/firewallconfigs/http_firewall_policy_log_config.go b/pkg/serverconfigs/firewallconfigs/http_firewall_policy_log_config.go index 6aa0183..cbdb7ac 100644 --- a/pkg/serverconfigs/firewallconfigs/http_firewall_policy_log_config.go +++ b/pkg/serverconfigs/firewallconfigs/http_firewall_policy_log_config.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package firewallconfigs diff --git a/pkg/serverconfigs/firewallconfigs/http_firewall_region_config.go b/pkg/serverconfigs/firewallconfigs/http_firewall_region_config.go index 82d676e..f1b2ecf 100644 --- a/pkg/serverconfigs/firewallconfigs/http_firewall_region_config.go +++ b/pkg/serverconfigs/firewallconfigs/http_firewall_region_config.go @@ -1,9 +1,10 @@ package firewallconfigs import ( + "strings" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/regionconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "strings" ) type HTTPFirewallRegionConfig struct { @@ -13,6 +14,8 @@ type HTTPFirewallRegionConfig struct { DenyCountryIds []int64 `yaml:"denyCountryIds" json:"denyCountryIds"` // 封禁的国家/地区 AllowProvinceIds []int64 `yaml:"allowProvinceIds" json:"allowProvinceIds"` // 允许的省或自治区 DenyProvinceIds []int64 `yaml:"denyProvinceIds" json:"denyProvinceIds"` // 封禁的省或自治区 + AllowProviderIds []int64 `yaml:"allowProviderIds" json:"allowProviderIds"` // 允许的运营商 + DenyProviderIds []int64 `yaml:"denyProviderIds" json:"denyProviderIds"` // 封禁的运营商 AllowSearchEngine bool `yaml:"allowSearchEngine" json:"allowSearchEngine"` // 允许搜索引擎 CountryOnlyURLPatterns []*shared.URLPattern `yaml:"countryOnlyURLPatterns" json:"countryOnlyURLPatterns"` // 仅限的URL @@ -23,17 +26,23 @@ type HTTPFirewallRegionConfig struct { ProvinceExceptURLPatterns []*shared.URLPattern `yaml:"provinceExceptURLPatterns" json:"provinceExceptURLPatterns"` // 排除的URL ProvinceHTML string `yaml:"provinceHTML" json:"provinceHTML"` // 提示HTML + ProviderOnlyURLPatterns []*shared.URLPattern `yaml:"providerOnlyURLPatterns" json:"providerOnlyURLPatterns"` // 仅限的URL + ProviderExceptURLPatterns []*shared.URLPattern `yaml:"providerExceptURLPatterns" json:"providerExceptURLPatterns"` // 排除的URL + ProviderHTML string `yaml:"providerHTML" json:"providerHTML"` // 提示HTML + isNotEmpty bool allowCountryIdMap map[int64]bool denyCountryIdMap map[int64]bool allowProvinceIdMap map[int64]bool denyProvinceIdMap map[int64]bool + allowProviderIdMap map[int64]bool + denyProviderIdMap map[int64]bool } func (this *HTTPFirewallRegionConfig) Init() error { // countries and provinces - this.isNotEmpty = len(this.AllowCountryIds) > 0 || len(this.AllowProvinceIds) > 0 || len(this.DenyCountryIds) > 0 || len(this.DenyProvinceIds) > 0 + this.isNotEmpty = len(this.AllowCountryIds) > 0 || len(this.AllowProvinceIds) > 0 || len(this.AllowProviderIds) > 0 || len(this.DenyCountryIds) > 0 || len(this.DenyProvinceIds) > 0 || len(this.DenyProviderIds) > 0 this.allowCountryIdMap = map[int64]bool{} for _, countryId := range this.AllowCountryIds { this.allowCountryIdMap[countryId] = true @@ -58,6 +67,18 @@ func (this *HTTPFirewallRegionConfig) Init() error { this.ProvinceHTML = strings.TrimSpace(this.ProvinceHTML) + this.allowProviderIdMap = map[int64]bool{} + for _, providerId := range this.AllowProviderIds { + this.allowProviderIdMap[providerId] = true + } + + this.denyProviderIdMap = map[int64]bool{} + for _, providerId := range this.DenyProviderIds { + this.denyProviderIdMap[providerId] = true + } + + this.ProviderHTML = strings.TrimSpace(this.ProviderHTML) + // url patterns for _, pattern := range this.CountryExceptURLPatterns { err := pattern.Init() @@ -87,6 +108,20 @@ func (this *HTTPFirewallRegionConfig) Init() error { } } + for _, pattern := range this.ProviderExceptURLPatterns { + err := pattern.Init() + if err != nil { + return err + } + } + + for _, pattern := range this.ProviderOnlyURLPatterns { + err := pattern.Init() + if err != nil { + return err + } + } + return nil } @@ -158,6 +193,16 @@ func (this *HTTPFirewallRegionConfig) IsAllowedProvince(countryId int64, provinc return true } +func (this *HTTPFirewallRegionConfig) IsAllowedProvider(providerId int64) bool { + if len(this.allowProviderIdMap) > 0 { + return this.allowProviderIdMap[providerId] + } + if len(this.denyProviderIdMap) > 0 { + return !this.denyProviderIdMap[providerId] + } + return true +} + func (this *HTTPFirewallRegionConfig) MatchCountryURL(url string) bool { // except if len(this.CountryExceptURLPatterns) > 0 { @@ -201,3 +246,25 @@ func (this *HTTPFirewallRegionConfig) MatchProvinceURL(url string) bool { return true } + +func (this *HTTPFirewallRegionConfig) MatchProviderURL(url string) bool { + // except + if len(this.ProviderExceptURLPatterns) > 0 { + for _, pattern := range this.ProviderExceptURLPatterns { + if pattern.Match(url) { + return false + } + } + } + + if len(this.ProviderOnlyURLPatterns) > 0 { + for _, pattern := range this.ProviderOnlyURLPatterns { + if pattern.Match(url) { + return true + } + } + return false + } + + return true +} diff --git a/pkg/serverconfigs/firewallconfigs/http_firewall_region_config_test.go b/pkg/serverconfigs/firewallconfigs/http_firewall_region_config_test.go index 0c2d8d6..131cc67 100644 --- a/pkg/serverconfigs/firewallconfigs/http_firewall_region_config_test.go +++ b/pkg/serverconfigs/firewallconfigs/http_firewall_region_config_test.go @@ -1,12 +1,13 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package firewallconfigs_test import ( + "testing" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/regionconfigs" "github.com/iwind/TeaGo/assert" - "testing" ) func TestHTTPFirewallRegionConfig_IsAllowed(t *testing.T) { @@ -97,7 +98,7 @@ func TestHTTPFirewallRegionConfig_IsAllowed(t *testing.T) { regionconfigs.RegionChinaIdHK, regionconfigs.RegionChinaIdMO, regionconfigs.RegionChinaIdTW, - //regionconfigs.RegionChinaIdMainland, + // regionconfigs.RegionChinaIdMainland, } config.DenyCountryIds = []int64{} err := config.Init() diff --git a/pkg/serverconfigs/firewallconfigs/http_firewall_rule_operator_test.go b/pkg/serverconfigs/firewallconfigs/http_firewall_rule_operator_test.go index bae00b3..e98f967 100644 --- a/pkg/serverconfigs/firewallconfigs/http_firewall_rule_operator_test.go +++ b/pkg/serverconfigs/firewallconfigs/http_firewall_rule_operator_test.go @@ -2,9 +2,10 @@ package firewallconfigs_test import ( "fmt" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" "strings" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" ) func TestRuleOperator_Markdown(t *testing.T) { diff --git a/pkg/serverconfigs/firewallconfigs/http_firewall_template_test.go b/pkg/serverconfigs/firewallconfigs/http_firewall_template_test.go index e456fbf..844a5f8 100644 --- a/pkg/serverconfigs/firewallconfigs/http_firewall_template_test.go +++ b/pkg/serverconfigs/firewallconfigs/http_firewall_template_test.go @@ -1,11 +1,12 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package firewallconfigs_test import ( - "github.com/iwind/TeaGo/assert" "regexp" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestUserAgentMatch_PHP(t *testing.T) { diff --git a/pkg/serverconfigs/follow_protocol_config.go b/pkg/serverconfigs/follow_protocol_config.go index 4338ee3..30be751 100644 --- a/pkg/serverconfigs/follow_protocol_config.go +++ b/pkg/serverconfigs/follow_protocol_config.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/global_server_config.go b/pkg/serverconfigs/global_server_config.go index cc13bc7..5207bb1 100644 --- a/pkg/serverconfigs/global_server_config.go +++ b/pkg/serverconfigs/global_server_config.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/hls_config.go b/pkg/serverconfigs/hls_config.go index c3ad51e..f33d0a2 100644 --- a/pkg/serverconfigs/hls_config.go +++ b/pkg/serverconfigs/hls_config.go @@ -1,4 +1,4 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/hls_encrypting_config.go b/pkg/serverconfigs/hls_encrypting_config.go index bd4cbb8..e4b694d 100644 --- a/pkg/serverconfigs/hls_encrypting_config.go +++ b/pkg/serverconfigs/hls_encrypting_config.go @@ -1,4 +1,4 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/http_access_log_ref_test.go b/pkg/serverconfigs/http_access_log_ref_test.go index 0b00785..63f122e 100644 --- a/pkg/serverconfigs/http_access_log_ref_test.go +++ b/pkg/serverconfigs/http_access_log_ref_test.go @@ -1,8 +1,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestHTTPAccessLogConfig_Match(t *testing.T) { diff --git a/pkg/serverconfigs/http_auth_method_base.go b/pkg/serverconfigs/http_auth_method_base.go index a83e166..08bb45c 100644 --- a/pkg/serverconfigs/http_auth_method_base.go +++ b/pkg/serverconfigs/http_auth_method_base.go @@ -1,14 +1,15 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" - "github.com/iwind/TeaGo/lists" "net/http" "path/filepath" "regexp" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" + "github.com/iwind/TeaGo/lists" ) var httpAuthTimestampRegexp = regexp.MustCompile(`^\d{10}$`) diff --git a/pkg/serverconfigs/http_auth_method_basic_test.go b/pkg/serverconfigs/http_auth_method_basic_test.go index 6c4d0be..b552f04 100644 --- a/pkg/serverconfigs/http_auth_method_basic_test.go +++ b/pkg/serverconfigs/http_auth_method_basic_test.go @@ -4,10 +4,11 @@ package serverconfigs import ( "encoding/base64" - "github.com/iwind/TeaGo/assert" - "github.com/iwind/TeaGo/maps" "net/http" "testing" + + "github.com/iwind/TeaGo/assert" + "github.com/iwind/TeaGo/maps" ) func TestHTTPAuthBasicMethodUser_Validate(t *testing.T) { diff --git a/pkg/serverconfigs/http_auth_method_sub_request_test.go b/pkg/serverconfigs/http_auth_method_sub_request_test.go index 855f73e..d0291f7 100644 --- a/pkg/serverconfigs/http_auth_method_sub_request_test.go +++ b/pkg/serverconfigs/http_auth_method_sub_request_test.go @@ -3,10 +3,11 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/rands" "net/http" "strings" "testing" + + "github.com/iwind/TeaGo/rands" ) func TestHTTPAuthRequestMethod_Filter(t *testing.T) { diff --git a/pkg/serverconfigs/http_cache_config.go b/pkg/serverconfigs/http_cache_config.go index f774a8a..d637e60 100644 --- a/pkg/serverconfigs/http_cache_config.go +++ b/pkg/serverconfigs/http_cache_config.go @@ -2,6 +2,7 @@ package serverconfigs import ( "encoding/json" + "github.com/iwind/TeaGo/rands" ) diff --git a/pkg/serverconfigs/http_cache_key_config.go b/pkg/serverconfigs/http_cache_key_config.go index 090d1b5..b7ec456 100644 --- a/pkg/serverconfigs/http_cache_key_config.go +++ b/pkg/serverconfigs/http_cache_key_config.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/http_cache_policy.go b/pkg/serverconfigs/http_cache_policy.go index 7b87ac1..ac6ab13 100644 --- a/pkg/serverconfigs/http_cache_policy.go +++ b/pkg/serverconfigs/http_cache_policy.go @@ -3,8 +3,9 @@ package serverconfigs import ( "bytes" "encoding/json" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) const DefaultHTTPCachePolicyFetchTimeout = 20 * time.Minute diff --git a/pkg/serverconfigs/http_cache_policy_test.go b/pkg/serverconfigs/http_cache_policy_test.go index c4cf6b3..27956bc 100644 --- a/pkg/serverconfigs/http_cache_policy_test.go +++ b/pkg/serverconfigs/http_cache_policy_test.go @@ -1,9 +1,10 @@ package serverconfigs import ( + "testing" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/iwind/TeaGo/assert" - "testing" ) func TestHTTPCachePolicy_IsSame(t *testing.T) { diff --git a/pkg/serverconfigs/http_cache_ref.go b/pkg/serverconfigs/http_cache_ref.go index 53d654d..e2eca7a 100644 --- a/pkg/serverconfigs/http_cache_ref.go +++ b/pkg/serverconfigs/http_cache_ref.go @@ -1,10 +1,11 @@ package serverconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "github.com/iwind/TeaGo/lists" "net/http" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" + "github.com/iwind/TeaGo/lists" ) var DefaultSkippedResponseCacheControlValues = []string{"private", "no-cache", "no-store"} diff --git a/pkg/serverconfigs/http_cc_config.go b/pkg/serverconfigs/http_cc_config.go index 082f80d..e77de38 100644 --- a/pkg/serverconfigs/http_cc_config.go +++ b/pkg/serverconfigs/http_cc_config.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . //go:build !plus package serverconfigs diff --git a/pkg/serverconfigs/http_common_headers.go b/pkg/serverconfigs/http_common_headers.go index 27b2944..4faa210 100644 --- a/pkg/serverconfigs/http_common_headers.go +++ b/pkg/serverconfigs/http_common_headers.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/http_compression_config.go b/pkg/serverconfigs/http_compression_config.go index a66b271..cf22350 100644 --- a/pkg/serverconfigs/http_compression_config.go +++ b/pkg/serverconfigs/http_compression_config.go @@ -3,9 +3,10 @@ package serverconfigs import ( + "strings" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/iwind/TeaGo/lists" - "strings" ) var DefaultHTTPCompressionTypes = []HTTPCompressionType{HTTPCompressionTypeBrotli, HTTPCompressionTypeGzip, HTTPCompressionTypeDeflate} diff --git a/pkg/serverconfigs/http_compression_config_test.go b/pkg/serverconfigs/http_compression_config_test.go index a830181..b4a0564 100644 --- a/pkg/serverconfigs/http_compression_config_test.go +++ b/pkg/serverconfigs/http_compression_config_test.go @@ -3,8 +3,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestHTTPCompressionConfig_Init(t *testing.T) { @@ -99,7 +100,7 @@ func TestHTTPCompressionConfig_Init(t *testing.T) { func TestHTTPCompressionConfig_MatchAcceptEncoding(t *testing.T) { var config = &HTTPCompressionConfig{ GzipRef: &HTTPCompressionRef{ - //IsOn: true, + // IsOn: true, }, Gzip: &HTTPGzipCompressionConfig{ IsOn: true, @@ -124,7 +125,7 @@ func TestHTTPCompressionConfig_MatchAcceptEncoding(t *testing.T) { func TestHTTPCompressionConfig_MatchAcceptEncoding2(t *testing.T) { var config = &HTTPCompressionConfig{ - //UseDefaultTypes: true, + // UseDefaultTypes: true, Types: []HTTPCompressionType{"brotli"}, } err := config.Init() diff --git a/pkg/serverconfigs/http_fastcgi_config.go b/pkg/serverconfigs/http_fastcgi_config.go index 689ce04..9071106 100644 --- a/pkg/serverconfigs/http_fastcgi_config.go +++ b/pkg/serverconfigs/http_fastcgi_config.go @@ -2,13 +2,14 @@ package serverconfigs import ( "errors" - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "github.com/iwind/TeaGo/maps" "net" "path/filepath" "regexp" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" + "github.com/iwind/TeaGo/maps" ) // HTTPFastcgiParam Fastcgi参数 diff --git a/pkg/serverconfigs/http_host_redirect_config.go b/pkg/serverconfigs/http_host_redirect_config.go index 934c4ef..cb24826 100644 --- a/pkg/serverconfigs/http_host_redirect_config.go +++ b/pkg/serverconfigs/http_host_redirect_config.go @@ -1,11 +1,12 @@ package serverconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "github.com/iwind/TeaGo/types" "net/url" "regexp" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" + "github.com/iwind/TeaGo/types" ) type HTTPHostRedirectType = string @@ -44,9 +45,9 @@ type HTTPHostRedirectConfig struct { DomainBeforeIgnorePorts bool `yaml:"domainBeforeIgnorePorts" json:"domainBeforeIgnorePorts"` // 忽略跳转前端口 DomainAfter string `yaml:"domainAfter" json:"domainAfter"` // 跳转之后的域名 DomainAfterScheme string `yaml:"domainAfterScheme" json:"domainAfterScheme"` // 跳转之后的协议 - //DomainRegexp bool `yaml:"domainRegexp" json:"domainRegexp"` // 使用正则匹配域名 TODO 暂时不实现 - //DomainKeepPort bool `yaml:"domainKeepPort" json:"domainKeepPort"` // 是否保持端口 TODO 暂时不实现 - //DomainNewPort int `yaml:"domainNewPort" json:"domainNewPort"` // 是否使用新端口 TODO 暂时不实现 + // DomainRegexp bool `yaml:"domainRegexp" json:"domainRegexp"` // 使用正则匹配域名 TODO 暂时不实现 + // DomainKeepPort bool `yaml:"domainKeepPort" json:"domainKeepPort"` // 是否保持端口 TODO 暂时不实现 + // DomainNewPort int `yaml:"domainNewPort" json:"domainNewPort"` // 是否使用新端口 TODO 暂时不实现 // 端口跳转 PortsAll bool `yaml:"portsAll" json:"portsAll"` // 所有端口 diff --git a/pkg/serverconfigs/http_location_config.go b/pkg/serverconfigs/http_location_config.go index 473a252..50f6590 100644 --- a/pkg/serverconfigs/http_location_config.go +++ b/pkg/serverconfigs/http_location_config.go @@ -2,10 +2,11 @@ package serverconfigs import ( "context" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "regexp" "strconv" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) type HTTPLocationConfig struct { diff --git a/pkg/serverconfigs/http_location_ref_test.go b/pkg/serverconfigs/http_location_ref_test.go index 009e10a..92f2726 100644 --- a/pkg/serverconfigs/http_location_ref_test.go +++ b/pkg/serverconfigs/http_location_ref_test.go @@ -1,8 +1,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/logs" "testing" + + "github.com/iwind/TeaGo/logs" ) func TestHTTPLocationRef(t *testing.T) { diff --git a/pkg/serverconfigs/http_page_config_test.go b/pkg/serverconfigs/http_page_config_test.go index 16bc99c..4502f9c 100644 --- a/pkg/serverconfigs/http_page_config_test.go +++ b/pkg/serverconfigs/http_page_config_test.go @@ -1,8 +1,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestPageConfig_Match(t *testing.T) { diff --git a/pkg/serverconfigs/http_page_optimization_base.go b/pkg/serverconfigs/http_page_optimization_base.go index d649821..0654879 100644 --- a/pkg/serverconfigs/http_page_optimization_base.go +++ b/pkg/serverconfigs/http_page_optimization_base.go @@ -1,10 +1,11 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) type HTTPBaseOptimizationConfig struct { diff --git a/pkg/serverconfigs/http_page_optimization_config.go b/pkg/serverconfigs/http_page_optimization_config.go index a6cc88d..17fae7f 100644 --- a/pkg/serverconfigs/http_page_optimization_config.go +++ b/pkg/serverconfigs/http_page_optimization_config.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/http_page_optimization_css.go b/pkg/serverconfigs/http_page_optimization_css.go index bb5ec22..f86cb6b 100644 --- a/pkg/serverconfigs/http_page_optimization_css.go +++ b/pkg/serverconfigs/http_page_optimization_css.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/http_page_optimization_html.go b/pkg/serverconfigs/http_page_optimization_html.go index fb603a9..9fd6f9d 100644 --- a/pkg/serverconfigs/http_page_optimization_html.go +++ b/pkg/serverconfigs/http_page_optimization_html.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/http_page_optimization_javascript.go b/pkg/serverconfigs/http_page_optimization_javascript.go index 00f290e..5ad5574 100644 --- a/pkg/serverconfigs/http_page_optimization_javascript.go +++ b/pkg/serverconfigs/http_page_optimization_javascript.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/http_remote_addr_config_test.go b/pkg/serverconfigs/http_remote_addr_config_test.go index 3e6aa7e..d553ea0 100644 --- a/pkg/serverconfigs/http_remote_addr_config_test.go +++ b/pkg/serverconfigs/http_remote_addr_config_test.go @@ -3,8 +3,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestHTTPRemoteAddrConfig_IsEmpty(t *testing.T) { diff --git a/pkg/serverconfigs/http_rewrite_rule.go b/pkg/serverconfigs/http_rewrite_rule.go index 90f0788..8b6339c 100644 --- a/pkg/serverconfigs/http_rewrite_rule.go +++ b/pkg/serverconfigs/http_rewrite_rule.go @@ -2,9 +2,10 @@ package serverconfigs import ( "fmt" + "regexp" + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "regexp" ) type HTTPRewriteMode = string diff --git a/pkg/serverconfigs/http_rewrite_rule_test.go b/pkg/serverconfigs/http_rewrite_rule_test.go index b734d26..f377ed6 100644 --- a/pkg/serverconfigs/http_rewrite_rule_test.go +++ b/pkg/serverconfigs/http_rewrite_rule_test.go @@ -1,9 +1,10 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" "time" + + "github.com/iwind/TeaGo/assert" ) func TestHTTPRewriteRule(t *testing.T) { diff --git a/pkg/serverconfigs/http_root_config_test.go b/pkg/serverconfigs/http_root_config_test.go index 7148289..fada453 100644 --- a/pkg/serverconfigs/http_root_config_test.go +++ b/pkg/serverconfigs/http_root_config_test.go @@ -1,8 +1,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestHTTPRootConfig_HasVariables(t *testing.T) { diff --git a/pkg/serverconfigs/http_web_config.go b/pkg/serverconfigs/http_web_config.go index 67bf05b..b69961d 100644 --- a/pkg/serverconfigs/http_web_config.go +++ b/pkg/serverconfigs/http_web_config.go @@ -2,6 +2,7 @@ package serverconfigs import ( "context" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) diff --git a/pkg/serverconfigs/http_websocket_config.go b/pkg/serverconfigs/http_websocket_config.go index 6a4ae1b..4df905b 100644 --- a/pkg/serverconfigs/http_websocket_config.go +++ b/pkg/serverconfigs/http_websocket_config.go @@ -1,9 +1,10 @@ package serverconfigs import ( + "time" + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "time" ) // HTTPWebsocketConfig websocket设置 diff --git a/pkg/serverconfigs/http_wildcard_status.go b/pkg/serverconfigs/http_wildcard_status.go index 926c31e..425364b 100644 --- a/pkg/serverconfigs/http_wildcard_status.go +++ b/pkg/serverconfigs/http_wildcard_status.go @@ -2,9 +2,10 @@ package serverconfigs import ( "fmt" - "github.com/iwind/TeaGo/types" "regexp" "strings" + + "github.com/iwind/TeaGo/types" ) // 可能含有x字母的状态码 diff --git a/pkg/serverconfigs/http_wildcard_status_test.go b/pkg/serverconfigs/http_wildcard_status_test.go index 53548d3..f8fd255 100644 --- a/pkg/serverconfigs/http_wildcard_status_test.go +++ b/pkg/serverconfigs/http_wildcard_status_test.go @@ -1,8 +1,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestWildcardStatus_Match(t *testing.T) { diff --git a/pkg/serverconfigs/image_webp_config.go b/pkg/serverconfigs/image_webp_config.go index bb6e089..a0ea852 100644 --- a/pkg/serverconfigs/image_webp_config.go +++ b/pkg/serverconfigs/image_webp_config.go @@ -3,8 +3,9 @@ package serverconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) // WebPImageConfig WebP配置 diff --git a/pkg/serverconfigs/image_webp_config_test.go b/pkg/serverconfigs/image_webp_config_test.go index 44d5b90..b47be62 100644 --- a/pkg/serverconfigs/image_webp_config_test.go +++ b/pkg/serverconfigs/image_webp_config_test.go @@ -3,8 +3,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestWebPImageConfig_MatchAccept(t *testing.T) { diff --git a/pkg/serverconfigs/metric_item_config.go b/pkg/serverconfigs/metric_item_config.go index 9ce3d33..e851365 100644 --- a/pkg/serverconfigs/metric_item_config.go +++ b/pkg/serverconfigs/metric_item_config.go @@ -3,9 +3,10 @@ package serverconfigs import ( + "time" + "github.com/iwind/TeaGo/Tea" timeutil "github.com/iwind/TeaGo/utils/time" - "time" ) // MetricItemConfig 指标配置 diff --git a/pkg/serverconfigs/network_address_config.go b/pkg/serverconfigs/network_address_config.go index 075f9b5..e58e478 100644 --- a/pkg/serverconfigs/network_address_config.go +++ b/pkg/serverconfigs/network_address_config.go @@ -1,12 +1,13 @@ package serverconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" - "github.com/iwind/TeaGo/rands" - "github.com/iwind/TeaGo/types" "regexp" "strconv" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" + "github.com/iwind/TeaGo/rands" + "github.com/iwind/TeaGo/types" ) var regexpSinglePort = regexp.MustCompile(`^\d+$`) diff --git a/pkg/serverconfigs/origin_config.go b/pkg/serverconfigs/origin_config.go index 337b207..3c66245 100644 --- a/pkg/serverconfigs/origin_config.go +++ b/pkg/serverconfigs/origin_config.go @@ -3,13 +3,14 @@ package serverconfigs import ( "context" "fmt" + "strconv" + "strings" + "time" + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ossconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs" - "strconv" - "strings" - "time" ) // OriginConfig 源站服务配置 diff --git a/pkg/serverconfigs/ossconfigs/oss_bucket_param.go b/pkg/serverconfigs/ossconfigs/oss_bucket_param.go index 711a5a1..cedd899 100644 --- a/pkg/serverconfigs/ossconfigs/oss_bucket_param.go +++ b/pkg/serverconfigs/ossconfigs/oss_bucket_param.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . //go:build !plus package ossconfigs diff --git a/pkg/serverconfigs/ossconfigs/oss_config.go b/pkg/serverconfigs/ossconfigs/oss_config.go index fb13f68..f796d56 100644 --- a/pkg/serverconfigs/ossconfigs/oss_config.go +++ b/pkg/serverconfigs/ossconfigs/oss_config.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . //go:build !plus package ossconfigs diff --git a/pkg/serverconfigs/ossconfigs/oss_options.go b/pkg/serverconfigs/ossconfigs/oss_options.go index 6ccd15f..64af4d7 100644 --- a/pkg/serverconfigs/ossconfigs/oss_options.go +++ b/pkg/serverconfigs/ossconfigs/oss_options.go @@ -1,7 +1,7 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package ossconfigs type OSSOptions interface { - Init() error // 初始化 + Init() error // 初始化 } diff --git a/pkg/serverconfigs/ossconfigs/oss_types.go b/pkg/serverconfigs/ossconfigs/oss_types.go index d06b352..6d4a745 100644 --- a/pkg/serverconfigs/ossconfigs/oss_types.go +++ b/pkg/serverconfigs/ossconfigs/oss_types.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . //go:build !plus package ossconfigs diff --git a/pkg/serverconfigs/ossconfigs/oss_utils.go b/pkg/serverconfigs/ossconfigs/oss_utils.go index 759339d..3ed1eb4 100644 --- a/pkg/serverconfigs/ossconfigs/oss_utils.go +++ b/pkg/serverconfigs/ossconfigs/oss_utils.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package ossconfigs diff --git a/pkg/serverconfigs/protocol_https_config.go b/pkg/serverconfigs/protocol_https_config.go index 0fa93d6..352a3f4 100644 --- a/pkg/serverconfigs/protocol_https_config.go +++ b/pkg/serverconfigs/protocol_https_config.go @@ -3,6 +3,7 @@ package serverconfigs import ( "context" "encoding/json" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs" ) diff --git a/pkg/serverconfigs/protocol_test.go b/pkg/serverconfigs/protocol_test.go index 1289144..82ea77d 100644 --- a/pkg/serverconfigs/protocol_test.go +++ b/pkg/serverconfigs/protocol_test.go @@ -1,8 +1,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestProtocol_IsHTTPFamily(t *testing.T) { diff --git a/pkg/serverconfigs/protocol_tls_config.go b/pkg/serverconfigs/protocol_tls_config.go index cda02bb..428afc7 100644 --- a/pkg/serverconfigs/protocol_tls_config.go +++ b/pkg/serverconfigs/protocol_tls_config.go @@ -3,6 +3,7 @@ package serverconfigs import ( "context" "encoding/json" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs" ) diff --git a/pkg/serverconfigs/proxy_protocol_config.go b/pkg/serverconfigs/proxy_protocol_config.go index 6917623..fdd4ddc 100644 --- a/pkg/serverconfigs/proxy_protocol_config.go +++ b/pkg/serverconfigs/proxy_protocol_config.go @@ -4,6 +4,7 @@ package serverconfigs import ( "errors" + "github.com/iwind/TeaGo/types" ) diff --git a/pkg/serverconfigs/referers_config.go b/pkg/serverconfigs/referers_config.go index 97979b2..f3f3626 100644 --- a/pkg/serverconfigs/referers_config.go +++ b/pkg/serverconfigs/referers_config.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs diff --git a/pkg/serverconfigs/referers_config_test.go b/pkg/serverconfigs/referers_config_test.go index 8358f4b..5e79dc4 100644 --- a/pkg/serverconfigs/referers_config_test.go +++ b/pkg/serverconfigs/referers_config_test.go @@ -1,11 +1,12 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs_test import ( + "testing" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" "github.com/iwind/TeaGo/assert" - "testing" ) func TestReferersConfig_MatchDomain(t *testing.T) { diff --git a/pkg/serverconfigs/regionconfigs/china.go b/pkg/serverconfigs/regionconfigs/china.go index 9f1b9f6..0bdaa37 100644 --- a/pkg/serverconfigs/regionconfigs/china.go +++ b/pkg/serverconfigs/regionconfigs/china.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package regionconfigs diff --git a/pkg/serverconfigs/regionconfigs/china_test.go b/pkg/serverconfigs/regionconfigs/china_test.go index 402e6fa..ed51251 100644 --- a/pkg/serverconfigs/regionconfigs/china_test.go +++ b/pkg/serverconfigs/regionconfigs/china_test.go @@ -1,11 +1,12 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package regionconfigs_test import ( + "testing" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/regionconfigs" "github.com/iwind/TeaGo/assert" - "testing" ) func TestMatchUserRegion(t *testing.T) { diff --git a/pkg/serverconfigs/reverse_proxy_config.go b/pkg/serverconfigs/reverse_proxy_config.go index 44a3ba9..fa9b4e8 100644 --- a/pkg/serverconfigs/reverse_proxy_config.go +++ b/pkg/serverconfigs/reverse_proxy_config.go @@ -2,10 +2,11 @@ package serverconfigs import ( "context" + "sync" + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/iwind/TeaGo/lists" - "sync" ) type RequestHostType = int8 diff --git a/pkg/serverconfigs/reverse_proxy_config_test.go b/pkg/serverconfigs/reverse_proxy_config_test.go index 2932230..a55468c 100644 --- a/pkg/serverconfigs/reverse_proxy_config_test.go +++ b/pkg/serverconfigs/reverse_proxy_config_test.go @@ -4,8 +4,9 @@ package serverconfigs import ( "context" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) func TestReverseProxyConfig_Init(t *testing.T) { @@ -44,7 +45,7 @@ func TestReverseProxyConfig_Init(t *testing.T) { } } - //config.ResetScheduling() + // config.ResetScheduling() nextOrigin := config.NextOrigin(&shared.RequestCall{ Formatter: nil, diff --git a/pkg/serverconfigs/schedulingconfigs/scheduling_hash.go b/pkg/serverconfigs/schedulingconfigs/scheduling_hash.go index ec628b0..1ca450f 100644 --- a/pkg/serverconfigs/schedulingconfigs/scheduling_hash.go +++ b/pkg/serverconfigs/schedulingconfigs/scheduling_hash.go @@ -1,10 +1,11 @@ package schedulingconfigs import ( + "hash/crc32" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/iwind/TeaGo/maps" "github.com/iwind/TeaGo/rands" - "hash/crc32" ) // HashScheduling Hash调度算法 diff --git a/pkg/serverconfigs/schedulingconfigs/scheduling_hash_test.go b/pkg/serverconfigs/schedulingconfigs/scheduling_hash_test.go index 961e180..082e78a 100644 --- a/pkg/serverconfigs/schedulingconfigs/scheduling_hash_test.go +++ b/pkg/serverconfigs/schedulingconfigs/scheduling_hash_test.go @@ -2,10 +2,11 @@ package schedulingconfigs import ( "fmt" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "math/rand" "testing" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) func TestHashScheduling_Next(t *testing.T) { diff --git a/pkg/serverconfigs/schedulingconfigs/scheduling_random.go b/pkg/serverconfigs/schedulingconfigs/scheduling_random.go index 99a6bee..7a995be 100644 --- a/pkg/serverconfigs/schedulingconfigs/scheduling_random.go +++ b/pkg/serverconfigs/schedulingconfigs/scheduling_random.go @@ -1,11 +1,12 @@ package schedulingconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "github.com/iwind/TeaGo/maps" "math" "math/rand" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" + "github.com/iwind/TeaGo/maps" ) // RandomScheduling 随机调度算法 diff --git a/pkg/serverconfigs/schedulingconfigs/scheduling_round_robin.go b/pkg/serverconfigs/schedulingconfigs/scheduling_round_robin.go index 82acab0..66a63a2 100644 --- a/pkg/serverconfigs/schedulingconfigs/scheduling_round_robin.go +++ b/pkg/serverconfigs/schedulingconfigs/scheduling_round_robin.go @@ -1,10 +1,11 @@ package schedulingconfigs import ( + "sync" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/iwind/TeaGo/lists" "github.com/iwind/TeaGo/maps" - "sync" ) // RoundRobinScheduling 轮询调度算法 diff --git a/pkg/serverconfigs/schedulingconfigs/scheduling_sticky.go b/pkg/serverconfigs/schedulingconfigs/scheduling_sticky.go index 9516dde..399161f 100644 --- a/pkg/serverconfigs/schedulingconfigs/scheduling_sticky.go +++ b/pkg/serverconfigs/schedulingconfigs/scheduling_sticky.go @@ -1,12 +1,13 @@ package schedulingconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "github.com/iwind/TeaGo/maps" - "github.com/iwind/TeaGo/rands" "math/rand" "net/http" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" + "github.com/iwind/TeaGo/maps" + "github.com/iwind/TeaGo/rands" ) // StickyScheduling Sticky调度算法 diff --git a/pkg/serverconfigs/schedulingconfigs/scheduling_sticky_test.go b/pkg/serverconfigs/schedulingconfigs/scheduling_sticky_test.go index 54cdae2..0f7d196 100644 --- a/pkg/serverconfigs/schedulingconfigs/scheduling_sticky_test.go +++ b/pkg/serverconfigs/schedulingconfigs/scheduling_sticky_test.go @@ -1,10 +1,11 @@ package schedulingconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "github.com/iwind/TeaGo/maps" "net/http" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" + "github.com/iwind/TeaGo/maps" ) func TestStickyScheduling_NextArgument(t *testing.T) { diff --git a/pkg/serverconfigs/script_config.go b/pkg/serverconfigs/script_config.go index b53202b..5cd5c5e 100644 --- a/pkg/serverconfigs/script_config.go +++ b/pkg/serverconfigs/script_config.go @@ -3,8 +3,9 @@ package serverconfigs import ( - stringutil "github.com/iwind/TeaGo/utils/string" "strings" + + stringutil "github.com/iwind/TeaGo/utils/string" ) type ScriptConfig struct { diff --git a/pkg/serverconfigs/server_address_group.go b/pkg/serverconfigs/server_address_group.go index 1ff304a..6c8ae16 100644 --- a/pkg/serverconfigs/server_address_group.go +++ b/pkg/serverconfigs/server_address_group.go @@ -1,9 +1,10 @@ package serverconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "strings" "sync" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" ) type ServerAddressGroup struct { diff --git a/pkg/serverconfigs/server_address_group_test.go b/pkg/serverconfigs/server_address_group_test.go index 9c35018..02bffba 100644 --- a/pkg/serverconfigs/server_address_group_test.go +++ b/pkg/serverconfigs/server_address_group_test.go @@ -1,10 +1,11 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/assert" - "github.com/iwind/TeaGo/types" "testing" "time" + + "github.com/iwind/TeaGo/assert" + "github.com/iwind/TeaGo/types" ) func TestServerAddressGroup_Protocol(t *testing.T) { diff --git a/pkg/serverconfigs/server_config.go b/pkg/serverconfigs/server_config.go index c705672..11de679 100644 --- a/pkg/serverconfigs/server_config.go +++ b/pkg/serverconfigs/server_config.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "errors" + "regexp" + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs" "golang.org/x/net/idna" - "regexp" ) var normalServerNameReg = regexp.MustCompile(`^[a-zA-Z0-9.-]+$`) diff --git a/pkg/serverconfigs/server_name_config.go b/pkg/serverconfigs/server_name_config.go index c8200c9..4098fb6 100644 --- a/pkg/serverconfigs/server_name_config.go +++ b/pkg/serverconfigs/server_name_config.go @@ -1,9 +1,10 @@ package serverconfigs import ( + "strings" + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/iwind/TeaGo/lists" - "strings" ) type ServerNameType = string diff --git a/pkg/serverconfigs/server_name_config_test.go b/pkg/serverconfigs/server_name_config_test.go index e3e862f..3549b71 100644 --- a/pkg/serverconfigs/server_name_config_test.go +++ b/pkg/serverconfigs/server_name_config_test.go @@ -1,8 +1,9 @@ package serverconfigs import ( - "github.com/iwind/TeaGo/logs" "testing" + + "github.com/iwind/TeaGo/logs" ) func TestNormalizeServerNames(t *testing.T) { diff --git a/pkg/serverconfigs/shared/bit_size_capacity_test.go b/pkg/serverconfigs/shared/bit_size_capacity_test.go index 77558dd..98d4ebc 100644 --- a/pkg/serverconfigs/shared/bit_size_capacity_test.go +++ b/pkg/serverconfigs/shared/bit_size_capacity_test.go @@ -1,10 +1,11 @@ -// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package shared_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) func TestBitSizeCapacity_Bits(t *testing.T) { diff --git a/pkg/serverconfigs/shared/data_map.go b/pkg/serverconfigs/shared/data_map.go index 4888019..7856c01 100644 --- a/pkg/serverconfigs/shared/data_map.go +++ b/pkg/serverconfigs/shared/data_map.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package shared @@ -14,7 +14,7 @@ var dataMapPrefix = []byte("GOEDGE_DATA_MAP:") // DataMap 二进制数据共享Map // 用来减少相同数据占用的空间和内存 type DataMap struct { - Map map[string][]byte + Map map[string][]byte locker sync.Mutex } diff --git a/pkg/serverconfigs/shared/data_map_test.go b/pkg/serverconfigs/shared/data_map_test.go index ed9e422..13255cd 100644 --- a/pkg/serverconfigs/shared/data_map_test.go +++ b/pkg/serverconfigs/shared/data_map_test.go @@ -1,10 +1,11 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package shared_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) func TestNewDataMap(t *testing.T) { diff --git a/pkg/serverconfigs/shared/http_cors_header_config.go b/pkg/serverconfigs/shared/http_cors_header_config.go index 2c88322..4ecaabe 100644 --- a/pkg/serverconfigs/shared/http_cors_header_config.go +++ b/pkg/serverconfigs/shared/http_cors_header_config.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package shared diff --git a/pkg/serverconfigs/shared/http_header_config.go b/pkg/serverconfigs/shared/http_header_config.go index ddf19ae..20692df 100644 --- a/pkg/serverconfigs/shared/http_header_config.go +++ b/pkg/serverconfigs/shared/http_header_config.go @@ -1,9 +1,10 @@ package shared import ( - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "regexp" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" ) // HTTPHeaderReplaceValue 值替换定义 diff --git a/pkg/serverconfigs/shared/http_header_config_test.go b/pkg/serverconfigs/shared/http_header_config_test.go index 1f30ccb..baf41fb 100644 --- a/pkg/serverconfigs/shared/http_header_config_test.go +++ b/pkg/serverconfigs/shared/http_header_config_test.go @@ -1,8 +1,9 @@ package shared import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestHeaderConfig_Match(t *testing.T) { diff --git a/pkg/serverconfigs/shared/http_header_policy_test.go b/pkg/serverconfigs/shared/http_header_policy_test.go index 5ca51f8..8369874 100644 --- a/pkg/serverconfigs/shared/http_header_policy_test.go +++ b/pkg/serverconfigs/shared/http_header_policy_test.go @@ -1,8 +1,9 @@ package shared import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestHTTPHeaderPolicy_FormatHeaders(t *testing.T) { diff --git a/pkg/serverconfigs/shared/http_request_cond.go b/pkg/serverconfigs/shared/http_request_cond.go index 4f2a5fc..2c7e3d6 100644 --- a/pkg/serverconfigs/shared/http_request_cond.go +++ b/pkg/serverconfigs/shared/http_request_cond.go @@ -5,13 +5,14 @@ import ( "encoding/binary" "encoding/json" "errors" - "github.com/iwind/TeaGo/lists" - "github.com/iwind/TeaGo/types" - "github.com/iwind/TeaGo/utils/string" "net" "path/filepath" "regexp" "strings" + + "github.com/iwind/TeaGo/lists" + "github.com/iwind/TeaGo/types" + "github.com/iwind/TeaGo/utils/string" ) // HTTPRequestCond HTTP请求匹配条件定义 diff --git a/pkg/serverconfigs/shared/http_request_cond_group_test.go b/pkg/serverconfigs/shared/http_request_cond_group_test.go index 81844ae..0bd0fe7 100644 --- a/pkg/serverconfigs/shared/http_request_cond_group_test.go +++ b/pkg/serverconfigs/shared/http_request_cond_group_test.go @@ -1,8 +1,9 @@ package shared import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestHTTPRequestCondGroup_MatchRequest(t *testing.T) { diff --git a/pkg/serverconfigs/shared/http_request_cond_test.go b/pkg/serverconfigs/shared/http_request_cond_test.go index f7d5e15..677b6a0 100644 --- a/pkg/serverconfigs/shared/http_request_cond_test.go +++ b/pkg/serverconfigs/shared/http_request_cond_test.go @@ -3,10 +3,11 @@ package shared import ( "bytes" "fmt" - "github.com/iwind/TeaGo/assert" "net" "regexp" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestRequestCond_Compare1(t *testing.T) { diff --git a/pkg/serverconfigs/shared/ip_range.go b/pkg/serverconfigs/shared/ip_range.go index 973f90b..a71777c 100644 --- a/pkg/serverconfigs/shared/ip_range.go +++ b/pkg/serverconfigs/shared/ip_range.go @@ -3,10 +3,11 @@ package shared import ( "bytes" "errors" - "github.com/iwind/TeaGo/utils/string" "net" "regexp" "strings" + + "github.com/iwind/TeaGo/utils/string" ) // IPRangeType IP Range类型 diff --git a/pkg/serverconfigs/shared/ip_range_test.go b/pkg/serverconfigs/shared/ip_range_test.go index 8f88d8c..8dc16ed 100644 --- a/pkg/serverconfigs/shared/ip_range_test.go +++ b/pkg/serverconfigs/shared/ip_range_test.go @@ -1,8 +1,9 @@ package shared import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestGeoConfig_Contains(t *testing.T) { diff --git a/pkg/serverconfigs/shared/mime_type_rule_test.go b/pkg/serverconfigs/shared/mime_type_rule_test.go index 09c1a29..9321b95 100644 --- a/pkg/serverconfigs/shared/mime_type_rule_test.go +++ b/pkg/serverconfigs/shared/mime_type_rule_test.go @@ -3,8 +3,9 @@ package shared import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestMimeTypeRule_Match(t *testing.T) { diff --git a/pkg/serverconfigs/shared/regexp_test.go b/pkg/serverconfigs/shared/regexp_test.go index bf2f9f6..6385347 100644 --- a/pkg/serverconfigs/shared/regexp_test.go +++ b/pkg/serverconfigs/shared/regexp_test.go @@ -1,9 +1,10 @@ package shared_test import ( + "testing" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/iwind/TeaGo/assert" - "testing" ) func TestRegexp(t *testing.T) { diff --git a/pkg/serverconfigs/shared/request_call.go b/pkg/serverconfigs/shared/request_call.go index 653ef77..e08d94c 100644 --- a/pkg/serverconfigs/shared/request_call.go +++ b/pkg/serverconfigs/shared/request_call.go @@ -1,8 +1,9 @@ package shared import ( - "github.com/iwind/TeaGo/maps" "net/http" + + "github.com/iwind/TeaGo/maps" ) // RequestCall 请求调用 diff --git a/pkg/serverconfigs/shared/request_variables.go b/pkg/serverconfigs/shared/request_variables.go index 2663b0b..5ec320a 100644 --- a/pkg/serverconfigs/shared/request_variables.go +++ b/pkg/serverconfigs/shared/request_variables.go @@ -27,7 +27,7 @@ func DefaultRequestVariables() []maps.Map { {"code": "${msec}", "name": "带有毫秒的时间", "description": "比如1531756823.054"}, {"code": "${timestamp}", "name": "unix时间戳,单位为秒", "description": ""}, {"code": "${host}", "name": "主机名", "description": ""}, - {"code": "${cname}", "name": "当前网站的CNAME", "description": "比如38b48e4f.goedge.cn"}, + {"code": "${cname}", "name": "当前网站的CNAME", "description": "比如38b48e4f.goedge.cloud"}, {"code": "${serverName}", "name": "接收请求的服务器名", "description": ""}, {"code": "${serverPort}", "name": "接收请求的服务器端口", "description": ""}, {"code": "${referer}", "name": "请求来源URL", "description": ""}, diff --git a/pkg/serverconfigs/shared/time_duration.go b/pkg/serverconfigs/shared/time_duration.go index 4b5c12a..65f42d4 100644 --- a/pkg/serverconfigs/shared/time_duration.go +++ b/pkg/serverconfigs/shared/time_duration.go @@ -2,8 +2,9 @@ package shared import ( "encoding/json" - "github.com/iwind/TeaGo/types" "time" + + "github.com/iwind/TeaGo/types" ) type TimeDurationUnit = string diff --git a/pkg/serverconfigs/shared/url_pattern.go b/pkg/serverconfigs/shared/url_pattern.go index 1be99bc..648939d 100644 --- a/pkg/serverconfigs/shared/url_pattern.go +++ b/pkg/serverconfigs/shared/url_pattern.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package shared diff --git a/pkg/serverconfigs/shared/url_pattern_test.go b/pkg/serverconfigs/shared/url_pattern_test.go index a66a634..cd2849f 100644 --- a/pkg/serverconfigs/shared/url_pattern_test.go +++ b/pkg/serverconfigs/shared/url_pattern_test.go @@ -1,10 +1,11 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package shared_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) func TestURLPattern_Match(t *testing.T) { diff --git a/pkg/serverconfigs/sslconfigs/ssl_auth.go b/pkg/serverconfigs/sslconfigs/ssl_auth.go index 1298029..0b67750 100644 --- a/pkg/serverconfigs/sslconfigs/ssl_auth.go +++ b/pkg/serverconfigs/sslconfigs/ssl_auth.go @@ -2,6 +2,7 @@ package sslconfigs import ( "crypto/tls" + "github.com/iwind/TeaGo/maps" ) diff --git a/pkg/serverconfigs/sslconfigs/ssl_cert_config.go b/pkg/serverconfigs/sslconfigs/ssl_cert_config.go index 1687835..4afbfca 100644 --- a/pkg/serverconfigs/sslconfigs/ssl_cert_config.go +++ b/pkg/serverconfigs/sslconfigs/ssl_cert_config.go @@ -7,12 +7,13 @@ import ( "encoding/pem" "errors" "fmt" - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "github.com/iwind/TeaGo/lists" "reflect" "strconv" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" + "github.com/iwind/TeaGo/lists" ) // SSLCertConfig SSL证书 diff --git a/pkg/serverconfigs/sslconfigs/ssl_cert_config_test.go b/pkg/serverconfigs/sslconfigs/ssl_cert_config_test.go index 039c08f..40fcf76 100644 --- a/pkg/serverconfigs/sslconfigs/ssl_cert_config_test.go +++ b/pkg/serverconfigs/sslconfigs/ssl_cert_config_test.go @@ -3,9 +3,10 @@ package sslconfigs_test import ( + "testing" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs" "github.com/iwind/TeaGo/assert" - "testing" ) func TestSSLCertConfig_MatchDomain(t *testing.T) { diff --git a/pkg/serverconfigs/sslconfigs/ssl_hsts.go b/pkg/serverconfigs/sslconfigs/ssl_hsts.go index 670c836..007e9a3 100644 --- a/pkg/serverconfigs/sslconfigs/ssl_hsts.go +++ b/pkg/serverconfigs/sslconfigs/ssl_hsts.go @@ -1,9 +1,10 @@ package sslconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "strconv" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" ) // HSTS设置 diff --git a/pkg/serverconfigs/sslconfigs/ssl_hsts_test.go b/pkg/serverconfigs/sslconfigs/ssl_hsts_test.go index fd5dc45..7a0b49b 100644 --- a/pkg/serverconfigs/sslconfigs/ssl_hsts_test.go +++ b/pkg/serverconfigs/sslconfigs/ssl_hsts_test.go @@ -1,8 +1,9 @@ package sslconfigs import ( - "github.com/iwind/TeaGo/assert" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestHSTSConfig(t *testing.T) { diff --git a/pkg/serverconfigs/sslconfigs/ssl_policy.go b/pkg/serverconfigs/sslconfigs/ssl_policy.go index fc0c894..26a871f 100644 --- a/pkg/serverconfigs/sslconfigs/ssl_policy.go +++ b/pkg/serverconfigs/sslconfigs/ssl_policy.go @@ -5,9 +5,10 @@ import ( "context" "crypto/tls" "crypto/x509" + "time" + "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "golang.org/x/net/http2" - "time" ) // TLSVersion TLS Version diff --git a/pkg/serverconfigs/sslconfigs/ssl_policy_test.go b/pkg/serverconfigs/sslconfigs/ssl_policy_test.go index 04f51ca..f47f434 100644 --- a/pkg/serverconfigs/sslconfigs/ssl_policy_test.go +++ b/pkg/serverconfigs/sslconfigs/ssl_policy_test.go @@ -4,10 +4,11 @@ package sslconfigs_test import ( "context" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs" - "github.com/iwind/TeaGo/assert" "testing" "time" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs" + "github.com/iwind/TeaGo/assert" ) func TestSSLPolicy_MatchDomain(t *testing.T) { diff --git a/pkg/serverconfigs/user_agent_config.go b/pkg/serverconfigs/user_agent_config.go index 9d0455b..a7c2812 100644 --- a/pkg/serverconfigs/user_agent_config.go +++ b/pkg/serverconfigs/user_agent_config.go @@ -1,12 +1,13 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "net/http" "regexp" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) type UserAgentAction = string diff --git a/pkg/serverconfigs/user_agent_config_test.go b/pkg/serverconfigs/user_agent_config_test.go index e153fae..89ad4b5 100644 --- a/pkg/serverconfigs/user_agent_config_test.go +++ b/pkg/serverconfigs/user_agent_config_test.go @@ -1,12 +1,13 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package serverconfigs_test import ( - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" - "github.com/iwind/TeaGo/assert" "net/http" "testing" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" + "github.com/iwind/TeaGo/assert" ) func TestUserAgentConfig_AllowRequest(t *testing.T) { diff --git a/pkg/serverconfigs/vars/var_func.go b/pkg/serverconfigs/vars/var_func.go index 3eab23c..284fbd5 100644 --- a/pkg/serverconfigs/vars/var_func.go +++ b/pkg/serverconfigs/vars/var_func.go @@ -4,12 +4,13 @@ import ( "bytes" "errors" "fmt" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" - "github.com/iwind/TeaGo/types" "math" "reflect" "strconv" "strings" + + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" + "github.com/iwind/TeaGo/types" ) // func列表,code => type diff --git a/pkg/serverconfigs/vars/var_func_test.go b/pkg/serverconfigs/vars/var_func_test.go index 7c68010..4317ff6 100644 --- a/pkg/serverconfigs/vars/var_func_test.go +++ b/pkg/serverconfigs/vars/var_func_test.go @@ -1,9 +1,10 @@ package vars import ( - "github.com/iwind/TeaGo/assert" "reflect" "testing" + + "github.com/iwind/TeaGo/assert" ) func TestFuncFloat(t *testing.T) { diff --git a/pkg/systemconfigs/bandwidth.go b/pkg/systemconfigs/bandwidth.go index caffb3b..21f83f8 100644 --- a/pkg/systemconfigs/bandwidth.go +++ b/pkg/systemconfigs/bandwidth.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package systemconfigs diff --git a/pkg/systemconfigs/theme_config.go b/pkg/systemconfigs/theme_config.go index d5599af..bc58956 100644 --- a/pkg/systemconfigs/theme_config.go +++ b/pkg/systemconfigs/theme_config.go @@ -1,4 +1,4 @@ -// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package systemconfigs diff --git a/pkg/systemconfigs/user_ui_config.go b/pkg/systemconfigs/user_ui_config.go index bc41994..40ab8da 100644 --- a/pkg/systemconfigs/user_ui_config.go +++ b/pkg/systemconfigs/user_ui_config.go @@ -1,9 +1,10 @@ package systemconfigs import ( + "time" + "github.com/iwind/TeaGo/types" timeutil "github.com/iwind/TeaGo/utils/time" - "time" ) // UserUIConfig 用户界面相关配置 diff --git a/pkg/userconfigs/user_identity_constants.go b/pkg/userconfigs/user_identity_constants.go index b080d9d..41eea85 100644 --- a/pkg/userconfigs/user_identity_constants.go +++ b/pkg/userconfigs/user_identity_constants.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package userconfigs diff --git a/pkg/userconfigs/user_modules.go b/pkg/userconfigs/user_modules.go index 367b893..035bbe6 100644 --- a/pkg/userconfigs/user_modules.go +++ b/pkg/userconfigs/user_modules.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package userconfigs diff --git a/pkg/userconfigs/user_ticket_config.go b/pkg/userconfigs/user_ticket_config.go index c83fcaf..b04151a 100644 --- a/pkg/userconfigs/user_ticket_config.go +++ b/pkg/userconfigs/user_ticket_config.go @@ -1,4 +1,4 @@ -// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn . +// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud . package userconfigs