summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2025-04-25 16:10:14 +0200
committerDavid Lönnhager <david.l@mullvad.net>2025-05-08 09:23:55 +0200
commit40bf996a8c0e1a16ebbdb5da059ce8cec0ce325c (patch)
tree1fd567d0cb92206846d2a21550b1b05002cbcac9
parentf98465aef1ae5c857332110db6a9de8f573cde6c (diff)
downloadmullvadvpn-40bf996a8c0e1a16ebbdb5da059ce8cec0ce325c.tar.xz
mullvadvpn-40bf996a8c0e1a16ebbdb5da059ce8cec0ce325c.zip
Add QUIC obfuscation to GUI
-rw-r--r--desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts6
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/components/WireguardSettings.tsx10
-rw-r--r--desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts2
3 files changed, 17 insertions, 1 deletions
diff --git a/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts b/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts
index f965cf8df4..69549c1d3c 100644
--- a/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts
+++ b/desktop/packages/mullvad-vpn/src/main/grpc-type-convertions.ts
@@ -426,6 +426,9 @@ function convertFromObfuscationEndpoint(
case grpcTypes.ObfuscationEndpoint.ObfuscationType.SHADOWSOCKS:
obfuscationType = 'shadowsocks';
break;
+ case grpcTypes.ObfuscationEndpoint.ObfuscationType.QUIC:
+ obfuscationType = 'quic';
+ break;
default:
throw new Error('unsupported obfuscation protocol');
}
@@ -693,6 +696,9 @@ function convertFromObfuscationSettings(
case grpcTypes.ObfuscationSettings.SelectedObfuscation.SHADOWSOCKS:
selectedObfuscationType = ObfuscationType.shadowsocks;
break;
+ case grpcTypes.ObfuscationSettings.SelectedObfuscation.QUIC:
+ selectedObfuscationType = ObfuscationType.quic;
+ break;
}
return {
diff --git a/desktop/packages/mullvad-vpn/src/renderer/components/WireguardSettings.tsx b/desktop/packages/mullvad-vpn/src/renderer/components/WireguardSettings.tsx
index 62381087c1..8a2cf46e3a 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/components/WireguardSettings.tsx
+++ b/desktop/packages/mullvad-vpn/src/renderer/components/WireguardSettings.tsx
@@ -215,6 +215,16 @@ function ObfuscationSettings() {
ariaLabel: messages.pgettext('accessibility', 'UDP-over-TCP settings'),
},
},
+ // TODO: Remove 'development' condition before releasing QUIC.
+ // https://linear.app/mullvad/issue/DES-2105
+ ...(window.env?.development
+ ? [
+ {
+ label: messages.pgettext('wireguard-settings-view', 'QUIC'),
+ value: ObfuscationType.quic,
+ },
+ ]
+ : []),
{
label: messages.gettext('Off'),
value: ObfuscationType.off,
diff --git a/desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts b/desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts
index 2a12a06a30..ec9061e466 100644
--- a/desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts
+++ b/desktop/packages/mullvad-vpn/src/shared/daemon-rpc-types.ts
@@ -112,7 +112,7 @@ export function tunnelTypeToString(tunnel: TunnelType): string {
}
export type RelayProtocol = 'tcp' | 'udp';
-export type EndpointObfuscationType = 'udp2tcp' | 'shadowsocks';
+export type EndpointObfuscationType = 'udp2tcp' | 'shadowsocks' | 'quic';
export type Constraint<T> = 'any' | { only: T };
export type LiftedConstraint<T> = 'any' | T;