github.com/EagleQL/Xray-core@v1.4.3/app/dns/config.proto (about) 1 syntax = "proto3"; 2 3 package xray.app.dns; 4 option csharp_namespace = "Xray.App.Dns"; 5 option go_package = "github.com/xtls/xray-core/app/dns"; 6 option java_package = "com.xray.app.dns"; 7 option java_multiple_files = true; 8 9 import "common/net/address.proto"; 10 import "common/net/destination.proto"; 11 import "app/router/config.proto"; 12 13 message NameServer { 14 xray.common.net.Endpoint address = 1; 15 16 message PriorityDomain { 17 DomainMatchingType type = 1; 18 string domain = 2; 19 } 20 21 message OriginalRule { 22 string rule = 1; 23 uint32 size = 2; 24 } 25 26 repeated PriorityDomain prioritized_domain = 2; 27 repeated xray.app.router.GeoIP geoip = 3; 28 repeated OriginalRule original_rules = 4; 29 } 30 31 enum DomainMatchingType { 32 Full = 0; 33 Subdomain = 1; 34 Keyword = 2; 35 Regex = 3; 36 } 37 38 message Config { 39 // Nameservers used by this DNS. Only traditional UDP servers are support at 40 // the moment. A special value 'localhost' as a domain address can be set to 41 // use DNS on local system. 42 repeated xray.common.net.Endpoint NameServers = 1 [deprecated = true]; 43 44 // NameServer list used by this DNS client. 45 repeated NameServer name_server = 5; 46 47 // Static hosts. Domain to IP. 48 // Deprecated. Use static_hosts. 49 map<string, xray.common.net.IPOrDomain> Hosts = 2 [deprecated = true]; 50 51 // Client IP for EDNS client subnet. Must be 4 bytes (IPv4) or 16 bytes 52 // (IPv6). 53 bytes client_ip = 3; 54 55 message HostMapping { 56 DomainMatchingType type = 1; 57 string domain = 2; 58 59 repeated bytes ip = 3; 60 61 // ProxiedDomain indicates the mapped domain has the same IP address on this 62 // domain. Xray will use this domain for IP queries. This field is only 63 // effective if ip is empty. 64 string proxied_domain = 4; 65 } 66 67 repeated HostMapping static_hosts = 4; 68 69 // Tag is the inbound tag of DNS client. 70 string tag = 6; 71 72 reserved 7; 73 }