diff options
| author | David Lönnhager <david.l@mullvad.net> | 2025-05-08 09:25:29 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2025-05-08 09:25:29 +0200 |
| commit | a74a0c0aa3270bb2cf7861f94ad7dc590ed50d22 (patch) | |
| tree | b818bc01fafccafe0280e67cafeccd62f4e4c57c /desktop | |
| parent | 057c0b1d8df35c34636a68c490a75a61d5506248 (diff) | |
| parent | 9fcc4a4643f70d610e2da0d9883416f44550ad08 (diff) | |
| download | mullvadvpn-a74a0c0aa3270bb2cf7861f94ad7dc590ed50d22.tar.xz mullvadvpn-a74a0c0aa3270bb2cf7861f94ad7dc590ed50d22.zip | |
Merge branch 'add-quic-desktop'
Diffstat (limited to 'desktop')
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 = { |
