mirror of
https://github.com/shadowsocks/shadowsocks-rust.git
synced 2026-11-07 00:13:33 +00:00
Enable DNS over TLS and HTTPS by feature
This commit is contained in:
+3
-1
@@ -52,6 +52,8 @@ aes-pmac-siv = ["miscreant"]
|
||||
camellia-cfb = ["openssl"]
|
||||
single-threaded = []
|
||||
trust-dns = ["trust-dns-resolver"]
|
||||
dns-over-tls = ["trust-dns-resolver/dns-over-rustls"]
|
||||
dns-over-https = ["trust-dns-resolver/dns-over-https-rustls"]
|
||||
openssl-vendored = ["openssl/vendored"]
|
||||
local-dns-relay = []
|
||||
local-flow-stat = []
|
||||
@@ -81,7 +83,7 @@ url = "2.1"
|
||||
byte_string = "1.0"
|
||||
libsodium-sys = { version = "0.2", optional = true }
|
||||
miscreant = { version = "0.5", optional = true }
|
||||
trust-dns-resolver = { version = "0.19", features = ["dns-over-rustls", "dns-over-https-rustls"], optional = true }
|
||||
trust-dns-resolver = { version = "0.19", optional = true }
|
||||
trust-dns-proto = "0.19"
|
||||
hkdf = "0.8"
|
||||
hmac = "0.7"
|
||||
|
||||
+6
-4
@@ -50,15 +50,12 @@ use std::{
|
||||
io::{self, Read},
|
||||
net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6},
|
||||
option::Option,
|
||||
path::Path,
|
||||
path::{Path, PathBuf},
|
||||
str::FromStr,
|
||||
string::ToString,
|
||||
time::Duration,
|
||||
};
|
||||
|
||||
#[cfg(unix)]
|
||||
use std::path::PathBuf;
|
||||
|
||||
use base64::{decode_config, encode_config, URL_SAFE_NO_PAD};
|
||||
use bytes::Bytes;
|
||||
use cfg_if::cfg_if;
|
||||
@@ -1234,14 +1231,19 @@ impl Config {
|
||||
"google" => Some(ResolverConfig::google()),
|
||||
|
||||
"cloudflare" => Some(ResolverConfig::cloudflare()),
|
||||
#[cfg(feature = "dns-over-tls")]
|
||||
"cloudflare_tls" => Some(ResolverConfig::cloudflare_tls()),
|
||||
#[cfg(feature = "dns-over-https")]
|
||||
"cloudflare_https" => Some(ResolverConfig::cloudflare_https()),
|
||||
|
||||
"quad9" => Some(ResolverConfig::quad9()),
|
||||
#[cfg(feature = "dns-over-tls")]
|
||||
"quad9_tls" => Some(ResolverConfig::quad9_tls()),
|
||||
|
||||
_ => {
|
||||
// Set ips directly
|
||||
//
|
||||
// TODO: Support customizable DNS over TLS or HTTPS
|
||||
match ds.parse::<IpAddr>() {
|
||||
Ok(ip) => Some(ResolverConfig::from_parts(
|
||||
None,
|
||||
|
||||
Reference in New Issue
Block a user