github.com/eagleql/xray-core@v1.4.4/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/eagleql/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  }