summaryrefslogtreecommitdiffhomepage
path: root/desktop
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2025-05-08 09:25:29 +0200
committerDavid Lönnhager <david.l@mullvad.net>2025-05-08 09:25:29 +0200
commita74a0c0aa3270bb2cf7861f94ad7dc590ed50d22 (patch)
treeb818bc01fafccafe0280e67cafeccd62f4e4c57c /desktop
parent057c0b1d8df35c34636a68c490a75a61d5506248 (diff)
parent9fcc4a4643f70d610e2da0d9883416f44550ad08 (diff)
downloadmullvadvpn-a74a0c0aa3270bb2cf7861f94ad7dc590ed50d22.tar.xz
mullvadvpn-a74a0c0aa3270bb2cf7861f94ad7dc590ed50d22.zip
Merge branch 'add-quic-desktop'
Diffstat (limited to 'desktop')
-rw-r--r--desktop/packages/mullvad-vpn/locales/messages.pot4
-rw-r--r--desktop/packages/mullvad-vpn/src/main/daemon-rpc.ts5
-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.ts3
5 files changed, 27 insertions, 1 deletions
diff --git a/desktop/packages/mullvad-vpn/locales/messages.pot b/desktop/packages/mullvad-vpn/locales/messages.pot
index e18dd8a5fe..401139b450 100644
--- a/desktop/packages/mullvad-vpn/locales/messages.pot
+++ b/desktop/packages/mullvad-vpn/locales/messages.pot
@@ -2327,6 +2327,10 @@ msgctxt "wireguard-settings-view"
msgid "Quantum-resistant tunnel"
msgstr ""
+msgctxt "wireguard-settings-view"
+msgid "QUIC"
+msgstr ""
+
#. The hint displayed below the WireGuard MTU input field.
#. Available placeholders:
#. %(wireguard)s - Will be replaced with the string "WireGuard"
diff --git a/desktop/packages/mullvad-vpn/src/main/daemon-rpc.ts b/desktop/packages/mullvad-vpn/src/main/daemon-rpc.ts
index 9c9321c61d..d5a8ab7f51 100644
--- a/desktop/packages/mullvad-vpn/src/main/daemon-rpc.ts
+++ b/desktop/packages/mullvad-vpn/src/main/daemon-rpc.ts
@@ -305,6 +305,11 @@ export class DaemonRpc extends GrpcClient {
grpcTypes.ObfuscationSettings.SelectedObfuscation.UDP2TCP,
);
break;
+ case ObfuscationType.quic:
+ grpcObfuscationSettings.setSelectedObfuscation(
+ grpcTypes.ObfuscationSettings.SelectedObfuscation.QUIC,
+ );
+ break;
}
if (obfuscationSettings.udp2tcpSettings) {
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 2b2e5ab27b..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;
@@ -461,6 +461,7 @@ export enum ObfuscationType {
off,
udp2tcp,
shadowsocks,
+ quic,
}
export type ObfuscationSettings = {