github.com/EagleQL/Xray-core@v1.4.3/app/router/config.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.26.0 4 // protoc v3.15.8 5 // source: app/router/config.proto 6 7 package router 8 9 import ( 10 net "github.com/xtls/xray-core/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=xray.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 } 270 271 func (x *GeoIP) Reset() { 272 *x = GeoIP{} 273 if protoimpl.UnsafeEnabled { 274 mi := &file_app_router_config_proto_msgTypes[2] 275 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 276 ms.StoreMessageInfo(mi) 277 } 278 } 279 280 func (x *GeoIP) String() string { 281 return protoimpl.X.MessageStringOf(x) 282 } 283 284 func (*GeoIP) ProtoMessage() {} 285 286 func (x *GeoIP) ProtoReflect() protoreflect.Message { 287 mi := &file_app_router_config_proto_msgTypes[2] 288 if protoimpl.UnsafeEnabled && x != nil { 289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 290 if ms.LoadMessageInfo() == nil { 291 ms.StoreMessageInfo(mi) 292 } 293 return ms 294 } 295 return mi.MessageOf(x) 296 } 297 298 // Deprecated: Use GeoIP.ProtoReflect.Descriptor instead. 299 func (*GeoIP) Descriptor() ([]byte, []int) { 300 return file_app_router_config_proto_rawDescGZIP(), []int{2} 301 } 302 303 func (x *GeoIP) GetCountryCode() string { 304 if x != nil { 305 return x.CountryCode 306 } 307 return "" 308 } 309 310 func (x *GeoIP) GetCidr() []*CIDR { 311 if x != nil { 312 return x.Cidr 313 } 314 return nil 315 } 316 317 type GeoIPList struct { 318 state protoimpl.MessageState 319 sizeCache protoimpl.SizeCache 320 unknownFields protoimpl.UnknownFields 321 322 Entry []*GeoIP `protobuf:"bytes,1,rep,name=entry,proto3" json:"entry,omitempty"` 323 } 324 325 func (x *GeoIPList) Reset() { 326 *x = GeoIPList{} 327 if protoimpl.UnsafeEnabled { 328 mi := &file_app_router_config_proto_msgTypes[3] 329 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 330 ms.StoreMessageInfo(mi) 331 } 332 } 333 334 func (x *GeoIPList) String() string { 335 return protoimpl.X.MessageStringOf(x) 336 } 337 338 func (*GeoIPList) ProtoMessage() {} 339 340 func (x *GeoIPList) ProtoReflect() protoreflect.Message { 341 mi := &file_app_router_config_proto_msgTypes[3] 342 if protoimpl.UnsafeEnabled && x != nil { 343 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 344 if ms.LoadMessageInfo() == nil { 345 ms.StoreMessageInfo(mi) 346 } 347 return ms 348 } 349 return mi.MessageOf(x) 350 } 351 352 // Deprecated: Use GeoIPList.ProtoReflect.Descriptor instead. 353 func (*GeoIPList) Descriptor() ([]byte, []int) { 354 return file_app_router_config_proto_rawDescGZIP(), []int{3} 355 } 356 357 func (x *GeoIPList) GetEntry() []*GeoIP { 358 if x != nil { 359 return x.Entry 360 } 361 return nil 362 } 363 364 type GeoSite struct { 365 state protoimpl.MessageState 366 sizeCache protoimpl.SizeCache 367 unknownFields protoimpl.UnknownFields 368 369 CountryCode string `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"` 370 Domain []*Domain `protobuf:"bytes,2,rep,name=domain,proto3" json:"domain,omitempty"` 371 } 372 373 func (x *GeoSite) Reset() { 374 *x = GeoSite{} 375 if protoimpl.UnsafeEnabled { 376 mi := &file_app_router_config_proto_msgTypes[4] 377 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 378 ms.StoreMessageInfo(mi) 379 } 380 } 381 382 func (x *GeoSite) String() string { 383 return protoimpl.X.MessageStringOf(x) 384 } 385 386 func (*GeoSite) ProtoMessage() {} 387 388 func (x *GeoSite) ProtoReflect() protoreflect.Message { 389 mi := &file_app_router_config_proto_msgTypes[4] 390 if protoimpl.UnsafeEnabled && x != nil { 391 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 392 if ms.LoadMessageInfo() == nil { 393 ms.StoreMessageInfo(mi) 394 } 395 return ms 396 } 397 return mi.MessageOf(x) 398 } 399 400 // Deprecated: Use GeoSite.ProtoReflect.Descriptor instead. 401 func (*GeoSite) Descriptor() ([]byte, []int) { 402 return file_app_router_config_proto_rawDescGZIP(), []int{4} 403 } 404 405 func (x *GeoSite) GetCountryCode() string { 406 if x != nil { 407 return x.CountryCode 408 } 409 return "" 410 } 411 412 func (x *GeoSite) GetDomain() []*Domain { 413 if x != nil { 414 return x.Domain 415 } 416 return nil 417 } 418 419 type GeoSiteList struct { 420 state protoimpl.MessageState 421 sizeCache protoimpl.SizeCache 422 unknownFields protoimpl.UnknownFields 423 424 Entry []*GeoSite `protobuf:"bytes,1,rep,name=entry,proto3" json:"entry,omitempty"` 425 } 426 427 func (x *GeoSiteList) Reset() { 428 *x = GeoSiteList{} 429 if protoimpl.UnsafeEnabled { 430 mi := &file_app_router_config_proto_msgTypes[5] 431 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 432 ms.StoreMessageInfo(mi) 433 } 434 } 435 436 func (x *GeoSiteList) String() string { 437 return protoimpl.X.MessageStringOf(x) 438 } 439 440 func (*GeoSiteList) ProtoMessage() {} 441 442 func (x *GeoSiteList) ProtoReflect() protoreflect.Message { 443 mi := &file_app_router_config_proto_msgTypes[5] 444 if protoimpl.UnsafeEnabled && x != nil { 445 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 446 if ms.LoadMessageInfo() == nil { 447 ms.StoreMessageInfo(mi) 448 } 449 return ms 450 } 451 return mi.MessageOf(x) 452 } 453 454 // Deprecated: Use GeoSiteList.ProtoReflect.Descriptor instead. 455 func (*GeoSiteList) Descriptor() ([]byte, []int) { 456 return file_app_router_config_proto_rawDescGZIP(), []int{5} 457 } 458 459 func (x *GeoSiteList) GetEntry() []*GeoSite { 460 if x != nil { 461 return x.Entry 462 } 463 return nil 464 } 465 466 type RoutingRule struct { 467 state protoimpl.MessageState 468 sizeCache protoimpl.SizeCache 469 unknownFields protoimpl.UnknownFields 470 471 // Types that are assignable to TargetTag: 472 // *RoutingRule_Tag 473 // *RoutingRule_BalancingTag 474 TargetTag isRoutingRule_TargetTag `protobuf_oneof:"target_tag"` 475 // List of domains for target domain matching. 476 Domain []*Domain `protobuf:"bytes,2,rep,name=domain,proto3" json:"domain,omitempty"` 477 // List of CIDRs for target IP address matching. 478 // Deprecated. Use geoip below. 479 // 480 // Deprecated: Do not use. 481 Cidr []*CIDR `protobuf:"bytes,3,rep,name=cidr,proto3" json:"cidr,omitempty"` 482 // List of GeoIPs for target IP address matching. If this entry exists, the 483 // cidr above will have no effect. GeoIP fields with the same country code are 484 // supposed to contain exactly same content. They will be merged during 485 // runtime. For customized GeoIPs, please leave country code empty. 486 Geoip []*GeoIP `protobuf:"bytes,10,rep,name=geoip,proto3" json:"geoip,omitempty"` 487 // A range of port [from, to]. If the destination port is in this range, this 488 // rule takes effect. Deprecated. Use port_list. 489 // 490 // Deprecated: Do not use. 491 PortRange *net.PortRange `protobuf:"bytes,4,opt,name=port_range,json=portRange,proto3" json:"port_range,omitempty"` 492 // List of ports. 493 PortList *net.PortList `protobuf:"bytes,14,opt,name=port_list,json=portList,proto3" json:"port_list,omitempty"` 494 // List of networks. Deprecated. Use networks. 495 // 496 // Deprecated: Do not use. 497 NetworkList *net.NetworkList `protobuf:"bytes,5,opt,name=network_list,json=networkList,proto3" json:"network_list,omitempty"` 498 // List of networks for matching. 499 Networks []net.Network `protobuf:"varint,13,rep,packed,name=networks,proto3,enum=xray.common.net.Network" json:"networks,omitempty"` 500 // List of CIDRs for source IP address matching. 501 // 502 // Deprecated: Do not use. 503 SourceCidr []*CIDR `protobuf:"bytes,6,rep,name=source_cidr,json=sourceCidr,proto3" json:"source_cidr,omitempty"` 504 // List of GeoIPs for source IP address matching. If this entry exists, the 505 // source_cidr above will have no effect. 506 SourceGeoip []*GeoIP `protobuf:"bytes,11,rep,name=source_geoip,json=sourceGeoip,proto3" json:"source_geoip,omitempty"` 507 // List of ports for source port matching. 508 SourcePortList *net.PortList `protobuf:"bytes,16,opt,name=source_port_list,json=sourcePortList,proto3" json:"source_port_list,omitempty"` 509 UserEmail []string `protobuf:"bytes,7,rep,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` 510 InboundTag []string `protobuf:"bytes,8,rep,name=inbound_tag,json=inboundTag,proto3" json:"inbound_tag,omitempty"` 511 Protocol []string `protobuf:"bytes,9,rep,name=protocol,proto3" json:"protocol,omitempty"` 512 Attributes string `protobuf:"bytes,15,opt,name=attributes,proto3" json:"attributes,omitempty"` 513 DomainMatcher string `protobuf:"bytes,17,opt,name=domain_matcher,json=domainMatcher,proto3" json:"domain_matcher,omitempty"` 514 } 515 516 func (x *RoutingRule) Reset() { 517 *x = RoutingRule{} 518 if protoimpl.UnsafeEnabled { 519 mi := &file_app_router_config_proto_msgTypes[6] 520 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 521 ms.StoreMessageInfo(mi) 522 } 523 } 524 525 func (x *RoutingRule) String() string { 526 return protoimpl.X.MessageStringOf(x) 527 } 528 529 func (*RoutingRule) ProtoMessage() {} 530 531 func (x *RoutingRule) ProtoReflect() protoreflect.Message { 532 mi := &file_app_router_config_proto_msgTypes[6] 533 if protoimpl.UnsafeEnabled && x != nil { 534 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 535 if ms.LoadMessageInfo() == nil { 536 ms.StoreMessageInfo(mi) 537 } 538 return ms 539 } 540 return mi.MessageOf(x) 541 } 542 543 // Deprecated: Use RoutingRule.ProtoReflect.Descriptor instead. 544 func (*RoutingRule) Descriptor() ([]byte, []int) { 545 return file_app_router_config_proto_rawDescGZIP(), []int{6} 546 } 547 548 func (m *RoutingRule) GetTargetTag() isRoutingRule_TargetTag { 549 if m != nil { 550 return m.TargetTag 551 } 552 return nil 553 } 554 555 func (x *RoutingRule) GetTag() string { 556 if x, ok := x.GetTargetTag().(*RoutingRule_Tag); ok { 557 return x.Tag 558 } 559 return "" 560 } 561 562 func (x *RoutingRule) GetBalancingTag() string { 563 if x, ok := x.GetTargetTag().(*RoutingRule_BalancingTag); ok { 564 return x.BalancingTag 565 } 566 return "" 567 } 568 569 func (x *RoutingRule) GetDomain() []*Domain { 570 if x != nil { 571 return x.Domain 572 } 573 return nil 574 } 575 576 // Deprecated: Do not use. 577 func (x *RoutingRule) GetCidr() []*CIDR { 578 if x != nil { 579 return x.Cidr 580 } 581 return nil 582 } 583 584 func (x *RoutingRule) GetGeoip() []*GeoIP { 585 if x != nil { 586 return x.Geoip 587 } 588 return nil 589 } 590 591 // Deprecated: Do not use. 592 func (x *RoutingRule) GetPortRange() *net.PortRange { 593 if x != nil { 594 return x.PortRange 595 } 596 return nil 597 } 598 599 func (x *RoutingRule) GetPortList() *net.PortList { 600 if x != nil { 601 return x.PortList 602 } 603 return nil 604 } 605 606 // Deprecated: Do not use. 607 func (x *RoutingRule) GetNetworkList() *net.NetworkList { 608 if x != nil { 609 return x.NetworkList 610 } 611 return nil 612 } 613 614 func (x *RoutingRule) GetNetworks() []net.Network { 615 if x != nil { 616 return x.Networks 617 } 618 return nil 619 } 620 621 // Deprecated: Do not use. 622 func (x *RoutingRule) GetSourceCidr() []*CIDR { 623 if x != nil { 624 return x.SourceCidr 625 } 626 return nil 627 } 628 629 func (x *RoutingRule) GetSourceGeoip() []*GeoIP { 630 if x != nil { 631 return x.SourceGeoip 632 } 633 return nil 634 } 635 636 func (x *RoutingRule) GetSourcePortList() *net.PortList { 637 if x != nil { 638 return x.SourcePortList 639 } 640 return nil 641 } 642 643 func (x *RoutingRule) GetUserEmail() []string { 644 if x != nil { 645 return x.UserEmail 646 } 647 return nil 648 } 649 650 func (x *RoutingRule) GetInboundTag() []string { 651 if x != nil { 652 return x.InboundTag 653 } 654 return nil 655 } 656 657 func (x *RoutingRule) GetProtocol() []string { 658 if x != nil { 659 return x.Protocol 660 } 661 return nil 662 } 663 664 func (x *RoutingRule) GetAttributes() string { 665 if x != nil { 666 return x.Attributes 667 } 668 return "" 669 } 670 671 func (x *RoutingRule) GetDomainMatcher() string { 672 if x != nil { 673 return x.DomainMatcher 674 } 675 return "" 676 } 677 678 type isRoutingRule_TargetTag interface { 679 isRoutingRule_TargetTag() 680 } 681 682 type RoutingRule_Tag struct { 683 // Tag of outbound that this rule is pointing to. 684 Tag string `protobuf:"bytes,1,opt,name=tag,proto3,oneof"` 685 } 686 687 type RoutingRule_BalancingTag struct { 688 // Tag of routing balancer. 689 BalancingTag string `protobuf:"bytes,12,opt,name=balancing_tag,json=balancingTag,proto3,oneof"` 690 } 691 692 func (*RoutingRule_Tag) isRoutingRule_TargetTag() {} 693 694 func (*RoutingRule_BalancingTag) isRoutingRule_TargetTag() {} 695 696 type BalancingRule struct { 697 state protoimpl.MessageState 698 sizeCache protoimpl.SizeCache 699 unknownFields protoimpl.UnknownFields 700 701 Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` 702 OutboundSelector []string `protobuf:"bytes,2,rep,name=outbound_selector,json=outboundSelector,proto3" json:"outbound_selector,omitempty"` 703 } 704 705 func (x *BalancingRule) Reset() { 706 *x = BalancingRule{} 707 if protoimpl.UnsafeEnabled { 708 mi := &file_app_router_config_proto_msgTypes[7] 709 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 710 ms.StoreMessageInfo(mi) 711 } 712 } 713 714 func (x *BalancingRule) String() string { 715 return protoimpl.X.MessageStringOf(x) 716 } 717 718 func (*BalancingRule) ProtoMessage() {} 719 720 func (x *BalancingRule) ProtoReflect() protoreflect.Message { 721 mi := &file_app_router_config_proto_msgTypes[7] 722 if protoimpl.UnsafeEnabled && x != nil { 723 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 724 if ms.LoadMessageInfo() == nil { 725 ms.StoreMessageInfo(mi) 726 } 727 return ms 728 } 729 return mi.MessageOf(x) 730 } 731 732 // Deprecated: Use BalancingRule.ProtoReflect.Descriptor instead. 733 func (*BalancingRule) Descriptor() ([]byte, []int) { 734 return file_app_router_config_proto_rawDescGZIP(), []int{7} 735 } 736 737 func (x *BalancingRule) GetTag() string { 738 if x != nil { 739 return x.Tag 740 } 741 return "" 742 } 743 744 func (x *BalancingRule) GetOutboundSelector() []string { 745 if x != nil { 746 return x.OutboundSelector 747 } 748 return nil 749 } 750 751 type Config struct { 752 state protoimpl.MessageState 753 sizeCache protoimpl.SizeCache 754 unknownFields protoimpl.UnknownFields 755 756 DomainStrategy Config_DomainStrategy `protobuf:"varint,1,opt,name=domain_strategy,json=domainStrategy,proto3,enum=xray.app.router.Config_DomainStrategy" json:"domain_strategy,omitempty"` 757 Rule []*RoutingRule `protobuf:"bytes,2,rep,name=rule,proto3" json:"rule,omitempty"` 758 BalancingRule []*BalancingRule `protobuf:"bytes,3,rep,name=balancing_rule,json=balancingRule,proto3" json:"balancing_rule,omitempty"` 759 } 760 761 func (x *Config) Reset() { 762 *x = Config{} 763 if protoimpl.UnsafeEnabled { 764 mi := &file_app_router_config_proto_msgTypes[8] 765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 766 ms.StoreMessageInfo(mi) 767 } 768 } 769 770 func (x *Config) String() string { 771 return protoimpl.X.MessageStringOf(x) 772 } 773 774 func (*Config) ProtoMessage() {} 775 776 func (x *Config) ProtoReflect() protoreflect.Message { 777 mi := &file_app_router_config_proto_msgTypes[8] 778 if protoimpl.UnsafeEnabled && x != nil { 779 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 780 if ms.LoadMessageInfo() == nil { 781 ms.StoreMessageInfo(mi) 782 } 783 return ms 784 } 785 return mi.MessageOf(x) 786 } 787 788 // Deprecated: Use Config.ProtoReflect.Descriptor instead. 789 func (*Config) Descriptor() ([]byte, []int) { 790 return file_app_router_config_proto_rawDescGZIP(), []int{8} 791 } 792 793 func (x *Config) GetDomainStrategy() Config_DomainStrategy { 794 if x != nil { 795 return x.DomainStrategy 796 } 797 return Config_AsIs 798 } 799 800 func (x *Config) GetRule() []*RoutingRule { 801 if x != nil { 802 return x.Rule 803 } 804 return nil 805 } 806 807 func (x *Config) GetBalancingRule() []*BalancingRule { 808 if x != nil { 809 return x.BalancingRule 810 } 811 return nil 812 } 813 814 type Domain_Attribute struct { 815 state protoimpl.MessageState 816 sizeCache protoimpl.SizeCache 817 unknownFields protoimpl.UnknownFields 818 819 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 820 // Types that are assignable to TypedValue: 821 // *Domain_Attribute_BoolValue 822 // *Domain_Attribute_IntValue 823 TypedValue isDomain_Attribute_TypedValue `protobuf_oneof:"typed_value"` 824 } 825 826 func (x *Domain_Attribute) Reset() { 827 *x = Domain_Attribute{} 828 if protoimpl.UnsafeEnabled { 829 mi := &file_app_router_config_proto_msgTypes[9] 830 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 831 ms.StoreMessageInfo(mi) 832 } 833 } 834 835 func (x *Domain_Attribute) String() string { 836 return protoimpl.X.MessageStringOf(x) 837 } 838 839 func (*Domain_Attribute) ProtoMessage() {} 840 841 func (x *Domain_Attribute) ProtoReflect() protoreflect.Message { 842 mi := &file_app_router_config_proto_msgTypes[9] 843 if protoimpl.UnsafeEnabled && x != nil { 844 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 845 if ms.LoadMessageInfo() == nil { 846 ms.StoreMessageInfo(mi) 847 } 848 return ms 849 } 850 return mi.MessageOf(x) 851 } 852 853 // Deprecated: Use Domain_Attribute.ProtoReflect.Descriptor instead. 854 func (*Domain_Attribute) Descriptor() ([]byte, []int) { 855 return file_app_router_config_proto_rawDescGZIP(), []int{0, 0} 856 } 857 858 func (x *Domain_Attribute) GetKey() string { 859 if x != nil { 860 return x.Key 861 } 862 return "" 863 } 864 865 func (m *Domain_Attribute) GetTypedValue() isDomain_Attribute_TypedValue { 866 if m != nil { 867 return m.TypedValue 868 } 869 return nil 870 } 871 872 func (x *Domain_Attribute) GetBoolValue() bool { 873 if x, ok := x.GetTypedValue().(*Domain_Attribute_BoolValue); ok { 874 return x.BoolValue 875 } 876 return false 877 } 878 879 func (x *Domain_Attribute) GetIntValue() int64 { 880 if x, ok := x.GetTypedValue().(*Domain_Attribute_IntValue); ok { 881 return x.IntValue 882 } 883 return 0 884 } 885 886 type isDomain_Attribute_TypedValue interface { 887 isDomain_Attribute_TypedValue() 888 } 889 890 type Domain_Attribute_BoolValue struct { 891 BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"` 892 } 893 894 type Domain_Attribute_IntValue struct { 895 IntValue int64 `protobuf:"varint,3,opt,name=int_value,json=intValue,proto3,oneof"` 896 } 897 898 func (*Domain_Attribute_BoolValue) isDomain_Attribute_TypedValue() {} 899 900 func (*Domain_Attribute_IntValue) isDomain_Attribute_TypedValue() {} 901 902 var File_app_router_config_proto protoreflect.FileDescriptor 903 904 var file_app_router_config_proto_rawDesc = []byte{ 905 0x0a, 0x17, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 906 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x78, 0x72, 0x61, 0x79, 0x2e, 907 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x1a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 908 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 909 0x6f, 0x1a, 0x18, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x6e, 0x65, 910 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x02, 0x0a, 0x06, 911 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 912 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 913 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x79, 914 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 915 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 916 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 917 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 918 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 919 0x62, 0x75, 0x74, 0x65, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x1a, 920 0x6c, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 921 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 922 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 923 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 924 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 925 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0d, 926 0x0a, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x32, 0x0a, 927 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x10, 0x00, 928 0x12, 0x09, 0x0a, 0x05, 0x52, 0x65, 0x67, 0x65, 0x78, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, 929 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x75, 0x6c, 0x6c, 0x10, 930 0x03, 0x22, 0x2e, 0x0a, 0x04, 0x43, 0x49, 0x44, 0x52, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 931 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 932 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 933 0x78, 0x22, 0x55, 0x0a, 0x05, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 934 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 935 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 936 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x72, 937 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x49, 938 0x44, 0x52, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x22, 0x39, 0x0a, 0x09, 0x47, 0x65, 0x6f, 0x49, 939 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 940 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 941 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x05, 0x65, 0x6e, 942 0x74, 0x72, 0x79, 0x22, 0x5d, 0x0a, 0x07, 0x47, 0x65, 0x6f, 0x53, 0x69, 0x74, 0x65, 0x12, 0x21, 943 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 944 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 945 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 946 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 947 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 948 0x69, 0x6e, 0x22, 0x3d, 0x0a, 0x0b, 0x47, 0x65, 0x6f, 0x53, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x73, 949 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 950 0x32, 0x18, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 951 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x53, 0x69, 0x74, 0x65, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 952 0x79, 0x22, 0xb5, 0x06, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 953 0x65, 0x12, 0x12, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 954 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 955 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 956 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x2f, 0x0a, 0x06, 957 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 958 0x72, 0x61, 0x79, 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, 0x2d, 0x0a, 960 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x72, 961 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x49, 962 0x44, 0x52, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x2c, 0x0a, 0x05, 963 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x72, 964 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x65, 965 0x6f, 0x49, 0x50, 0x52, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x6f, 966 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 967 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 968 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 969 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x6f, 0x72, 970 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 971 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x50, 972 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 973 0x74, 0x12, 0x43, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 974 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x63, 975 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 976 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 977 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 978 0x6b, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 979 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 980 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 981 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 982 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 983 0x74, 0x65, 0x72, 0x2e, 0x43, 0x49, 0x44, 0x52, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x73, 0x6f, 984 0x75, 0x72, 0x63, 0x65, 0x43, 0x69, 0x64, 0x72, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 985 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 986 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 987 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 988 0x6f, 0x69, 0x70, 0x12, 0x43, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 989 0x72, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 990 0x78, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 991 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 992 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 993 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 994 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 995 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 996 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 997 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 998 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 999 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 1000 0x75, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 1001 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 1002 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x74, 1003 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x22, 0x4e, 0x0a, 0x0d, 0x42, 0x61, 0x6c, 1004 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 1005 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x2b, 0x0a, 0x11, 1006 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 1007 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 1008 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x9b, 0x02, 0x0a, 0x06, 0x43, 0x6f, 1009 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 1010 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 1011 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 1012 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 1013 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 1014 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 1015 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 1016 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 1017 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 1018 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 1019 0x1e, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 1020 0x72, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 1021 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x47, 1022 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 1023 0x12, 0x08, 0x0a, 0x04, 0x41, 0x73, 0x49, 0x73, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x73, 1024 0x65, 0x49, 0x70, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x70, 0x49, 0x66, 0x4e, 0x6f, 0x6e, 1025 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x70, 0x4f, 0x6e, 0x44, 1026 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x03, 0x42, 0x4f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 1027 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x01, 1028 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 1029 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x2f, 1030 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0xaa, 0x02, 0x0f, 0x58, 0x72, 0x61, 0x79, 0x2e, 0x41, 0x70, 1031 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1032 } 1033 1034 var ( 1035 file_app_router_config_proto_rawDescOnce sync.Once 1036 file_app_router_config_proto_rawDescData = file_app_router_config_proto_rawDesc 1037 ) 1038 1039 func file_app_router_config_proto_rawDescGZIP() []byte { 1040 file_app_router_config_proto_rawDescOnce.Do(func() { 1041 file_app_router_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_app_router_config_proto_rawDescData) 1042 }) 1043 return file_app_router_config_proto_rawDescData 1044 } 1045 1046 var file_app_router_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1047 var file_app_router_config_proto_msgTypes = make([]protoimpl.MessageInfo, 10) 1048 var file_app_router_config_proto_goTypes = []interface{}{ 1049 (Domain_Type)(0), // 0: xray.app.router.Domain.Type 1050 (Config_DomainStrategy)(0), // 1: xray.app.router.Config.DomainStrategy 1051 (*Domain)(nil), // 2: xray.app.router.Domain 1052 (*CIDR)(nil), // 3: xray.app.router.CIDR 1053 (*GeoIP)(nil), // 4: xray.app.router.GeoIP 1054 (*GeoIPList)(nil), // 5: xray.app.router.GeoIPList 1055 (*GeoSite)(nil), // 6: xray.app.router.GeoSite 1056 (*GeoSiteList)(nil), // 7: xray.app.router.GeoSiteList 1057 (*RoutingRule)(nil), // 8: xray.app.router.RoutingRule 1058 (*BalancingRule)(nil), // 9: xray.app.router.BalancingRule 1059 (*Config)(nil), // 10: xray.app.router.Config 1060 (*Domain_Attribute)(nil), // 11: xray.app.router.Domain.Attribute 1061 (*net.PortRange)(nil), // 12: xray.common.net.PortRange 1062 (*net.PortList)(nil), // 13: xray.common.net.PortList 1063 (*net.NetworkList)(nil), // 14: xray.common.net.NetworkList 1064 (net.Network)(0), // 15: xray.common.net.Network 1065 } 1066 var file_app_router_config_proto_depIdxs = []int32{ 1067 0, // 0: xray.app.router.Domain.type:type_name -> xray.app.router.Domain.Type 1068 11, // 1: xray.app.router.Domain.attribute:type_name -> xray.app.router.Domain.Attribute 1069 3, // 2: xray.app.router.GeoIP.cidr:type_name -> xray.app.router.CIDR 1070 4, // 3: xray.app.router.GeoIPList.entry:type_name -> xray.app.router.GeoIP 1071 2, // 4: xray.app.router.GeoSite.domain:type_name -> xray.app.router.Domain 1072 6, // 5: xray.app.router.GeoSiteList.entry:type_name -> xray.app.router.GeoSite 1073 2, // 6: xray.app.router.RoutingRule.domain:type_name -> xray.app.router.Domain 1074 3, // 7: xray.app.router.RoutingRule.cidr:type_name -> xray.app.router.CIDR 1075 4, // 8: xray.app.router.RoutingRule.geoip:type_name -> xray.app.router.GeoIP 1076 12, // 9: xray.app.router.RoutingRule.port_range:type_name -> xray.common.net.PortRange 1077 13, // 10: xray.app.router.RoutingRule.port_list:type_name -> xray.common.net.PortList 1078 14, // 11: xray.app.router.RoutingRule.network_list:type_name -> xray.common.net.NetworkList 1079 15, // 12: xray.app.router.RoutingRule.networks:type_name -> xray.common.net.Network 1080 3, // 13: xray.app.router.RoutingRule.source_cidr:type_name -> xray.app.router.CIDR 1081 4, // 14: xray.app.router.RoutingRule.source_geoip:type_name -> xray.app.router.GeoIP 1082 13, // 15: xray.app.router.RoutingRule.source_port_list:type_name -> xray.common.net.PortList 1083 1, // 16: xray.app.router.Config.domain_strategy:type_name -> xray.app.router.Config.DomainStrategy 1084 8, // 17: xray.app.router.Config.rule:type_name -> xray.app.router.RoutingRule 1085 9, // 18: xray.app.router.Config.balancing_rule:type_name -> xray.app.router.BalancingRule 1086 19, // [19:19] is the sub-list for method output_type 1087 19, // [19:19] is the sub-list for method input_type 1088 19, // [19:19] is the sub-list for extension type_name 1089 19, // [19:19] is the sub-list for extension extendee 1090 0, // [0:19] is the sub-list for field type_name 1091 } 1092 1093 func init() { file_app_router_config_proto_init() } 1094 func file_app_router_config_proto_init() { 1095 if File_app_router_config_proto != nil { 1096 return 1097 } 1098 if !protoimpl.UnsafeEnabled { 1099 file_app_router_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1100 switch v := v.(*Domain); i { 1101 case 0: 1102 return &v.state 1103 case 1: 1104 return &v.sizeCache 1105 case 2: 1106 return &v.unknownFields 1107 default: 1108 return nil 1109 } 1110 } 1111 file_app_router_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1112 switch v := v.(*CIDR); i { 1113 case 0: 1114 return &v.state 1115 case 1: 1116 return &v.sizeCache 1117 case 2: 1118 return &v.unknownFields 1119 default: 1120 return nil 1121 } 1122 } 1123 file_app_router_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1124 switch v := v.(*GeoIP); i { 1125 case 0: 1126 return &v.state 1127 case 1: 1128 return &v.sizeCache 1129 case 2: 1130 return &v.unknownFields 1131 default: 1132 return nil 1133 } 1134 } 1135 file_app_router_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1136 switch v := v.(*GeoIPList); i { 1137 case 0: 1138 return &v.state 1139 case 1: 1140 return &v.sizeCache 1141 case 2: 1142 return &v.unknownFields 1143 default: 1144 return nil 1145 } 1146 } 1147 file_app_router_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1148 switch v := v.(*GeoSite); i { 1149 case 0: 1150 return &v.state 1151 case 1: 1152 return &v.sizeCache 1153 case 2: 1154 return &v.unknownFields 1155 default: 1156 return nil 1157 } 1158 } 1159 file_app_router_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1160 switch v := v.(*GeoSiteList); i { 1161 case 0: 1162 return &v.state 1163 case 1: 1164 return &v.sizeCache 1165 case 2: 1166 return &v.unknownFields 1167 default: 1168 return nil 1169 } 1170 } 1171 file_app_router_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1172 switch v := v.(*RoutingRule); i { 1173 case 0: 1174 return &v.state 1175 case 1: 1176 return &v.sizeCache 1177 case 2: 1178 return &v.unknownFields 1179 default: 1180 return nil 1181 } 1182 } 1183 file_app_router_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1184 switch v := v.(*BalancingRule); i { 1185 case 0: 1186 return &v.state 1187 case 1: 1188 return &v.sizeCache 1189 case 2: 1190 return &v.unknownFields 1191 default: 1192 return nil 1193 } 1194 } 1195 file_app_router_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1196 switch v := v.(*Config); i { 1197 case 0: 1198 return &v.state 1199 case 1: 1200 return &v.sizeCache 1201 case 2: 1202 return &v.unknownFields 1203 default: 1204 return nil 1205 } 1206 } 1207 file_app_router_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1208 switch v := v.(*Domain_Attribute); i { 1209 case 0: 1210 return &v.state 1211 case 1: 1212 return &v.sizeCache 1213 case 2: 1214 return &v.unknownFields 1215 default: 1216 return nil 1217 } 1218 } 1219 } 1220 file_app_router_config_proto_msgTypes[6].OneofWrappers = []interface{}{ 1221 (*RoutingRule_Tag)(nil), 1222 (*RoutingRule_BalancingTag)(nil), 1223 } 1224 file_app_router_config_proto_msgTypes[9].OneofWrappers = []interface{}{ 1225 (*Domain_Attribute_BoolValue)(nil), 1226 (*Domain_Attribute_IntValue)(nil), 1227 } 1228 type x struct{} 1229 out := protoimpl.TypeBuilder{ 1230 File: protoimpl.DescBuilder{ 1231 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1232 RawDescriptor: file_app_router_config_proto_rawDesc, 1233 NumEnums: 2, 1234 NumMessages: 10, 1235 NumExtensions: 0, 1236 NumServices: 0, 1237 }, 1238 GoTypes: file_app_router_config_proto_goTypes, 1239 DependencyIndexes: file_app_router_config_proto_depIdxs, 1240 EnumInfos: file_app_router_config_proto_enumTypes, 1241 MessageInfos: file_app_router_config_proto_msgTypes, 1242 }.Build() 1243 File_app_router_config_proto = out.File 1244 file_app_router_config_proto_rawDesc = nil 1245 file_app_router_config_proto_goTypes = nil 1246 file_app_router_config_proto_depIdxs = nil 1247 }