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