summaryrefslogtreecommitdiffhomepage
path: root/mullvad-api/src/proxy.rs
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2024-10-18 11:08:31 +0200
committerMarkus Pettersson <markus.pettersson@mullvad.net>2024-10-23 14:59:43 +0200
commit9e99d2aa2d9df2d39002c15e75ccf44ccb7ead20 (patch)
tree269885bcb0735cf3ac1a3538e4619d69ed0387bd /mullvad-api/src/proxy.rs
parent4d51fe6c0df45ee6ec911a67421d7994d9993cc5 (diff)
downloadmullvadvpn-9e99d2aa2d9df2d39002c15e75ccf44ccb7ead20.tar.xz
mullvadvpn-9e99d2aa2d9df2d39002c15e75ccf44ccb7ead20.zip
Enable Encrypted DNS proxy access method in the daemon
Diffstat (limited to 'mullvad-api/src/proxy.rs')
-rw-r--r--mullvad-api/src/proxy.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/mullvad-api/src/proxy.rs b/mullvad-api/src/proxy.rs
index 2fb2c4bf35..3cf38acab0 100644
--- a/mullvad-api/src/proxy.rs
+++ b/mullvad-api/src/proxy.rs
@@ -2,6 +2,7 @@ use hyper_util::client::legacy::connect::{Connected, Connection};
use serde::{Deserialize, Serialize};
use std::{
fmt, io,
+ net::SocketAddr,
path::Path,
pin::Pin,
task::{self, Poll},
@@ -74,6 +75,7 @@ pub enum ProxyConfig {
Shadowsocks(proxy::Shadowsocks),
Socks5Local(proxy::Socks5Local),
Socks5Remote(proxy::Socks5Remote),
+ EncryptedDnsProxy(mullvad_encrypted_dns_proxy::config::ProxyConfig),
}
impl ProxyConfig {
@@ -87,6 +89,10 @@ impl ProxyConfig {
ProxyConfig::Socks5Remote(remote) => {
Endpoint::from_socket_address(remote.endpoint, TransportProtocol::Tcp)
}
+ ProxyConfig::EncryptedDnsProxy(proxy) => {
+ let addr = SocketAddr::V4(proxy.addr);
+ Endpoint::from_socket_address(addr, TransportProtocol::Tcp)
+ }
}
}
}
@@ -100,6 +106,9 @@ impl fmt::Display for ProxyConfig {
ProxyConfig::Socks5Local(local) => {
write!(f, "Socks5 {} via localhost:{}", endpoint, local.local_port)
}
+ ProxyConfig::EncryptedDnsProxy(proxy) => {
+ write!(f, "ApiSusan {}", proxy.addr)
+ }
}
}
}