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