Au cours des derniers mois, Proton VPN a travaillé sur Proton protocols, une nouvelle base de code de protocole VPN côté client. Connue en interne sous le nom de code ProTUN, cette nouvelle architecture de code est écrite en Rust. Bien que nous ayons dérivé le code cryptographique du projet BoringTun(nouvelle fenêtre) de Cloudflare, l’architecture entièrement repensée appartient à Proton.
Pourquoi nous avons besoin d’un nouveau cœur VPN
WireGuard® est un protocole VPN de pointe, aussi sécurisé qu’OpenVPN mais plus rapide et plus puissant. C’est pourquoi nous commençons à retirer le support d’OpenVPN de nos applications officielles, afin de nous concentrer sur WireGuard.
Cependant, nos applications utilisent actuellement l’implémentation officielle wireguard-go de WireGuard. Et c’est une excellente implémentation, dotée d’une conception minimaliste élégante qui la rend rapide, sécurisée et plus facile à auditer que les protocoles VPN traditionnels.
Cependant, wireguard-go ne s’intègre pas bien avec les langages que nous utilisons nativement pour développer Proton VPN sur les multiples plateformes que nous prenons en charge (comme Kotlin sur Android et Swift sur iOS). Cela ralentit le développement, complique le débogage et pose des problèmes de stabilité.
Proton protocols résout ces problèmes.
Proton protocols est un nouveau framework VPN côté client basé sur WireGuard. Parce qu’il est écrit en Rust et conçu comme un cœur partagé et extensible, ProTUN peut être déployé de manière cohérente sur toutes les plateformes et adapté à différents environnements réseau. Cela nous permettra de diagnostiquer les problèmes plus rapidement, d’améliorer la stabilité et d’intégrer des fonctionnalités avancées directement dans la pile VPN.
Plus important encore, Proton protocols nous offre la flexibilité nécessaire pour réagir rapidement à la censure et aux interférences réseau, un domaine dans lequel nous attendons les gains à long terme les plus importants.
Sous le capot
Chiffrer le trafic avec un nouveau cœur WireGuard
Au cœur du projet Proton protocols se trouve libpvpnclient, une implémentation propre et autonome du protocole WireGuard écrite en Rust. Son rôle est simple mais essentiel : chiffrer votre trafic internet et sécuriser votre connexion.
Ce qui diffère de wireguard-go, c’est sa conception. Alors que wireguard-go est un simple client WireGuard, libpvpnclient est un tout nouveau framework sur lequel nous pouvons développer de nouvelles fonctionnalités avancées.
Et au lieu d’être étroitement lié à un système d’exploitation spécifique, libpvpnclient est conçu comme un cœur pur et indépendant de la plateforme. Cela nous permet de réutiliser la même implémentation de haute qualité partout : sur ordinateur, sur mobile et au-delà. Cette séparation fait une grande différence en coulisses. Elle nous permet de :
- Tester et déboguer des cas limites complexes dans des environnements contrôlés et reproductibles
- Déployer des améliorations plus rapidement et de manière plus cohérente sur toutes les plateformes
- Expérimenter de nouvelles techniques pour résister à la censure et au blocage du trafic
Pour vous, cela se traduit par des mises à jour plus rapides, moins de problèmes spécifiques aux plateformes et un VPN qui s’adapte plus rapidement aux changements des conditions réseau et des méthodes de censure. ProTUN est le nom que nous donnons à l’enveloppe de libpvpnclient qui adapte la bibliothèque basée sur Rust à chaque système d’exploitation que nous prenons en charge.
Il fonctionne main dans la main avec LocalAgent. Il s’agit de notre canal de contrôle interne qui nous permet d’implémenter l’authentification basée sur des certificats, et que nous venons également de simplifier et de réécrire en Rust.
Ce nouveau cœur de VPN est disponible pour essai dès maintenant en tant que fonctionnalité bêta (accès en avant-première) sur les plateformes suivantes :
- Windows
- Android
- iOS et iPadOS (apportant la prise en charge de l’arrêt d’urgence (kill switch) avancé)
- Application GUI Linux (apportant le support de notre protocole Stealth résistant à la censure)
Faciliter l’accès aux serveurs Proton VPN
Nous travaillons également sur la phase deux de Proton protocols. Sous le nom de code muon, il s’agit d’une couche réseau flexible qui connecte en toute sécurité nos applications à l’API VPN de Proton, même dans les situations où l’API de Proton est elle-même censurée.
Avant qu’un VPN puisse protéger votre trafic, il doit d’abord se connecter en toute sécurité à l’API Proton. Et cela devient de plus en plus difficile. Dans certains pays et sur certains réseaux, les connexions API sont bloquées ou surveillées au niveau DNS, ou identifiées en inspectant les noms de serveurs (une technique connue sous le nom de surveillance SNI).
Pour y remédier, nous développons muon, une nouvelle passerelle entre nos applications et l’API de Proton. Également écrit en Rust pour des raisons de sécurité et de performances, muon gère les toutes premières requêtes réseau de votre application, puis peut les acheminer en toute sécurité vers le protocole WireGuard de Proton VPN (à long terme, cette fonctionnalité remplacera notre solution de routage alternatif(nouvelle fenêtre) anti-censure actuelle).
En pratique, cela signifie que dès que vous ouvrez l’application Proton VPN dans un pays où l’accès est censuré, votre communication avec l’API Proton sera déjà protégée (avant même qu’une connexion VPN au niveau du système ne soit entièrement établie). Et dans les pays restrictifs, votre FAI ne saura même pas que vous vous connectez aux API de Proton.
Cette protection sera automatique et invisible pour vous, et signifie que vous aurez plus de chances d’obtenir une connexion fonctionnelle dans les pays censurés. En fait, muon est si utile pour contourner la censure que nous allons l’utiliser sur toutes les applications Proton (pas seulement le VPN), vous offrant ainsi une protection intégrée contre la censure dans tout notre écosystème dès le départ. Nous le déploierons bientôt, alors restez à l’écoute.
Une base solide pour la suite
libpvpnclient (avec l’enveloppe Proton protocols) et muon forment ensemble une nouvelle plateforme qui offre beaucoup plus de flexibilité à nos ingénieurs. Cela nous permet d’expérimenter en toute sécurité des améliorations de la stabilité de la connexion, de la consommation de la batterie et de la résilience, et prépare le terrain pour les technologies futures, comme des techniques anti-censure plus robustes et la cryptographie post-quantique.
Nous considérons cela comme une avancée majeure pour rendre Internet plus accessible, fiable et privé pour tous. Et ce n’est que le début. Nous sommes impatients de voir où cette nouvelle base mènera Proton VPN en 2026 et au-delà.
« WireGuard » est une marque déposée(nouvelle fenêtre) de Jason A. Donenfeld.






