github.com/v2fly/v2ray-core/v4@v4.45.2/app/router/config.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.27.1 4 // protoc v3.17.3 5 // source: app/router/config.proto 6 7 package router 8 9 import ( 10 net "github.com/v2fly/v2ray-core/v4/common/net" 11 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 12 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 13 reflect "reflect" 14 sync "sync" 15 ) 16 17 const ( 18 // Verify that this generated code is sufficiently up-to-date. 19 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 20 // Verify that runtime/protoimpl is sufficiently up-to-date. 21 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 22 ) 23 24 // Type of domain value. 25 type Domain_Type int32 26 27 const ( 28 // The value is used as is. 29 Domain_Plain Domain_Type = 0 30 // The value is used as a regular expression. 31 Domain_Regex Domain_Type = 1 32 // The value is a root domain. 33 Domain_Domain Domain_Type = 2 34 // The value is a domain. 35 Domain_Full Domain_Type = 3 36 ) 37 38 // Enum value maps for Domain_Type. 39 var ( 40 Domain_Type_name = map[int32]string{ 41 0: "Plain", 42 1: "Regex", 43 2: "Domain", 44 3: "Full", 45 } 46 Domain_Type_value = map[string]int32{ 47 "Plain": 0, 48 "Regex": 1, 49 "Domain": 2, 50 "Full": 3, 51 } 52 ) 53 54 func (x Domain_Type) Enum() *Domain_Type { 55 p := new(Domain_Type) 56 *p = x 57 return p 58 } 59 60 func (x Domain_Type) String() string { 61 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 62 } 63 64 func (Domain_Type) Descriptor() protoreflect.EnumDescriptor { 65 return file_app_router_config_proto_enumTypes[0].Descriptor() 66 } 67 68 func (Domain_Type) Type() protoreflect.EnumType { 69 return &file_app_router_config_proto_enumTypes[0] 70 } 71 72 func (x Domain_Type) Number() protoreflect.EnumNumber { 73 return protoreflect.EnumNumber(x) 74 } 75 76 // Deprecated: Use Domain_Type.Descriptor instead. 77 func (Domain_Type) EnumDescriptor() ([]byte, []int) { 78 return file_app_router_config_proto_rawDescGZIP(), []int{0, 0} 79 } 80 81 type Config_DomainStrategy int32 82 83 const ( 84 // Use domain as is. 85 Config_AsIs Config_DomainStrategy = 0 86 // Always resolve IP for domains. 87 Config_UseIp Config_DomainStrategy = 1 88 // Resolve to IP if the domain doesn't match any rules. 89 Config_IpIfNonMatch Config_DomainStrategy = 2 90 // Resolve to IP if any rule requires IP matching. 91 Config_IpOnDemand Config_DomainStrategy = 3 92 ) 93 94 // Enum value maps for Config_DomainStrategy. 95 var ( 96 Config_DomainStrategy_name = map[int32]string{ 97 0: "AsIs", 98 1: "UseIp", 99 2: "IpIfNonMatch", 100 3: "IpOnDemand", 101 } 102 Config_DomainStrategy_value = map[string]int32{ 103 "AsIs": 0, 104 "UseIp": 1, 105 "IpIfNonMatch": 2, 106 "IpOnDemand": 3, 107 } 108 ) 109 110 func (x Config_DomainStrategy) Enum() *Config_DomainStrategy { 111 p := new(Config_DomainStrategy) 112 *p = x 113 return p 114 } 115 116 func (x Config_DomainStrategy) String() string { 117 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 118 } 119 120 func (Config_DomainStrategy) Descriptor() protoreflect.EnumDescriptor { 121 return file_app_router_config_proto_enumTypes[1].Descriptor() 122 } 123 124 func (Config_DomainStrategy) Type() protoreflect.EnumType { 125 return &file_app_router_config_proto_enumTypes[1] 126 } 127 128 func (x Config_DomainStrategy) Number() protoreflect.EnumNumber { 129 return protoreflect.EnumNumber(x) 130 } 131 132 // Deprecated: Use Config_DomainStrategy.Descriptor instead. 133 func (Config_DomainStrategy) EnumDescriptor() ([]byte, []int) { 134 return file_app_router_config_proto_rawDescGZIP(), []int{8, 0} 135 } 136 137 // Domain for routing decision. 138 type Domain struct { 139 state protoimpl.MessageState 140 sizeCache protoimpl.SizeCache 141 unknownFields protoimpl.UnknownFields 142 143 // Domain matching type. 144 Type Domain_Type `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.router.Domain_Type" json:"type,omitempty"` 145 // Domain value. 146 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 147 // Attributes of this domain. May be used for filtering. 148 Attribute []*Domain_Attribute `protobuf:"bytes,3,rep,name=attribute,proto3" json:"attribute,omitempty"` 149 } 150 151 func (x *Domain) Reset() { 152 *x = Domain{} 153 if protoimpl.UnsafeEnabled { 154 mi := &file_app_router_config_proto_msgTypes[0] 155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 156 ms.StoreMessageInfo(mi) 157 } 158 } 159 160 func (x *Domain) String() string { 161 return protoimpl.X.MessageStringOf(x) 162 } 163 164 func (*Domain) ProtoMessage() {} 165 166 func (x *Domain) ProtoReflect() protoreflect.Message { 167 mi := &file_app_router_config_proto_msgTypes[0] 168 if protoimpl.UnsafeEnabled && x != nil { 169 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 170 if ms.LoadMessageInfo() == nil { 171 ms.StoreMessageInfo(mi) 172 } 173 return ms 174 } 175 return mi.MessageOf(x) 176 } 177 178 // Deprecated: Use Domain.ProtoReflect.Descriptor instead. 179 func (*Domain) Descriptor() ([]byte, []int) { 180 return file_app_router_config_proto_rawDescGZIP(), []int{0} 181 } 182 183 func (x *Domain) GetType() Domain_Type { 184 if x != nil { 185 return x.Type 186 } 187 return Domain_Plain 188 } 189 190 func (x *Domain) GetValue() string { 191 if x != nil { 192 return x.Value 193 } 194 return "" 195 } 196 197 func (x *Domain) GetAttribute() []*Domain_Attribute { 198 if x != nil { 199 return x.Attribute 200 } 201 return nil 202 } 203 204 // IP for routing decision, in CIDR form. 205 type CIDR struct { 206 state protoimpl.MessageState 207 sizeCache protoimpl.SizeCache 208 unknownFields protoimpl.UnknownFields 209 210 // IP address, should be either 4 or 16 bytes. 211 Ip []byte `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` 212 // Number of leading ones in the network mask. 213 Prefix uint32 `protobuf:"varint,2,opt,name=prefix,proto3" json:"prefix,omitempty"` 214 } 215 216 func (x *CIDR) Reset() { 217 *x = CIDR{} 218 if protoimpl.UnsafeEnabled { 219 mi := &file_app_router_config_proto_msgTypes[1] 220 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 221 ms.StoreMessageInfo(mi) 222 } 223 } 224 225 func (x *CIDR) String() string { 226 return protoimpl.X.MessageStringOf(x) 227 } 228 229 func (*CIDR) ProtoMessage() {} 230 231 func (x *CIDR) ProtoReflect() protoreflect.Message { 232 mi := &file_app_router_config_proto_msgTypes[1] 233 if protoimpl.UnsafeEnabled && x != nil { 234 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 235 if ms.LoadMessageInfo() == nil { 236 ms.StoreMessageInfo(mi) 237 } 238 return ms 239 } 240 return mi.MessageOf(x) 241 } 242 243 // Deprecated: Use CIDR.ProtoReflect.Descriptor instead. 244 func (*CIDR) Descriptor() ([]byte, []int) { 245 return file_app_router_config_proto_rawDescGZIP(), []int{1} 246 } 247 248 func (x *CIDR) GetIp() []byte { 249 if x != nil { 250 return x.Ip 251 } 252 return nil 253 } 254 255 func (x *CIDR) GetPrefix() uint32 { 256 if x != nil { 257 return x.Prefix 258 } 259 return 0 260 } 261 262 type GeoIP struct { 263 state protoimpl.MessageState 264 sizeCache protoimpl.SizeCache 265 unknownFields protoimpl.UnknownFields 266 267 CountryCode string `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"` 268 Cidr []*CIDR `protobuf:"bytes,2,rep,name=cidr,proto3" json:"cidr,omitempty"` 269 ReverseMatch bool `protobuf:"varint,3,opt,name=reverse_match,json=reverseMatch,proto3" json:"reverse_match,omitempty"` 270 } 271 272 func (x *GeoIP) Reset() { 273 *x = GeoIP{} 274 if protoimpl.UnsafeEnabled { 275 mi := &file_app_router_config_proto_msgTypes[2] 276 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 277 ms.StoreMessageInfo(mi) 278 } 279 } 280 281 func (x *GeoIP) String() string { 282 return protoimpl.X.MessageStringOf(x) 283 } 284 285 func (*GeoIP) ProtoMessage() {} 286 287 func (x *GeoIP) ProtoReflect() protoreflect.Message { 288 mi := &file_app_router_config_proto_msgTypes[2] 289 if protoimpl.UnsafeEnabled && x != nil { 290 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 291 if ms.LoadMessageInfo() == nil { 292 ms.StoreMessageInfo(mi) 293 } 294 return ms 295 } 296 return mi.MessageOf(x) 297 } 298 299 // Deprecated: Use GeoIP.ProtoReflect.Descriptor instead. 300 func (*GeoIP) Descriptor() ([]byte, []int) { 301 return file_app_router_config_proto_rawDescGZIP(), []int{2} 302 } 303 304 func (x *GeoIP) GetCountryCode() string { 305 if x != nil { 306 return x.CountryCode 307 } 308 return "" 309 } 310 311 func (x *GeoIP) GetCidr() []*CIDR { 312 if x != nil { 313 return x.Cidr 314 } 315 return nil 316 } 317 318 func (x *GeoIP) GetReverseMatch() bool { 319 if x != nil { 320 return x.ReverseMatch 321 } 322 return false 323 } 324 325 type GeoIPList struct { 326 state protoimpl.MessageState 327 sizeCache protoimpl.SizeCache 328 unknownFields protoimpl.UnknownFields 329 330 Entry []*GeoIP `protobuf:"bytes,1,rep,name=entry,proto3" json:"entry,omitempty"` 331 } 332 333 func (x *GeoIPList) Reset() { 334 *x = GeoIPList{} 335 if protoimpl.UnsafeEnabled { 336 mi := &file_app_router_config_proto_msgTypes[3] 337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 338 ms.StoreMessageInfo(mi) 339 } 340 } 341 342 func (x *GeoIPList) String() string { 343 return protoimpl.X.MessageStringOf(x) 344 } 345 346 func (*GeoIPList) ProtoMessage() {} 347 348 func (x *GeoIPList) ProtoReflect() protoreflect.Message { 349 mi := &file_app_router_config_proto_msgTypes[3] 350 if protoimpl.UnsafeEnabled && x != nil { 351 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 352 if ms.LoadMessageInfo() == nil { 353 ms.StoreMessageInfo(mi) 354 } 355 return ms 356 } 357 return mi.MessageOf(x) 358 } 359 360 // Deprecated: Use GeoIPList.ProtoReflect.Descriptor instead. 361 func (*GeoIPList) Descriptor() ([]byte, []int) { 362 return file_app_router_config_proto_rawDescGZIP(), []int{3} 363 } 364 365 func (x *GeoIPList) GetEntry() []*GeoIP { 366 if x != nil { 367 return x.Entry 368 } 369 return nil 370 } 371 372 type GeoSite struct { 373 state protoimpl.MessageState 374 sizeCache protoimpl.SizeCache 375 unknownFields protoimpl.UnknownFields 376 377 CountryCode string `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"` 378 Domain []*Domain `protobuf:"bytes,2,rep,name=domain,proto3" json:"domain,omitempty"` 379 } 380 381 func (x *GeoSite) Reset() { 382 *x = GeoSite{} 383 if protoimpl.UnsafeEnabled { 384 mi := &file_app_router_config_proto_msgTypes[4] 385 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 386 ms.StoreMessageInfo(mi) 387 } 388 } 389 390 func (x *GeoSite) String() string { 391 return protoimpl.X.MessageStringOf(x) 392 } 393 394 func (*GeoSite) ProtoMessage() {} 395 396 func (x *GeoSite) ProtoReflect() protoreflect.Message { 397 mi := &file_app_router_config_proto_msgTypes[4] 398 if protoimpl.UnsafeEnabled && x != nil { 399 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 400 if ms.LoadMessageInfo() == nil { 401 ms.StoreMessageInfo(mi) 402 } 403 return ms 404 } 405 return mi.MessageOf(x) 406 } 407 408 // Deprecated: Use GeoSite.ProtoReflect.Descriptor instead. 409 func (*GeoSite) Descriptor() ([]byte, []int) { 410 return file_app_router_config_proto_rawDescGZIP(), []int{4} 411 } 412 413 func (x *GeoSite) GetCountryCode() string { 414 if x != nil { 415 return x.CountryCode 416 } 417 return "" 418 } 419 420 func (x *GeoSite) GetDomain() []*Domain { 421 if x != nil { 422 return x.Domain 423 } 424 return nil 425 } 426 427 type GeoSiteList struct { 428 state protoimpl.MessageState 429 sizeCache protoimpl.SizeCache 430 unknownFields protoimpl.UnknownFields 431 432 Entry []*GeoSite `protobuf:"bytes,1,rep,name=entry,proto3" json:"entry,omitempty"` 433 } 434 435 func (x *GeoSiteList) Reset() { 436 *x = GeoSiteList{} 437 if protoimpl.UnsafeEnabled { 438 mi := &file_app_router_config_proto_msgTypes[5] 439 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 440 ms.StoreMessageInfo(mi) 441 } 442 } 443 444 func (x *GeoSiteList) String() string { 445 return protoimpl.X.MessageStringOf(x) 446 } 447 448 func (*GeoSiteList) ProtoMessage() {} 449 450 func (x *GeoSiteList) ProtoReflect() protoreflect.Message { 451 mi := &file_app_router_config_proto_msgTypes[5] 452 if protoimpl.UnsafeEnabled && x != nil { 453 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 454 if ms.LoadMessageInfo() == nil { 455 ms.StoreMessageInfo(mi) 456 } 457 return ms 458 } 459 return mi.MessageOf(x) 460 } 461 462 // Deprecated: Use GeoSiteList.ProtoReflect.Descriptor instead. 463 func (*GeoSiteList) Descriptor() ([]byte, []int) { 464 return file_app_router_config_proto_rawDescGZIP(), []int{5} 465 } 466 467 func (x *GeoSiteList) GetEntry() []*GeoSite { 468 if x != nil { 469 return x.Entry 470 } 471 return nil 472 } 473 474 type RoutingRule struct { 475 state protoimpl.MessageState 476 sizeCache protoimpl.SizeCache 477 unknownFields protoimpl.UnknownFields 478 479 // Types that are assignable to TargetTag: 480 // *RoutingRule_Tag 481 // *RoutingRule_BalancingTag 482 TargetTag isRoutingRule_TargetTag `protobuf_oneof:"target_tag"` 483 // List of domains for target domain matching. 484 Domain []*Domain `protobuf:"bytes,2,rep,name=domain,proto3" json:"domain,omitempty"` 485 // List of CIDRs for target IP address matching. 486 // Deprecated. Use geoip below. 487 // 488 // Deprecated: Do not use. 489 Cidr []*CIDR `protobuf:"bytes,3,rep,name=cidr,proto3" json:"cidr,omitempty"` 490 // List of GeoIPs for target IP address matching. If this entry exists, the 491 // cidr above will have no effect. GeoIP fields with the same country code are 492 // supposed to contain exactly same content. They will be merged during 493 // runtime. For customized GeoIPs, please leave country code empty. 494 Geoip []*GeoIP `protobuf:"bytes,10,rep,name=geoip,proto3" json:"geoip,omitempty"` 495 // A range of port [from, to]. If the destination port is in this range, this 496 // rule takes effect. Deprecated. Use port_list. 497 // 498 // Deprecated: Do not use. 499 PortRange *net.PortRange `protobuf:"bytes,4,opt,name=port_range,json=portRange,proto3" json:"port_range,omitempty"` 500 // List of ports. 501 PortList *net.PortList `protobuf:"bytes,14,opt,name=port_list,json=portList,proto3" json:"port_list,omitempty"` 502 // List of networks. Deprecated. Use networks. 503 // 504 // Deprecated: Do not use. 505 NetworkList *net.NetworkList `protobuf:"bytes,5,opt,name=network_list,json=networkList,proto3" json:"network_list,omitempty"` 506 // List of networks for matching. 507 Networks []net.Network `protobuf:"varint,13,rep,packed,name=networks,proto3,enum=v2ray.core.common.net.Network" json:"networks,omitempty"` 508 // List of CIDRs for source IP address matching. 509 // 510 // Deprecated: Do not use. 511 SourceCidr []*CIDR `protobuf:"bytes,6,rep,name=source_cidr,json=sourceCidr,proto3" json:"source_cidr,omitempty"` 512 // List of GeoIPs for source IP address matching. If this entry exists, the 513 // source_cidr above will have no effect. 514 SourceGeoip []*GeoIP `protobuf:"bytes,11,rep,name=source_geoip,json=sourceGeoip,proto3" json:"source_geoip,omitempty"` 515 // List of ports for source port matching. 516 SourcePortList *net.PortList `protobuf:"bytes,16,opt,name=source_port_list,json=sourcePortList,proto3" json:"source_port_list,omitempty"` 517 UserEmail []string `protobuf:"bytes,7,rep,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` 518 InboundTag []string `protobuf:"bytes,8,rep,name=inbound_tag,json=inboundTag,proto3" json:"inbound_tag,omitempty"` 519 Protocol []string `protobuf:"bytes,9,rep,name=protocol,proto3" json:"protocol,omitempty"` 520 Attributes string `protobuf:"bytes,15,opt,name=attributes,proto3" json:"attributes,omitempty"` 521 DomainMatcher string `protobuf:"bytes,17,opt,name=domain_matcher,json=domainMatcher,proto3" json:"domain_matcher,omitempty"` 522 } 523 524 func (x *RoutingRule) Reset() { 525 *x = RoutingRule{} 526 if protoimpl.UnsafeEnabled { 527 mi := &file_app_router_config_proto_msgTypes[6] 528 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 529 ms.StoreMessageInfo(mi) 530 } 531 } 532 533 func (x *RoutingRule) String() string { 534 return protoimpl.X.MessageStringOf(x) 535 } 536 537 func (*RoutingRule) ProtoMessage() {} 538 539 func (x *RoutingRule) ProtoReflect() protoreflect.Message { 540 mi := &file_app_router_config_proto_msgTypes[6] 541 if protoimpl.UnsafeEnabled && x != nil { 542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 543 if ms.LoadMessageInfo() == nil { 544 ms.StoreMessageInfo(mi) 545 } 546 return ms 547 } 548 return mi.MessageOf(x) 549 } 550 551 // Deprecated: Use RoutingRule.ProtoReflect.Descriptor instead. 552 func (*RoutingRule) Descriptor() ([]byte, []int) { 553 return file_app_router_config_proto_rawDescGZIP(), []int{6} 554 } 555 556 func (m *RoutingRule) GetTargetTag() isRoutingRule_TargetTag { 557 if m != nil { 558 return m.TargetTag 559 } 560 return nil 561 } 562 563 func (x *RoutingRule) GetTag() string { 564 if x, ok := x.GetTargetTag().(*RoutingRule_Tag); ok { 565 return x.Tag 566 } 567 return "" 568 } 569 570 func (x *RoutingRule) GetBalancingTag() string { 571 if x, ok := x.GetTargetTag().(*RoutingRule_BalancingTag); ok { 572 return x.BalancingTag 573 } 574 return "" 575 } 576 577 func (x *RoutingRule) GetDomain() []*Domain { 578 if x != nil { 579 return x.Domain 580 } 581 return nil 582 } 583 584 // Deprecated: Do not use. 585 func (x *RoutingRule) GetCidr() []*CIDR { 586 if x != nil { 587 return x.Cidr 588 } 589 return nil 590 } 591 592 func (x *RoutingRule) GetGeoip() []*GeoIP { 593 if x != nil { 594 return x.Geoip 595 } 596 return nil 597 } 598 599 // Deprecated: Do not use. 600 func (x *RoutingRule) GetPortRange() *net.PortRange { 601 if x != nil { 602 return x.PortRange 603 } 604 return nil 605 } 606 607 func (x *RoutingRule) GetPortList() *net.PortList { 608 if x != nil { 609 return x.PortList 610 } 611 return nil 612 } 613 614 // Deprecated: Do not use. 615 func (x *RoutingRule) GetNetworkList() *net.NetworkList { 616 if x != nil { 617 return x.NetworkList 618 } 619 return nil 620 } 621 622 func (x *RoutingRule) GetNetworks() []net.Network { 623 if x != nil { 624 return x.Networks 625 } 626 return nil 627 } 628 629 // Deprecated: Do not use. 630 func (x *RoutingRule) GetSourceCidr() []*CIDR { 631 if x != nil { 632 return x.SourceCidr 633 } 634 return nil 635 } 636 637 func (x *RoutingRule) GetSourceGeoip() []*GeoIP { 638 if x != nil { 639 return x.SourceGeoip 640 } 641 return nil 642 } 643 644 func (x *RoutingRule) GetSourcePortList() *net.PortList { 645 if x != nil { 646 return x.SourcePortList 647 } 648 return nil 649 } 650 651 func (x *RoutingRule) GetUserEmail() []string { 652 if x != nil { 653 return x.UserEmail 654 } 655 return nil 656 } 657 658 func (x *RoutingRule) GetInboundTag() []string { 659 if x != nil { 660 return x.InboundTag 661 } 662 return nil 663 } 664 665 func (x *RoutingRule) GetProtocol() []string { 666 if x != nil { 667 return x.Protocol 668 } 669 return nil 670 } 671 672 func (x *RoutingRule) GetAttributes() string { 673 if x != nil { 674 return x.Attributes 675 } 676 return "" 677 } 678 679 func (x *RoutingRule) GetDomainMatcher() string { 680 if x != nil { 681 return x.DomainMatcher 682 } 683 return "" 684 } 685 686 type isRoutingRule_TargetTag interface { 687 isRoutingRule_TargetTag() 688 } 689 690 type RoutingRule_Tag struct { 691 // Tag of outbound that this rule is pointing to. 692 Tag string `protobuf:"bytes,1,opt,name=tag,proto3,oneof"` 693 } 694 695 type RoutingRule_BalancingTag struct { 696 // Tag of routing balancer. 697 BalancingTag string `protobuf:"bytes,12,opt,name=balancing_tag,json=balancingTag,proto3,oneof"` 698 } 699 700 func (*RoutingRule_Tag) isRoutingRule_TargetTag() {} 701 702 func (*RoutingRule_BalancingTag) isRoutingRule_TargetTag() {} 703 704 type BalancingRule struct { 705 state protoimpl.MessageState 706 sizeCache protoimpl.SizeCache 707 unknownFields protoimpl.UnknownFields 708 709 Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` 710 OutboundSelector []string `protobuf:"bytes,2,rep,name=outbound_selector,json=outboundSelector,proto3" json:"outbound_selector,omitempty"` 711 Strategy string `protobuf:"bytes,3,opt,name=strategy,proto3" json:"strategy,omitempty"` 712 } 713 714 func (x *BalancingRule) Reset() { 715 *x = BalancingRule{} 716 if protoimpl.UnsafeEnabled { 717 mi := &file_app_router_config_proto_msgTypes[7] 718 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 719 ms.StoreMessageInfo(mi) 720 } 721 } 722 723 func (x *BalancingRule) String() string { 724 return protoimpl.X.MessageStringOf(x) 725 } 726 727 func (*BalancingRule) ProtoMessage() {} 728 729 func (x *BalancingRule) ProtoReflect() protoreflect.Message { 730 mi := &file_app_router_config_proto_msgTypes[7] 731 if protoimpl.UnsafeEnabled && x != nil { 732 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 733 if ms.LoadMessageInfo() == nil { 734 ms.StoreMessageInfo(mi) 735 } 736 return ms 737 } 738 return mi.MessageOf(x) 739 } 740 741 // Deprecated: Use BalancingRule.ProtoReflect.Descriptor instead. 742 func (*BalancingRule) Descriptor() ([]byte, []int) { 743 return file_app_router_config_proto_rawDescGZIP(), []int{7} 744 } 745 746 func (x *BalancingRule) GetTag() string { 747 if x != nil { 748 return x.Tag 749 } 750 return "" 751 } 752 753 func (x *BalancingRule) GetOutboundSelector() []string { 754 if x != nil { 755 return x.OutboundSelector 756 } 757 return nil 758 } 759 760 func (x *BalancingRule) GetStrategy() string { 761 if x != nil { 762 return x.Strategy 763 } 764 return "" 765 } 766 767 type Config struct { 768 state protoimpl.MessageState 769 sizeCache protoimpl.SizeCache 770 unknownFields protoimpl.UnknownFields 771 772 DomainStrategy Config_DomainStrategy `protobuf:"varint,1,opt,name=domain_strategy,json=domainStrategy,proto3,enum=v2ray.core.app.router.Config_DomainStrategy" json:"domain_strategy,omitempty"` 773 Rule []*RoutingRule `protobuf:"bytes,2,rep,name=rule,proto3" json:"rule,omitempty"` 774 BalancingRule []*BalancingRule `protobuf:"bytes,3,rep,name=balancing_rule,json=balancingRule,proto3" json:"balancing_rule,omitempty"` 775 } 776 777 func (x *Config) Reset() { 778 *x = Config{} 779 if protoimpl.UnsafeEnabled { 780 mi := &file_app_router_config_proto_msgTypes[8] 781 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 782 ms.StoreMessageInfo(mi) 783 } 784 } 785 786 func (x *Config) String() string { 787 return protoimpl.X.MessageStringOf(x) 788 } 789 790 func (*Config) ProtoMessage() {} 791 792 func (x *Config) ProtoReflect() protoreflect.Message { 793 mi := &file_app_router_config_proto_msgTypes[8] 794 if protoimpl.UnsafeEnabled && x != nil { 795 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 796 if ms.LoadMessageInfo() == nil { 797 ms.StoreMessageInfo(mi) 798 } 799 return ms 800 } 801 return mi.MessageOf(x) 802 } 803 804 // Deprecated: Use Config.ProtoReflect.Descriptor instead. 805 func (*Config) Descriptor() ([]byte, []int) { 806 return file_app_router_config_proto_rawDescGZIP(), []int{8} 807 } 808 809 func (x *Config) GetDomainStrategy() Config_DomainStrategy { 810 if x != nil { 811 return x.DomainStrategy 812 } 813 return Config_AsIs 814 } 815 816 func (x *Config) GetRule() []*RoutingRule { 817 if x != nil { 818 return x.Rule 819 } 820 return nil 821 } 822 823 func (x *Config) GetBalancingRule() []*BalancingRule { 824 if x != nil { 825 return x.BalancingRule 826 } 827 return nil 828 } 829 830 type Domain_Attribute struct { 831 state protoimpl.MessageState 832 sizeCache protoimpl.SizeCache 833 unknownFields protoimpl.UnknownFields 834 835 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 836 // Types that are assignable to TypedValue: 837 // *Domain_Attribute_BoolValue 838 // *Domain_Attribute_IntValue 839 TypedValue isDomain_Attribute_TypedValue `protobuf_oneof:"typed_value"` 840 } 841 842 func (x *Domain_Attribute) Reset() { 843 *x = Domain_Attribute{} 844 if protoimpl.UnsafeEnabled { 845 mi := &file_app_router_config_proto_msgTypes[9] 846 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 847 ms.StoreMessageInfo(mi) 848 } 849 } 850 851 func (x *Domain_Attribute) String() string { 852 return protoimpl.X.MessageStringOf(x) 853 } 854 855 func (*Domain_Attribute) ProtoMessage() {} 856 857 func (x *Domain_Attribute) ProtoReflect() protoreflect.Message { 858 mi := &file_app_router_config_proto_msgTypes[9] 859 if protoimpl.UnsafeEnabled && x != nil { 860 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 861 if ms.LoadMessageInfo() == nil { 862 ms.StoreMessageInfo(mi) 863 } 864 return ms 865 } 866 return mi.MessageOf(x) 867 } 868 869 // Deprecated: Use Domain_Attribute.ProtoReflect.Descriptor instead. 870 func (*Domain_Attribute) Descriptor() ([]byte, []int) { 871 return file_app_router_config_proto_rawDescGZIP(), []int{0, 0} 872 } 873 874 func (x *Domain_Attribute) GetKey() string { 875 if x != nil { 876 return x.Key 877 } 878 return "" 879 } 880 881 func (m *Domain_Attribute) GetTypedValue() isDomain_Attribute_TypedValue { 882 if m != nil { 883 return m.TypedValue 884 } 885 return nil 886 } 887 888 func (x *Domain_Attribute) GetBoolValue() bool { 889 if x, ok := x.GetTypedValue().(*Domain_Attribute_BoolValue); ok { 890 return x.BoolValue 891 } 892 return false 893 } 894 895 func (x *Domain_Attribute) GetIntValue() int64 { 896 if x, ok := x.GetTypedValue().(*Domain_Attribute_IntValue); ok { 897 return x.IntValue 898 } 899 return 0 900 } 901 902 type isDomain_Attribute_TypedValue interface { 903 isDomain_Attribute_TypedValue() 904 } 905 906 type Domain_Attribute_BoolValue struct { 907 BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"` 908 } 909 910 type Domain_Attribute_IntValue struct { 911 IntValue int64 `protobuf:"varint,3,opt,name=int_value,json=intValue,proto3,oneof"` 912 } 913 914 func (*Domain_Attribute_BoolValue) isDomain_Attribute_TypedValue() {} 915 916 func (*Domain_Attribute_IntValue) isDomain_Attribute_TypedValue() {} 917 918 var File_app_router_config_proto protoreflect.FileDescriptor 919 920 var file_app_router_config_proto_rawDesc = []byte{ 921 0x0a, 0x17, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 922 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x76, 0x32, 0x72, 0x61, 0x79, 923 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 924 0x1a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x70, 0x6f, 0x72, 925 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 926 0x6e, 0x65, 0x74, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 927 0x6f, 0x22, 0xbf, 0x02, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x36, 0x0a, 0x04, 928 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x76, 0x32, 0x72, 929 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 930 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 931 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 932 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x61, 0x74, 933 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 934 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 935 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x41, 0x74, 0x74, 936 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 937 0x65, 0x1a, 0x6c, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 938 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 939 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 940 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 941 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 942 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 943 0x42, 0x0d, 0x0a, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 944 0x32, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x6c, 0x61, 0x69, 0x6e, 945 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x65, 0x67, 0x65, 0x78, 0x10, 0x01, 0x12, 0x0a, 0x0a, 946 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x75, 0x6c, 947 0x6c, 0x10, 0x03, 0x22, 0x2e, 0x0a, 0x04, 0x43, 0x49, 0x44, 0x52, 0x12, 0x0e, 0x0a, 0x02, 0x69, 948 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x70, 949 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x72, 0x65, 950 0x66, 0x69, 0x78, 0x22, 0x80, 0x01, 0x0a, 0x05, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x12, 0x21, 0x0a, 951 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 952 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 953 0x12, 0x2f, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 954 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 955 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x49, 0x44, 0x52, 0x52, 0x04, 0x63, 0x69, 0x64, 956 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 957 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 958 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x3f, 0x0a, 0x09, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x4c, 959 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 960 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 961 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 962 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x63, 0x0a, 0x07, 0x47, 0x65, 0x6f, 0x53, 0x69, 963 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 964 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 965 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 966 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 967 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 968 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x43, 0x0a, 0x0b, 969 0x47, 0x65, 0x6f, 0x53, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x65, 970 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x32, 0x72, 971 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 972 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x53, 0x69, 0x74, 0x65, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 973 0x79, 0x22, 0xf1, 0x06, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 974 0x65, 0x12, 0x12, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 975 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 976 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 977 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x35, 0x0a, 0x06, 978 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 979 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 980 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x64, 0x6f, 0x6d, 981 0x61, 0x69, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 982 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 983 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x49, 0x44, 0x52, 0x42, 0x02, 984 0x18, 0x01, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x67, 0x65, 0x6f, 0x69, 985 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 986 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 987 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x43, 0x0a, 0x0a, 988 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 989 0x32, 0x20, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 990 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 991 0x67, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 992 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 993 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 994 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x50, 0x6f, 0x72, 995 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 996 0x49, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 997 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 998 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x4e, 0x65, 999 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x6e, 1000 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x6e, 0x65, 1001 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x76, 1002 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 1003 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 1004 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1005 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x32, 1006 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 1007 0x74, 0x65, 0x72, 0x2e, 0x43, 0x49, 0x44, 0x52, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x73, 0x6f, 1008 0x75, 0x72, 0x63, 0x65, 0x43, 0x69, 0x64, 0x72, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 1009 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 1010 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 1011 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x0b, 0x73, 0x6f, 1012 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x6f, 0x75, 1013 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 1014 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 1015 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x50, 0x6f, 0x72, 0x74, 1016 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 1017 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 1018 0x69, 0x6c, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 1019 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 1020 0x61, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 1021 0x64, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 1022 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 1023 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0f, 1024 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 1025 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 1026 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 1027 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 1028 0x74, 0x5f, 0x74, 0x61, 0x67, 0x22, 0x6a, 0x0a, 0x0d, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 1029 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 1030 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x62, 1031 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 1032 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x65, 0x6c, 1033 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1034 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 1035 0x79, 0x22, 0xad, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x0f, 1036 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 1037 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 1038 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 1039 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 1040 0x65, 0x67, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 1041 0x65, 0x67, 0x79, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 1042 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 1043 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 1044 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x62, 1045 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 1046 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 1047 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x6c, 0x61, 1048 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 1049 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x47, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 1050 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x73, 1051 0x49, 0x73, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x49, 0x70, 0x10, 0x01, 0x12, 1052 0x10, 0x0a, 0x0c, 0x49, 0x70, 0x49, 0x66, 0x4e, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 1053 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x70, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x10, 1054 0x03, 0x42, 0x60, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 1055 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x01, 1056 0x5a, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 1057 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x34, 1058 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0xaa, 0x02, 0x15, 0x56, 0x32, 1059 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x6f, 0x75, 1060 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1061 } 1062 1063 var ( 1064 file_app_router_config_proto_rawDescOnce sync.Once 1065 file_app_router_config_proto_rawDescData = file_app_router_config_proto_rawDesc 1066 ) 1067 1068 func file_app_router_config_proto_rawDescGZIP() []byte { 1069 file_app_router_config_proto_rawDescOnce.Do(func() { 1070 file_app_router_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_app_router_config_proto_rawDescData) 1071 }) 1072 return file_app_router_config_proto_rawDescData 1073 } 1074 1075 var file_app_router_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1076 var file_app_router_config_proto_msgTypes = make([]protoimpl.MessageInfo, 10) 1077 var file_app_router_config_proto_goTypes = []interface{}{ 1078 (Domain_Type)(0), // 0: v2ray.core.app.router.Domain.Type 1079 (Config_DomainStrategy)(0), // 1: v2ray.core.app.router.Config.DomainStrategy 1080 (*Domain)(nil), // 2: v2ray.core.app.router.Domain 1081 (*CIDR)(nil), // 3: v2ray.core.app.router.CIDR 1082 (*GeoIP)(nil), // 4: v2ray.core.app.router.GeoIP 1083 (*GeoIPList)(nil), // 5: v2ray.core.app.router.GeoIPList 1084 (*GeoSite)(nil), // 6: v2ray.core.app.router.GeoSite 1085 (*GeoSiteList)(nil), // 7: v2ray.core.app.router.GeoSiteList 1086 (*RoutingRule)(nil), // 8: v2ray.core.app.router.RoutingRule 1087 (*BalancingRule)(nil), // 9: v2ray.core.app.router.BalancingRule 1088 (*Config)(nil), // 10: v2ray.core.app.router.Config 1089 (*Domain_Attribute)(nil), // 11: v2ray.core.app.router.Domain.Attribute 1090 (*net.PortRange)(nil), // 12: v2ray.core.common.net.PortRange 1091 (*net.PortList)(nil), // 13: v2ray.core.common.net.PortList 1092 (*net.NetworkList)(nil), // 14: v2ray.core.common.net.NetworkList 1093 (net.Network)(0), // 15: v2ray.core.common.net.Network 1094 } 1095 var file_app_router_config_proto_depIdxs = []int32{ 1096 0, // 0: v2ray.core.app.router.Domain.type:type_name -> v2ray.core.app.router.Domain.Type 1097 11, // 1: v2ray.core.app.router.Domain.attribute:type_name -> v2ray.core.app.router.Domain.Attribute 1098 3, // 2: v2ray.core.app.router.GeoIP.cidr:type_name -> v2ray.core.app.router.CIDR 1099 4, // 3: v2ray.core.app.router.GeoIPList.entry:type_name -> v2ray.core.app.router.GeoIP 1100 2, // 4: v2ray.core.app.router.GeoSite.domain:type_name -> v2ray.core.app.router.Domain 1101 6, // 5: v2ray.core.app.router.GeoSiteList.entry:type_name -> v2ray.core.app.router.GeoSite 1102 2, // 6: v2ray.core.app.router.RoutingRule.domain:type_name -> v2ray.core.app.router.Domain 1103 3, // 7: v2ray.core.app.router.RoutingRule.cidr:type_name -> v2ray.core.app.router.CIDR 1104 4, // 8: v2ray.core.app.router.RoutingRule.geoip:type_name -> v2ray.core.app.router.GeoIP 1105 12, // 9: v2ray.core.app.router.RoutingRule.port_range:type_name -> v2ray.core.common.net.PortRange 1106 13, // 10: v2ray.core.app.router.RoutingRule.port_list:type_name -> v2ray.core.common.net.PortList 1107 14, // 11: v2ray.core.app.router.RoutingRule.network_list:type_name -> v2ray.core.common.net.NetworkList 1108 15, // 12: v2ray.core.app.router.RoutingRule.networks:type_name -> v2ray.core.common.net.Network 1109 3, // 13: v2ray.core.app.router.RoutingRule.source_cidr:type_name -> v2ray.core.app.router.CIDR 1110 4, // 14: v2ray.core.app.router.RoutingRule.source_geoip:type_name -> v2ray.core.app.router.GeoIP 1111 13, // 15: v2ray.core.app.router.RoutingRule.source_port_list:type_name -> v2ray.core.common.net.PortList 1112 1, // 16: v2ray.core.app.router.Config.domain_strategy:type_name -> v2ray.core.app.router.Config.DomainStrategy 1113 8, // 17: v2ray.core.app.router.Config.rule:type_name -> v2ray.core.app.router.RoutingRule 1114 9, // 18: v2ray.core.app.router.Config.balancing_rule:type_name -> v2ray.core.app.router.BalancingRule 1115 19, // [19:19] is the sub-list for method output_type 1116 19, // [19:19] is the sub-list for method input_type 1117 19, // [19:19] is the sub-list for extension type_name 1118 19, // [19:19] is the sub-list for extension extendee 1119 0, // [0:19] is the sub-list for field type_name 1120 } 1121 1122 func init() { file_app_router_config_proto_init() } 1123 func file_app_router_config_proto_init() { 1124 if File_app_router_config_proto != nil { 1125 return 1126 } 1127 if !protoimpl.UnsafeEnabled { 1128 file_app_router_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1129 switch v := v.(*Domain); i { 1130 case 0: 1131 return &v.state 1132 case 1: 1133 return &v.sizeCache 1134 case 2: 1135 return &v.unknownFields 1136 default: 1137 return nil 1138 } 1139 } 1140 file_app_router_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1141 switch v := v.(*CIDR); i { 1142 case 0: 1143 return &v.state 1144 case 1: 1145 return &v.sizeCache 1146 case 2: 1147 return &v.unknownFields 1148 default: 1149 return nil 1150 } 1151 } 1152 file_app_router_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1153 switch v := v.(*GeoIP); i { 1154 case 0: 1155 return &v.state 1156 case 1: 1157 return &v.sizeCache 1158 case 2: 1159 return &v.unknownFields 1160 default: 1161 return nil 1162 } 1163 } 1164 file_app_router_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1165 switch v := v.(*GeoIPList); i { 1166 case 0: 1167 return &v.state 1168 case 1: 1169 return &v.sizeCache 1170 case 2: 1171 return &v.unknownFields 1172 default: 1173 return nil 1174 } 1175 } 1176 file_app_router_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1177 switch v := v.(*GeoSite); i { 1178 case 0: 1179 return &v.state 1180 case 1: 1181 return &v.sizeCache 1182 case 2: 1183 return &v.unknownFields 1184 default: 1185 return nil 1186 } 1187 } 1188 file_app_router_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1189 switch v := v.(*GeoSiteList); i { 1190 case 0: 1191 return &v.state 1192 case 1: 1193 return &v.sizeCache 1194 case 2: 1195 return &v.unknownFields 1196 default: 1197 return nil 1198 } 1199 } 1200 file_app_router_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1201 switch v := v.(*RoutingRule); i { 1202 case 0: 1203 return &v.state 1204 case 1: 1205 return &v.sizeCache 1206 case 2: 1207 return &v.unknownFields 1208 default: 1209 return nil 1210 } 1211 } 1212 file_app_router_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1213 switch v := v.(*BalancingRule); i { 1214 case 0: 1215 return &v.state 1216 case 1: 1217 return &v.sizeCache 1218 case 2: 1219 return &v.unknownFields 1220 default: 1221 return nil 1222 } 1223 } 1224 file_app_router_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1225 switch v := v.(*Config); i { 1226 case 0: 1227 return &v.state 1228 case 1: 1229 return &v.sizeCache 1230 case 2: 1231 return &v.unknownFields 1232 default: 1233 return nil 1234 } 1235 } 1236 file_app_router_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1237 switch v := v.(*Domain_Attribute); i { 1238 case 0: 1239 return &v.state 1240 case 1: 1241 return &v.sizeCache 1242 case 2: 1243 return &v.unknownFields 1244 default: 1245 return nil 1246 } 1247 } 1248 } 1249 file_app_router_config_proto_msgTypes[6].OneofWrappers = []interface{}{ 1250 (*RoutingRule_Tag)(nil), 1251 (*RoutingRule_BalancingTag)(nil), 1252 } 1253 file_app_router_config_proto_msgTypes[9].OneofWrappers = []interface{}{ 1254 (*Domain_Attribute_BoolValue)(nil), 1255 (*Domain_Attribute_IntValue)(nil), 1256 } 1257 type x struct{} 1258 out := protoimpl.TypeBuilder{ 1259 File: protoimpl.DescBuilder{ 1260 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1261 RawDescriptor: file_app_router_config_proto_rawDesc, 1262 NumEnums: 2, 1263 NumMessages: 10, 1264 NumExtensions: 0, 1265 NumServices: 0, 1266 }, 1267 GoTypes: file_app_router_config_proto_goTypes, 1268 DependencyIndexes: file_app_router_config_proto_depIdxs, 1269 EnumInfos: file_app_router_config_proto_enumTypes, 1270 MessageInfos: file_app_router_config_proto_msgTypes, 1271 }.Build() 1272 File_app_router_config_proto = out.File 1273 file_app_router_config_proto_rawDesc = nil 1274 file_app_router_config_proto_goTypes = nil 1275 file_app_router_config_proto_depIdxs = nil 1276 }