| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- syntax = "proto3";
- package v2ray.core.app.dns;
- option csharp_namespace = "V2Ray.Core.App.Dns";
- option go_package = "github.com/v2fly/v2ray-core/v5/app/dns";
- option java_package = "com.v2ray.core.app.dns";
- option java_multiple_files = true;
- import "common/net/address.proto";
- import "common/net/destination.proto";
- import "app/router/routercommon/common.proto";
- import "app/dns/fakedns/fakedns.proto";
- import "common/protoext/extensions.proto";
- message NameServer {
- v2ray.core.common.net.Endpoint address = 1;
- bytes client_ip = 5;
- string tag = 7;
- message PriorityDomain {
- DomainMatchingType type = 1;
- string domain = 2;
- }
- message OriginalRule {
- string rule = 1;
- uint32 size = 2;
- }
- repeated PriorityDomain prioritized_domain = 2;
- repeated v2ray.core.app.router.routercommon.GeoIP geoip = 3;
- repeated OriginalRule original_rules = 4;
- v2ray.core.app.dns.fakedns.FakeDnsPoolMulti fake_dns = 11;
- // Deprecated. Use fallback_strategy.
- bool skipFallback = 6 [deprecated = true];
- optional QueryStrategy query_strategy = 8;
- optional CacheStrategy cache_strategy = 9;
- optional FallbackStrategy fallback_strategy = 10;
- }
- enum DomainMatchingType {
- Full = 0;
- Subdomain = 1;
- Keyword = 2;
- Regex = 3;
- }
- enum QueryStrategy {
- USE_IP = 0;
- USE_IP4 = 1;
- USE_IP6 = 2;
- }
- enum CacheStrategy {
- CacheEnabled = 0;
- CacheDisabled = 1;
- }
- enum FallbackStrategy {
- Enabled = 0;
- Disabled = 1;
- DisabledIfAnyMatch = 2;
- }
- message HostMapping {
- DomainMatchingType type = 1;
- string domain = 2;
- repeated bytes ip = 3;
- // ProxiedDomain indicates the mapped domain has the same IP address on this
- // domain. V2Ray will use this domain for IP queries.
- string proxied_domain = 4;
- }
- message Config {
- // Nameservers used by this DNS. Only traditional UDP servers are support at
- // the moment. A special value 'localhost' as a domain address can be set to
- // use DNS on local system.
- repeated v2ray.core.common.net.Endpoint NameServers = 1 [deprecated = true];
- // NameServer list used by this DNS client.
- repeated NameServer name_server = 5;
- // Static hosts. Domain to IP.
- // Deprecated. Use static_hosts.
- map<string, v2ray.core.common.net.IPOrDomain> Hosts = 2 [deprecated = true];
- // Client IP for EDNS client subnet. Must be 4 bytes (IPv4) or 16 bytes
- // (IPv6).
- bytes client_ip = 3;
- // Static domain-ip mapping in DNS server.
- repeated HostMapping static_hosts = 4;
- // Global fakedns object.
- v2ray.core.app.dns.fakedns.FakeDnsPoolMulti fake_dns = 16;
- // Tag is the inbound tag of DNS client.
- string tag = 6;
- reserved 7;
- // Domain matcher to use
- string domain_matcher = 15;
- // DisableCache disables DNS cache
- // Deprecated. Use cache_strategy.
- bool disableCache = 8 [deprecated = true];
- // Deprecated. Use fallback_strategy.
- bool disableFallback = 10 [deprecated = true];
- // Deprecated. Use fallback_strategy.
- bool disableFallbackIfMatch = 11 [deprecated = true];
- // Default query strategy (IPv4, IPv6, or both) for each name server.
- QueryStrategy query_strategy = 9;
- // Default cache strategy for each name server.
- CacheStrategy cache_strategy = 12;
- // Default fallback strategy for each name server.
- FallbackStrategy fallback_strategy = 13;
- }
- message SimplifiedConfig {
- option (v2ray.core.common.protoext.message_opt).type = "service";
- option (v2ray.core.common.protoext.message_opt).short_name = "dns";
- // Nameservers used by this DNS. Only traditional UDP servers are support at
- // the moment. A special value 'localhost' as a domain address can be set to
- // use DNS on local system.
- reserved 1;
- // NameServer list used by this DNS client.
- repeated SimplifiedNameServer name_server = 5;
- // Static hosts. Domain to IP.
- // Deprecated. Use static_hosts.
- reserved 2;
- // Client IP for EDNS client subnet. Must be 4 bytes (IPv4) or 16 bytes
- // (IPv6).
- string client_ip = 3;
- // Static domain-ip mapping in DNS server.
- repeated SimplifiedHostMapping static_hosts = 4;
- // Global fakedns object.
- v2ray.core.app.dns.fakedns.FakeDnsPoolMulti fake_dns = 16;
- // Tag is the inbound tag of DNS client.
- string tag = 6;
- reserved 7;
- // Domain matcher to use
- string domain_matcher = 15;
- // DisableCache disables DNS cache
- // Deprecated. Use cache_strategy.
- bool disableCache = 8 [deprecated = true];
- // Deprecated. Use fallback_strategy.
- bool disableFallback = 10 [deprecated = true];
- // Deprecated. Use fallback_strategy.
- bool disableFallbackIfMatch = 11 [deprecated = true];
- // Default query strategy (IPv4, IPv6, or both) for each name server.
- QueryStrategy query_strategy = 9;
- // Default cache strategy for each name server.
- CacheStrategy cache_strategy = 12;
- // Default fallback strategy for each name server.
- FallbackStrategy fallback_strategy = 13;
- }
- message SimplifiedHostMapping {
- DomainMatchingType type = 1;
- string domain = 2;
- repeated string ip = 3;
- // ProxiedDomain indicates the mapped domain has the same IP address on this
- // domain. V2Ray will use this domain for IP queries.
- string proxied_domain = 4;
- }
- message SimplifiedNameServer {
- v2ray.core.common.net.Endpoint address = 1;
- string client_ip = 5;
- string tag = 7;
- message PriorityDomain {
- DomainMatchingType type = 1;
- string domain = 2;
- }
- message OriginalRule {
- string rule = 1;
- uint32 size = 2;
- }
- repeated PriorityDomain prioritized_domain = 2;
- repeated v2ray.core.app.router.routercommon.GeoIP geoip = 3;
- repeated OriginalRule original_rules = 4;
- v2ray.core.app.dns.fakedns.FakeDnsPoolMulti fake_dns = 11;
- // Deprecated. Use fallback_strategy.
- bool skipFallback = 6 [deprecated = true];
- optional QueryStrategy query_strategy = 8;
- optional CacheStrategy cache_strategy = 9;
- optional FallbackStrategy fallback_strategy = 10;
- repeated v2ray.core.app.router.routercommon.GeoSite geo_domain = 68001;
- }
|