|
|
@@ -128,6 +128,55 @@ func (QueryStrategy) EnumDescriptor() ([]byte, []int) {
|
|
|
return file_app_dns_config_proto_rawDescGZIP(), []int{1}
|
|
|
}
|
|
|
|
|
|
+type CacheStrategy int32
|
|
|
+
|
|
|
+const (
|
|
|
+ CacheStrategy_Cache_ALL CacheStrategy = 0
|
|
|
+ CacheStrategy_Cache_NOERROR CacheStrategy = 1
|
|
|
+ CacheStrategy_Cache_DISABLE CacheStrategy = 2
|
|
|
+)
|
|
|
+
|
|
|
+// Enum value maps for CacheStrategy.
|
|
|
+var (
|
|
|
+ CacheStrategy_name = map[int32]string{
|
|
|
+ 0: "Cache_ALL",
|
|
|
+ 1: "Cache_NOERROR",
|
|
|
+ 2: "Cache_DISABLE",
|
|
|
+ }
|
|
|
+ CacheStrategy_value = map[string]int32{
|
|
|
+ "Cache_ALL": 0,
|
|
|
+ "Cache_NOERROR": 1,
|
|
|
+ "Cache_DISABLE": 2,
|
|
|
+ }
|
|
|
+)
|
|
|
+
|
|
|
+func (x CacheStrategy) Enum() *CacheStrategy {
|
|
|
+ p := new(CacheStrategy)
|
|
|
+ *p = x
|
|
|
+ return p
|
|
|
+}
|
|
|
+
|
|
|
+func (x CacheStrategy) String() string {
|
|
|
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
|
+}
|
|
|
+
|
|
|
+func (CacheStrategy) Descriptor() protoreflect.EnumDescriptor {
|
|
|
+ return file_app_dns_config_proto_enumTypes[2].Descriptor()
|
|
|
+}
|
|
|
+
|
|
|
+func (CacheStrategy) Type() protoreflect.EnumType {
|
|
|
+ return &file_app_dns_config_proto_enumTypes[2]
|
|
|
+}
|
|
|
+
|
|
|
+func (x CacheStrategy) Number() protoreflect.EnumNumber {
|
|
|
+ return protoreflect.EnumNumber(x)
|
|
|
+}
|
|
|
+
|
|
|
+// Deprecated: Use CacheStrategy.Descriptor instead.
|
|
|
+func (CacheStrategy) EnumDescriptor() ([]byte, []int) {
|
|
|
+ return file_app_dns_config_proto_rawDescGZIP(), []int{2}
|
|
|
+}
|
|
|
+
|
|
|
type NameServer struct {
|
|
|
state protoimpl.MessageState
|
|
|
sizeCache protoimpl.SizeCache
|
|
|
@@ -232,7 +281,7 @@ type Config struct {
|
|
|
// Tag is the inbound tag of DNS client.
|
|
|
Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"`
|
|
|
// DisableCache Disable DNS cache
|
|
|
- DisableCache bool `protobuf:"varint,8,opt,name=disableCache,proto3" json:"disableCache,omitempty"`
|
|
|
+ CacheStrategy CacheStrategy `protobuf:"varint,8,opt,name=cache_strategy,json=cacheStrategy,proto3,enum=xray.app.dns.CacheStrategy" json:"cache_strategy,omitempty"`
|
|
|
QueryStrategy QueryStrategy `protobuf:"varint,9,opt,name=query_strategy,json=queryStrategy,proto3,enum=xray.app.dns.QueryStrategy" json:"query_strategy,omitempty"`
|
|
|
}
|
|
|
|
|
|
@@ -312,11 +361,11 @@ func (x *Config) GetTag() string {
|
|
|
return ""
|
|
|
}
|
|
|
|
|
|
-func (x *Config) GetDisableCache() bool {
|
|
|
+func (x *Config) GetCacheStrategy() CacheStrategy {
|
|
|
if x != nil {
|
|
|
- return x.DisableCache
|
|
|
+ return x.CacheStrategy
|
|
|
}
|
|
|
- return false
|
|
|
+ return CacheStrategy_Cache_ALL
|
|
|
}
|
|
|
|
|
|
func (x *Config) GetQueryStrategy() QueryStrategy {
|
|
|
@@ -549,7 +598,7 @@ var file_app_dns_config_proto_rawDesc = []byte{
|
|
|
0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75,
|
|
|
0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x12,
|
|
|
0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69,
|
|
|
- 0x7a, 0x65, 0x22, 0x8d, 0x05, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a,
|
|
|
+ 0x7a, 0x65, 0x22, 0xad, 0x05, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a,
|
|
|
0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
|
|
|
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
|
|
0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x02, 0x18,
|
|
|
@@ -568,9 +617,11 @@ var file_app_dns_config_proto_rawDesc = []byte{
|
|
|
0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x6f,
|
|
|
0x73, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x69,
|
|
|
0x63, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20,
|
|
|
- 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61,
|
|
|
- 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
|
|
|
- 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x42, 0x0a, 0x0e,
|
|
|
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x42, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68,
|
|
|
+ 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e,
|
|
|
+ 0x32, 0x1b, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e,
|
|
|
+ 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0d, 0x63,
|
|
|
+ 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x42, 0x0a, 0x0e,
|
|
|
0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09,
|
|
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e,
|
|
|
0x64, 0x6e, 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
|
|
|
@@ -598,11 +649,16 @@ var file_app_dns_config_proto_rawDesc = []byte{
|
|
|
0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x53,
|
|
|
0x45, 0x5f, 0x49, 0x50, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50,
|
|
|
0x34, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x36, 0x10, 0x02,
|
|
|
- 0x42, 0x46, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70,
|
|
|
- 0x2e, 0x64, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x21, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
|
|
|
- 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72,
|
|
|
- 0x65, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x6e, 0x73, 0xaa, 0x02, 0x0c, 0x58, 0x72, 0x61, 0x79,
|
|
|
- 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x44, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
|
+ 0x2a, 0x44, 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
|
|
|
+ 0x79, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00,
|
|
|
+ 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x4e, 0x4f, 0x45, 0x52, 0x52, 0x4f,
|
|
|
+ 0x52, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x44, 0x49, 0x53,
|
|
|
+ 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x42, 0x46, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72,
|
|
|
+ 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x21, 0x67, 0x69,
|
|
|
+ 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f, 0x78, 0x72,
|
|
|
+ 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x6e, 0x73, 0xaa,
|
|
|
+ 0x02, 0x0c, 0x58, 0x72, 0x61, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x44, 0x6e, 0x73, 0x62, 0x06,
|
|
|
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
|
}
|
|
|
|
|
|
var (
|
|
|
@@ -617,39 +673,41 @@ func file_app_dns_config_proto_rawDescGZIP() []byte {
|
|
|
return file_app_dns_config_proto_rawDescData
|
|
|
}
|
|
|
|
|
|
-var file_app_dns_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
|
|
+var file_app_dns_config_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
|
|
|
var file_app_dns_config_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
|
|
var file_app_dns_config_proto_goTypes = []interface{}{
|
|
|
(DomainMatchingType)(0), // 0: xray.app.dns.DomainMatchingType
|
|
|
(QueryStrategy)(0), // 1: xray.app.dns.QueryStrategy
|
|
|
- (*NameServer)(nil), // 2: xray.app.dns.NameServer
|
|
|
- (*Config)(nil), // 3: xray.app.dns.Config
|
|
|
- (*NameServer_PriorityDomain)(nil), // 4: xray.app.dns.NameServer.PriorityDomain
|
|
|
- (*NameServer_OriginalRule)(nil), // 5: xray.app.dns.NameServer.OriginalRule
|
|
|
- nil, // 6: xray.app.dns.Config.HostsEntry
|
|
|
- (*Config_HostMapping)(nil), // 7: xray.app.dns.Config.HostMapping
|
|
|
- (*net.Endpoint)(nil), // 8: xray.common.net.Endpoint
|
|
|
- (*router.GeoIP)(nil), // 9: xray.app.router.GeoIP
|
|
|
- (*net.IPOrDomain)(nil), // 10: xray.common.net.IPOrDomain
|
|
|
+ (CacheStrategy)(0), // 2: xray.app.dns.CacheStrategy
|
|
|
+ (*NameServer)(nil), // 3: xray.app.dns.NameServer
|
|
|
+ (*Config)(nil), // 4: xray.app.dns.Config
|
|
|
+ (*NameServer_PriorityDomain)(nil), // 5: xray.app.dns.NameServer.PriorityDomain
|
|
|
+ (*NameServer_OriginalRule)(nil), // 6: xray.app.dns.NameServer.OriginalRule
|
|
|
+ nil, // 7: xray.app.dns.Config.HostsEntry
|
|
|
+ (*Config_HostMapping)(nil), // 8: xray.app.dns.Config.HostMapping
|
|
|
+ (*net.Endpoint)(nil), // 9: xray.common.net.Endpoint
|
|
|
+ (*router.GeoIP)(nil), // 10: xray.app.router.GeoIP
|
|
|
+ (*net.IPOrDomain)(nil), // 11: xray.common.net.IPOrDomain
|
|
|
}
|
|
|
var file_app_dns_config_proto_depIdxs = []int32{
|
|
|
- 8, // 0: xray.app.dns.NameServer.address:type_name -> xray.common.net.Endpoint
|
|
|
- 4, // 1: xray.app.dns.NameServer.prioritized_domain:type_name -> xray.app.dns.NameServer.PriorityDomain
|
|
|
- 9, // 2: xray.app.dns.NameServer.geoip:type_name -> xray.app.router.GeoIP
|
|
|
- 5, // 3: xray.app.dns.NameServer.original_rules:type_name -> xray.app.dns.NameServer.OriginalRule
|
|
|
- 8, // 4: xray.app.dns.Config.NameServers:type_name -> xray.common.net.Endpoint
|
|
|
- 2, // 5: xray.app.dns.Config.name_server:type_name -> xray.app.dns.NameServer
|
|
|
- 6, // 6: xray.app.dns.Config.Hosts:type_name -> xray.app.dns.Config.HostsEntry
|
|
|
- 7, // 7: xray.app.dns.Config.static_hosts:type_name -> xray.app.dns.Config.HostMapping
|
|
|
- 1, // 8: xray.app.dns.Config.query_strategy:type_name -> xray.app.dns.QueryStrategy
|
|
|
- 0, // 9: xray.app.dns.NameServer.PriorityDomain.type:type_name -> xray.app.dns.DomainMatchingType
|
|
|
- 10, // 10: xray.app.dns.Config.HostsEntry.value:type_name -> xray.common.net.IPOrDomain
|
|
|
- 0, // 11: xray.app.dns.Config.HostMapping.type:type_name -> xray.app.dns.DomainMatchingType
|
|
|
- 12, // [12:12] is the sub-list for method output_type
|
|
|
- 12, // [12:12] is the sub-list for method input_type
|
|
|
- 12, // [12:12] is the sub-list for extension type_name
|
|
|
- 12, // [12:12] is the sub-list for extension extendee
|
|
|
- 0, // [0:12] is the sub-list for field type_name
|
|
|
+ 9, // 0: xray.app.dns.NameServer.address:type_name -> xray.common.net.Endpoint
|
|
|
+ 5, // 1: xray.app.dns.NameServer.prioritized_domain:type_name -> xray.app.dns.NameServer.PriorityDomain
|
|
|
+ 10, // 2: xray.app.dns.NameServer.geoip:type_name -> xray.app.router.GeoIP
|
|
|
+ 6, // 3: xray.app.dns.NameServer.original_rules:type_name -> xray.app.dns.NameServer.OriginalRule
|
|
|
+ 9, // 4: xray.app.dns.Config.NameServers:type_name -> xray.common.net.Endpoint
|
|
|
+ 3, // 5: xray.app.dns.Config.name_server:type_name -> xray.app.dns.NameServer
|
|
|
+ 7, // 6: xray.app.dns.Config.Hosts:type_name -> xray.app.dns.Config.HostsEntry
|
|
|
+ 8, // 7: xray.app.dns.Config.static_hosts:type_name -> xray.app.dns.Config.HostMapping
|
|
|
+ 2, // 8: xray.app.dns.Config.cache_strategy:type_name -> xray.app.dns.CacheStrategy
|
|
|
+ 1, // 9: xray.app.dns.Config.query_strategy:type_name -> xray.app.dns.QueryStrategy
|
|
|
+ 0, // 10: xray.app.dns.NameServer.PriorityDomain.type:type_name -> xray.app.dns.DomainMatchingType
|
|
|
+ 11, // 11: xray.app.dns.Config.HostsEntry.value:type_name -> xray.common.net.IPOrDomain
|
|
|
+ 0, // 12: xray.app.dns.Config.HostMapping.type:type_name -> xray.app.dns.DomainMatchingType
|
|
|
+ 13, // [13:13] is the sub-list for method output_type
|
|
|
+ 13, // [13:13] is the sub-list for method input_type
|
|
|
+ 13, // [13:13] is the sub-list for extension type_name
|
|
|
+ 13, // [13:13] is the sub-list for extension extendee
|
|
|
+ 0, // [0:13] is the sub-list for field type_name
|
|
|
}
|
|
|
|
|
|
func init() { file_app_dns_config_proto_init() }
|
|
|
@@ -724,7 +782,7 @@ func file_app_dns_config_proto_init() {
|
|
|
File: protoimpl.DescBuilder{
|
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
|
RawDescriptor: file_app_dns_config_proto_rawDesc,
|
|
|
- NumEnums: 2,
|
|
|
+ NumEnums: 3,
|
|
|
NumMessages: 6,
|
|
|
NumExtensions: 0,
|
|
|
NumServices: 0,
|