diff options
| author | David Lönnhager <david.l@mullvad.net> | 2025-09-24 15:25:26 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2025-10-02 12:46:59 +0200 |
| commit | cccb2c3fef30ed26b8dc4d64823f8430961f08e4 (patch) | |
| tree | 90fab644927c6f15e029274dde7020c3cf6cc0f5 | |
| parent | 4f18258ccf9a2e438ce3728a98bdf95a5401de2b (diff) | |
| download | mullvadvpn-cccb2c3fef30ed26b8dc4d64823f8430961f08e4.tar.xz mullvadvpn-cccb2c3fef30ed26b8dc4d64823f8430961f08e4.zip | |
Append LWO to retry order
| -rw-r--r-- | docs/relay-selector.md | 4 | ||||
| -rw-r--r-- | mullvad-relay-selector/src/relay_selector/mod.rs | 3 | ||||
| -rw-r--r-- | mullvad-relay-selector/tests/relay_selector.rs | 3 |
3 files changed, 8 insertions, 2 deletions
diff --git a/docs/relay-selector.md b/docs/relay-selector.md index f400a632a0..0d44d0fff3 100644 --- a/docs/relay-selector.md +++ b/docs/relay-selector.md @@ -59,6 +59,7 @@ constraints the following default ones will take effect - The fourth attempt will connect to a Wireguard relay using QUIC for obfuscation - The fifth attempt will connect to a Wireguard relay on a random port using [UDP2TCP obfuscation](https://github.com/mullvad/udp-over-tcp) - The sixth attempt will connect to a Wireguard relay over IPv6 on a random port using UDP2TCP obfuscation (if IPv6 is configured on the host) +- The seventh attempt will connect to a Wireguard relay using LWO #### Tunnel protocol is OpenVPN @@ -136,8 +137,7 @@ have bridges that support UDP tunnels over TCP bridges, this behavior should be changing the tunnel constraints to ones that do not support bridges (WireGuard, OpenVPN over UDP) will indirectly change the bridge state to _Auto_ if it was previously set to _On_. - ### Obfuscator caveats -There are three types of obfuscators - _udp2tcp_, _shadowsocks_ and _quic_. +There are four types of obfuscators - _udp2tcp_, _shadowsocks_, _quic_, and _lwo_. They are used if the obfuscation mode is set _Auto_ and the user has selected WireGuard to be the only tunnel protocol to be used. diff --git a/mullvad-relay-selector/src/relay_selector/mod.rs b/mullvad-relay-selector/src/relay_selector/mod.rs index b286d8f38b..d68e570c5c 100644 --- a/mullvad-relay-selector/src/relay_selector/mod.rs +++ b/mullvad-relay-selector/src/relay_selector/mod.rs @@ -80,6 +80,9 @@ pub static WIREGUARD_RETRY_ORDER: LazyLock<Vec<RelayQuery>> = LazyLock::new(|| { .udp2tcp() .ip_version(IpVersion::V6) .build(), + // 7 + #[cfg(not(target_os = "android"))] + RelayQueryBuilder::wireguard().lwo().build(), ] }); diff --git a/mullvad-relay-selector/tests/relay_selector.rs b/mullvad-relay-selector/tests/relay_selector.rs index 30115d136d..9249c371ea 100644 --- a/mullvad-relay-selector/tests/relay_selector.rs +++ b/mullvad-relay-selector/tests/relay_selector.rs @@ -340,6 +340,9 @@ fn assert_wireguard_retry_order() { .udp2tcp() .ip_version(IpVersion::V6) .build(), + // 7 + #[cfg(not(target_os = "android"))] + RelayQueryBuilder::wireguard().lwo().build(), ]; assert!( |
