// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 // protoc v6.33.5 // source: app/dns/config.proto package dns import ( geodata "github.com/xtls/xray-core/common/geodata" net "github.com/xtls/xray-core/common/net" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type QueryStrategy int32 const ( QueryStrategy_USE_IP QueryStrategy = 0 QueryStrategy_USE_IP4 QueryStrategy = 1 QueryStrategy_USE_IP6 QueryStrategy = 2 QueryStrategy_USE_SYS QueryStrategy = 3 ) // Enum value maps for QueryStrategy. var ( QueryStrategy_name = map[int32]string{ 0: "USE_IP", 1: "USE_IP4", 2: "USE_IP6", 3: "USE_SYS", } QueryStrategy_value = map[string]int32{ "USE_IP": 0, "USE_IP4": 1, "USE_IP6": 2, "USE_SYS": 3, } ) func (x QueryStrategy) Enum() *QueryStrategy { p := new(QueryStrategy) *p = x return p } func (x QueryStrategy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (QueryStrategy) Descriptor() protoreflect.EnumDescriptor { return file_app_dns_config_proto_enumTypes[0].Descriptor() } func (QueryStrategy) Type() protoreflect.EnumType { return &file_app_dns_config_proto_enumTypes[0] } func (x QueryStrategy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use QueryStrategy.Descriptor instead. func (QueryStrategy) EnumDescriptor() ([]byte, []int) { return file_app_dns_config_proto_rawDescGZIP(), []int{0} } type NameServer struct { state protoimpl.MessageState `protogen:"open.v1"` Address *net.Endpoint `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` ClientIp []byte `protobuf:"bytes,5,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` SkipFallback bool `protobuf:"varint,6,opt,name=skipFallback,proto3" json:"skipFallback,omitempty"` Domain []*geodata.DomainRule `protobuf:"bytes,2,rep,name=domain,proto3" json:"domain,omitempty"` ExpectedIp []*geodata.IPRule `protobuf:"bytes,3,rep,name=expected_ip,json=expectedIp,proto3" json:"expected_ip,omitempty"` QueryStrategy QueryStrategy `protobuf:"varint,7,opt,name=query_strategy,json=queryStrategy,proto3,enum=xray.app.dns.QueryStrategy" json:"query_strategy,omitempty"` ActPrior bool `protobuf:"varint,8,opt,name=actPrior,proto3" json:"actPrior,omitempty"` Tag string `protobuf:"bytes,9,opt,name=tag,proto3" json:"tag,omitempty"` TimeoutMs uint64 `protobuf:"varint,10,opt,name=timeoutMs,proto3" json:"timeoutMs,omitempty"` DisableCache *bool `protobuf:"varint,11,opt,name=disableCache,proto3,oneof" json:"disableCache,omitempty"` ServeStale *bool `protobuf:"varint,15,opt,name=serveStale,proto3,oneof" json:"serveStale,omitempty"` ServeExpiredTTL *uint32 `protobuf:"varint,16,opt,name=serveExpiredTTL,proto3,oneof" json:"serveExpiredTTL,omitempty"` FinalQuery bool `protobuf:"varint,12,opt,name=finalQuery,proto3" json:"finalQuery,omitempty"` UnexpectedIp []*geodata.IPRule `protobuf:"bytes,13,rep,name=unexpected_ip,json=unexpectedIp,proto3" json:"unexpected_ip,omitempty"` ActUnprior bool `protobuf:"varint,14,opt,name=actUnprior,proto3" json:"actUnprior,omitempty"` PolicyID uint32 `protobuf:"varint,17,opt,name=policyID,proto3" json:"policyID,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *NameServer) Reset() { *x = NameServer{} mi := &file_app_dns_config_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *NameServer) String() string { return protoimpl.X.MessageStringOf(x) } func (*NameServer) ProtoMessage() {} func (x *NameServer) ProtoReflect() protoreflect.Message { mi := &file_app_dns_config_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NameServer.ProtoReflect.Descriptor instead. func (*NameServer) Descriptor() ([]byte, []int) { return file_app_dns_config_proto_rawDescGZIP(), []int{0} } func (x *NameServer) GetAddress() *net.Endpoint { if x != nil { return x.Address } return nil } func (x *NameServer) GetClientIp() []byte { if x != nil { return x.ClientIp } return nil } func (x *NameServer) GetSkipFallback() bool { if x != nil { return x.SkipFallback } return false } func (x *NameServer) GetDomain() []*geodata.DomainRule { if x != nil { return x.Domain } return nil } func (x *NameServer) GetExpectedIp() []*geodata.IPRule { if x != nil { return x.ExpectedIp } return nil } func (x *NameServer) GetQueryStrategy() QueryStrategy { if x != nil { return x.QueryStrategy } return QueryStrategy_USE_IP } func (x *NameServer) GetActPrior() bool { if x != nil { return x.ActPrior } return false } func (x *NameServer) GetTag() string { if x != nil { return x.Tag } return "" } func (x *NameServer) GetTimeoutMs() uint64 { if x != nil { return x.TimeoutMs } return 0 } func (x *NameServer) GetDisableCache() bool { if x != nil && x.DisableCache != nil { return *x.DisableCache } return false } func (x *NameServer) GetServeStale() bool { if x != nil && x.ServeStale != nil { return *x.ServeStale } return false } func (x *NameServer) GetServeExpiredTTL() uint32 { if x != nil && x.ServeExpiredTTL != nil { return *x.ServeExpiredTTL } return 0 } func (x *NameServer) GetFinalQuery() bool { if x != nil { return x.FinalQuery } return false } func (x *NameServer) GetUnexpectedIp() []*geodata.IPRule { if x != nil { return x.UnexpectedIp } return nil } func (x *NameServer) GetActUnprior() bool { if x != nil { return x.ActUnprior } return false } func (x *NameServer) GetPolicyID() uint32 { if x != nil { return x.PolicyID } return 0 } type Config struct { state protoimpl.MessageState `protogen:"open.v1"` // NameServer list used by this DNS client. // A special value 'localhost' as a domain address can be set to use DNS on local system. NameServer []*NameServer `protobuf:"bytes,5,rep,name=name_server,json=nameServer,proto3" json:"name_server,omitempty"` // Client IP for EDNS client subnet. Must be 4 bytes (IPv4) or 16 bytes // (IPv6). ClientIp []byte `protobuf:"bytes,3,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"` StaticHosts []*Config_HostMapping `protobuf:"bytes,4,rep,name=static_hosts,json=staticHosts,proto3" json:"static_hosts,omitempty"` // Tag is the inbound tag of DNS client. Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` // DisableCache disables DNS cache DisableCache bool `protobuf:"varint,8,opt,name=disableCache,proto3" json:"disableCache,omitempty"` ServeStale bool `protobuf:"varint,12,opt,name=serveStale,proto3" json:"serveStale,omitempty"` ServeExpiredTTL uint32 `protobuf:"varint,13,opt,name=serveExpiredTTL,proto3" json:"serveExpiredTTL,omitempty"` QueryStrategy QueryStrategy `protobuf:"varint,9,opt,name=query_strategy,json=queryStrategy,proto3,enum=xray.app.dns.QueryStrategy" json:"query_strategy,omitempty"` DisableFallback bool `protobuf:"varint,10,opt,name=disableFallback,proto3" json:"disableFallback,omitempty"` DisableFallbackIfMatch bool `protobuf:"varint,11,opt,name=disableFallbackIfMatch,proto3" json:"disableFallbackIfMatch,omitempty"` EnableParallelQuery bool `protobuf:"varint,14,opt,name=enableParallelQuery,proto3" json:"enableParallelQuery,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Config) Reset() { *x = Config{} mi := &file_app_dns_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Config) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_app_dns_config_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { return file_app_dns_config_proto_rawDescGZIP(), []int{1} } func (x *Config) GetNameServer() []*NameServer { if x != nil { return x.NameServer } return nil } func (x *Config) GetClientIp() []byte { if x != nil { return x.ClientIp } return nil } func (x *Config) GetStaticHosts() []*Config_HostMapping { if x != nil { return x.StaticHosts } return nil } func (x *Config) GetTag() string { if x != nil { return x.Tag } return "" } func (x *Config) GetDisableCache() bool { if x != nil { return x.DisableCache } return false } func (x *Config) GetServeStale() bool { if x != nil { return x.ServeStale } return false } func (x *Config) GetServeExpiredTTL() uint32 { if x != nil { return x.ServeExpiredTTL } return 0 } func (x *Config) GetQueryStrategy() QueryStrategy { if x != nil { return x.QueryStrategy } return QueryStrategy_USE_IP } func (x *Config) GetDisableFallback() bool { if x != nil { return x.DisableFallback } return false } func (x *Config) GetDisableFallbackIfMatch() bool { if x != nil { return x.DisableFallbackIfMatch } return false } func (x *Config) GetEnableParallelQuery() bool { if x != nil { return x.EnableParallelQuery } return false } type Config_HostMapping struct { state protoimpl.MessageState `protogen:"open.v1"` Domain *geodata.DomainRule `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` Ip [][]byte `protobuf:"bytes,3,rep,name=ip,proto3" json:"ip,omitempty"` // ProxiedDomain indicates the mapped domain has the same IP address on this // domain. Xray will use this domain for IP queries. ProxiedDomain string `protobuf:"bytes,4,opt,name=proxied_domain,json=proxiedDomain,proto3" json:"proxied_domain,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Config_HostMapping) Reset() { *x = Config_HostMapping{} mi := &file_app_dns_config_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Config_HostMapping) String() string { return protoimpl.X.MessageStringOf(x) } func (*Config_HostMapping) ProtoMessage() {} func (x *Config_HostMapping) ProtoReflect() protoreflect.Message { mi := &file_app_dns_config_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Config_HostMapping.ProtoReflect.Descriptor instead. func (*Config_HostMapping) Descriptor() ([]byte, []int) { return file_app_dns_config_proto_rawDescGZIP(), []int{1, 0} } func (x *Config_HostMapping) GetDomain() *geodata.DomainRule { if x != nil { return x.Domain } return nil } func (x *Config_HostMapping) GetIp() [][]byte { if x != nil { return x.Ip } return nil } func (x *Config_HostMapping) GetProxiedDomain() string { if x != nil { return x.ProxiedDomain } return "" } var File_app_dns_config_proto protoreflect.FileDescriptor const file_app_dns_config_proto_rawDesc = "" + "\n" + "\x14app/dns/config.proto\x12\fxray.app.dns\x1a\x1ccommon/net/destination.proto\x1a\x1bcommon/geodata/geodat.proto\"\xde\x05\n" + "\n" + "NameServer\x123\n" + "\aaddress\x18\x01 \x01(\v2\x19.xray.common.net.EndpointR\aaddress\x12\x1b\n" + "\tclient_ip\x18\x05 \x01(\fR\bclientIp\x12\"\n" + "\fskipFallback\x18\x06 \x01(\bR\fskipFallback\x127\n" + "\x06domain\x18\x02 \x03(\v2\x1f.xray.common.geodata.DomainRuleR\x06domain\x12<\n" + "\vexpected_ip\x18\x03 \x03(\v2\x1b.xray.common.geodata.IPRuleR\n" + "expectedIp\x12B\n" + "\x0equery_strategy\x18\a \x01(\x0e2\x1b.xray.app.dns.QueryStrategyR\rqueryStrategy\x12\x1a\n" + "\bactPrior\x18\b \x01(\bR\bactPrior\x12\x10\n" + "\x03tag\x18\t \x01(\tR\x03tag\x12\x1c\n" + "\ttimeoutMs\x18\n" + " \x01(\x04R\ttimeoutMs\x12'\n" + "\fdisableCache\x18\v \x01(\bH\x00R\fdisableCache\x88\x01\x01\x12#\n" + "\n" + "serveStale\x18\x0f \x01(\bH\x01R\n" + "serveStale\x88\x01\x01\x12-\n" + "\x0fserveExpiredTTL\x18\x10 \x01(\rH\x02R\x0fserveExpiredTTL\x88\x01\x01\x12\x1e\n" + "\n" + "finalQuery\x18\f \x01(\bR\n" + "finalQuery\x12@\n" + "\runexpected_ip\x18\r \x03(\v2\x1b.xray.common.geodata.IPRuleR\funexpectedIp\x12\x1e\n" + "\n" + "actUnprior\x18\x0e \x01(\bR\n" + "actUnprior\x12\x1a\n" + "\bpolicyID\x18\x11 \x01(\rR\bpolicyIDB\x0f\n" + "\r_disableCacheB\r\n" + "\v_serveStaleB\x12\n" + "\x10_serveExpiredTTLJ\x04\b\x04\x10\x05\"\x82\x05\n" + "\x06Config\x129\n" + "\vname_server\x18\x05 \x03(\v2\x18.xray.app.dns.NameServerR\n" + "nameServer\x12\x1b\n" + "\tclient_ip\x18\x03 \x01(\fR\bclientIp\x12C\n" + "\fstatic_hosts\x18\x04 \x03(\v2 .xray.app.dns.Config.HostMappingR\vstaticHosts\x12\x10\n" + "\x03tag\x18\x06 \x01(\tR\x03tag\x12\"\n" + "\fdisableCache\x18\b \x01(\bR\fdisableCache\x12\x1e\n" + "\n" + "serveStale\x18\f \x01(\bR\n" + "serveStale\x12(\n" + "\x0fserveExpiredTTL\x18\r \x01(\rR\x0fserveExpiredTTL\x12B\n" + "\x0equery_strategy\x18\t \x01(\x0e2\x1b.xray.app.dns.QueryStrategyR\rqueryStrategy\x12(\n" + "\x0fdisableFallback\x18\n" + " \x01(\bR\x0fdisableFallback\x126\n" + "\x16disableFallbackIfMatch\x18\v \x01(\bR\x16disableFallbackIfMatch\x120\n" + "\x13enableParallelQuery\x18\x0e \x01(\bR\x13enableParallelQuery\x1a}\n" + "\vHostMapping\x127\n" + "\x06domain\x18\x02 \x01(\v2\x1f.xray.common.geodata.DomainRuleR\x06domain\x12\x0e\n" + "\x02ip\x18\x03 \x03(\fR\x02ip\x12%\n" + "\x0eproxied_domain\x18\x04 \x01(\tR\rproxiedDomainJ\x04\b\a\x10\b*B\n" + "\rQueryStrategy\x12\n" + "\n" + "\x06USE_IP\x10\x00\x12\v\n" + "\aUSE_IP4\x10\x01\x12\v\n" + "\aUSE_IP6\x10\x02\x12\v\n" + "\aUSE_SYS\x10\x03BF\n" + "\x10com.xray.app.dnsP\x01Z!github.com/xtls/xray-core/app/dns\xaa\x02\fXray.App.Dnsb\x06proto3" var ( file_app_dns_config_proto_rawDescOnce sync.Once file_app_dns_config_proto_rawDescData []byte ) func file_app_dns_config_proto_rawDescGZIP() []byte { file_app_dns_config_proto_rawDescOnce.Do(func() { file_app_dns_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_app_dns_config_proto_rawDesc), len(file_app_dns_config_proto_rawDesc))) }) return file_app_dns_config_proto_rawDescData } var file_app_dns_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_app_dns_config_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_app_dns_config_proto_goTypes = []any{ (QueryStrategy)(0), // 0: xray.app.dns.QueryStrategy (*NameServer)(nil), // 1: xray.app.dns.NameServer (*Config)(nil), // 2: xray.app.dns.Config (*Config_HostMapping)(nil), // 3: xray.app.dns.Config.HostMapping (*net.Endpoint)(nil), // 4: xray.common.net.Endpoint (*geodata.DomainRule)(nil), // 5: xray.common.geodata.DomainRule (*geodata.IPRule)(nil), // 6: xray.common.geodata.IPRule } var file_app_dns_config_proto_depIdxs = []int32{ 4, // 0: xray.app.dns.NameServer.address:type_name -> xray.common.net.Endpoint 5, // 1: xray.app.dns.NameServer.domain:type_name -> xray.common.geodata.DomainRule 6, // 2: xray.app.dns.NameServer.expected_ip:type_name -> xray.common.geodata.IPRule 0, // 3: xray.app.dns.NameServer.query_strategy:type_name -> xray.app.dns.QueryStrategy 6, // 4: xray.app.dns.NameServer.unexpected_ip:type_name -> xray.common.geodata.IPRule 1, // 5: xray.app.dns.Config.name_server:type_name -> xray.app.dns.NameServer 3, // 6: xray.app.dns.Config.static_hosts:type_name -> xray.app.dns.Config.HostMapping 0, // 7: xray.app.dns.Config.query_strategy:type_name -> xray.app.dns.QueryStrategy 5, // 8: xray.app.dns.Config.HostMapping.domain:type_name -> xray.common.geodata.DomainRule 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_app_dns_config_proto_init() } func file_app_dns_config_proto_init() { if File_app_dns_config_proto != nil { return } file_app_dns_config_proto_msgTypes[0].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_app_dns_config_proto_rawDesc), len(file_app_dns_config_proto_rawDesc)), NumEnums: 1, NumMessages: 3, NumExtensions: 0, NumServices: 0, }, GoTypes: file_app_dns_config_proto_goTypes, DependencyIndexes: file_app_dns_config_proto_depIdxs, EnumInfos: file_app_dns_config_proto_enumTypes, MessageInfos: file_app_dns_config_proto_msgTypes, }.Build() File_app_dns_config_proto = out.File file_app_dns_config_proto_goTypes = nil file_app_dns_config_proto_depIdxs = nil }