mirror of https://github.com/v2ray/v2ray-core
				
				
				
			
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
syntax = "proto3";
 | 
						|
 | 
						|
package v2ray.core.app.dns;
 | 
						|
option csharp_namespace = "V2Ray.Core.App.Dns";
 | 
						|
option go_package = "dns";
 | 
						|
option java_package = "com.v2ray.core.app.dns";
 | 
						|
option java_multiple_files = true;
 | 
						|
 | 
						|
import "v2ray.com/core/common/net/address.proto";
 | 
						|
import "v2ray.com/core/common/net/destination.proto";
 | 
						|
import "v2ray.com/core/app/router/config.proto";
 | 
						|
 | 
						|
message NameServer {
 | 
						|
  v2ray.core.common.net.Endpoint address = 1;
 | 
						|
 | 
						|
  message PriorityDomain {
 | 
						|
    DomainMatchingType type = 1;
 | 
						|
    string domain = 2;
 | 
						|
  }
 | 
						|
 | 
						|
  repeated PriorityDomain prioritized_domain = 2;
 | 
						|
  repeated v2ray.core.app.router.GeoIP geoip = 3;
 | 
						|
}
 | 
						|
 | 
						|
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 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;
 | 
						|
 | 
						|
  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.
 | 
						|
    // 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;
 | 
						|
}
 |