| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- syntax = "proto3";
- package xray.app.dns;
- option csharp_namespace = "Xray.App.Dns";
- option go_package = "github.com/xtls/xray-core/v1/app/dns";
- option java_package = "com.xray.app.dns";
- option java_multiple_files = true;
- import "common/net/address.proto";
- import "common/net/destination.proto";
- import "app/router/config.proto";
- message NameServer {
- xray.common.net.Endpoint address = 1;
- message PriorityDomain {
- DomainMatchingType type = 1;
- string domain = 2;
- }
- message OriginalRule {
- string rule = 1;
- uint32 size = 2;
- }
- repeated PriorityDomain prioritized_domain = 2;
- repeated xray.app.router.GeoIP geoip = 3;
- repeated OriginalRule original_rules = 4;
- }
- enum DomainMatchingType {
- Full = 0;
- Subdomain = 1;
- Keyword = 2;
- Regex = 3;
- }
- 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 xray.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, xray.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;
- 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. Xray will use this domain for IP queries. This field is only
- // effective if ip is empty.
- string proxied_domain = 4;
- }
- repeated HostMapping static_hosts = 4;
- // Tag is the inbound tag of DNS client.
- string tag = 6;
- }
|