|
|
|
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";
|
|
|
|
|
|
|
|
message NameServer {
|
|
|
|
v2ray.core.common.net.Endpoint address = 1;
|
|
|
|
|
|
|
|
message PriorityDomain {
|
|
|
|
DomainMatchingType type = 1;
|
|
|
|
string domain = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
repeated PriorityDomain prioritized_domain = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
|
|
|
repeated HostMapping static_hosts = 4;
|
|
|
|
}
|