Under de senaste månaderna har Proton VPN arbetat med Proton-protokoll, en ny kodbas för VPN-protokoll på klientsidan. Denna nya kodarkitektur, som internt går under kodnamnet ProTUN, är skriven i Rust. Även om vi förgrenade kryptografikod från Cloudflares BoringTun(nytt fönster)-projekt, är den helt omdesignade arkitekturen Protons.
Varför vi behöver en ny VPN-kärna
WireGuard® är ett toppmodernt VPN-protokoll som är lika säkert som OpenVPN men snabbare och kraftfullare. Det är därför vi börjar ta bort support för OpenVPN från våra officiella appar, för att istället fokusera på WireGuard.
Men våra appar använder för närvarande den officiella wireguard-go-implementeringen av WireGuard. Och det är en utmärkt implementering med en elegant minimalistisk design som gör den snabb, säker och lättare att granska än traditionella VPN-protokoll.
Men wireguard-go integrerar inte väl med de språk vi använder nativt för att utveckla Proton VPN på de många plattformar som vi stöder (som Kotlin på Android och Swift på iOS). Detta fördröjer utvecklingen, försvårar felsökning och medför stabilitetsutmaningar.
Proton-protokoll löser dessa problem.
Proton-protokoll är ett nytt VPN-ramverk på klientsidan baserat på WireGuard. Eftersom det är skrivet i Rust och utformat som en delad, utbyggbar kärna, kan ProTUN distribueras konsekvent över plattformar och anpassas till olika nätverksmiljöer. Detta gör att vi kan diagnostisera problem snabbare, förbättra stabiliteten och bygga avancerad funktionalitet direkt i VPN-stacken.
Viktigast av allt är att Proton-protokoll ger oss flexibiliteten att reagera snabbt på censur och nätverksstörningar, vilket är ett område där vi förväntar oss de största långsiktiga vinsterna.
Under huven
Kryptera trafik med en ny WireGuard-kärna
I hjärtat av projektet för Proton-protokoll finns libpvpnclient, en ren, fristående implementering av WireGuard-protokollet skriven i Rust. Dess uppgift är enkel men avgörande: att kryptera din internettrafik och hålla din anslutning säker.
Det som skiljer sig från wireguard-go är hur det är byggt. Medan wireguard-go är en enkel WireGuard-klient, är libpvpnclient ett helt nytt ramverk på vilket vi kan utveckla nya avancerade funktioner och funktionaliteter.
Och istället för att vara tätt bunden till ett specifikt operativsystem är libpvpnclient utformat som en ren, plattformsoberoende kärna. Detta gör att vi kan återanvända samma högkvalitativa implementering överallt – på stationära datorer, mobila enheter och mer därtill. Denna uppdelning gör stor skillnad bakom kulisserna. Det gör att vi kan:
- Testa och felsöka komplexa gränsfall i kontrollerade, repeterbara miljöer
- Rulla ut förbättringar snabbare och mer konsekvent över plattformar
- Experimentera med nya tekniker för att motstå censur och trafikblockering
För dig innebär detta snabbare uppdateringar, färre plattformsspecifika problem och ett VPN som anpassar sig snabbare när nätverksförhållanden och censurmetoder ändras. ProTUN i sig är vårt namn på den wrapper runt libpvpnclient som anpassar det Rust-baserade biblioteket till varje operativsystem som vi stöder.
Det fungerar hand i hand med LocalAgent. Detta är vår egenutvecklade kontrollkanal som gör att vi kan implementera certifikatbaserad autentisering, och som vi också precis har strömlinjeformat och skrivit om i Rust.
Denna nya VPN-kärna är tillgänglig för provkörning nu som en beta-funktion (förhandstillgång) på följande plattformar:
- Windows
- Android
- iOS och iPadOS (med support för avancerad kill switch)
- Linux GUI-app (som ger stöd för vårt censurresistenta Stealth-protokoll)
Gör det enklare och nå Proton VPN-servrar
Vi arbetar också på fas två av Proton-protokoll. Med kodnamnet muon är detta ett flexibelt nätverksskikt som säkert ansluter våra appar till Protons VPN-API, även i situationer där Proton-API:et i sig censureras.
Innan ett VPN kan skydda din trafik måste det först och främst ansluta säkert till Proton-API:et. Och det blir allt svårare. I vissa länder och nätverk blockeras eller övervakas API-anslutningar på DNS-nivå eller identifieras genom att inspektera servernamn (en teknik som kallas SNI-tjuvlyssning).
För att åtgärda detta bygger vi muon, en ny gateway mellan våra appar och Protons API. Muon, som återigen är skrivet i Rust för säkerhet och prestanda, hanterar de allra första nätverksförfrågningarna som din app gör, och kan sedan dirigera dem säkert vidare till Proton VPN:s WireGuard-protokoll (på lång sikt kommer denna funktionalitet att ersätta vår befintliga lösning för alternativ routning(nytt fönster) mot censur).
I praktiken innebär detta att från det ögonblick du öppnar Proton VPN-appen i ett land där åtkomsten är känd för att vara censurerad, kommer din kommunikation till Proton-API:et redan att vara skyddad (redan innan en VPN-anslutning på systemnivå är helt upprättad). Och i restriktiva länder kommer din internetleverantör inte ens att veta att du ansluter till Protons API:er.
Detta skydd kommer att vara automatiskt och osynligt för dig, och innebär att du har större chans att få en fungerande anslutning i censurerade länder. Faktum är att muon är så användbart för att bekämpa censur att vi kommer att använda det i alla Proton-appar (inte bara VPN), vilket ger dig ett inbyggt censurskydd i hela vårt ekosystem från första stund. Vi kommer att rulla ut det snart, så håll utkik här.
En stabil grund för vad som kommer härnäst
libpvpnclient (med Proton-protokollens wrapper) och muon bildar tillsammans en ny plattform som ger våra ingenjörer mycket större flexibilitet. Detta gör att vi kan experimentera säkert med förbättringar av anslutningsstabilitet, batterianvändning och motståndskraft, och förbereder grunden för framtida teknologier, som starkare anticensurtekniker och postkvantkryptografi.
Vi ser detta som ett stort steg framåt för att göra internet mer tillgängligt, pålitligt och privat för alla. Och detta är bara början. Vi är glada över att se vart denna nya grund tar Proton VPN under 2026 och framåt.
“WireGuard” är ett registrerat varumärke(nytt fönster) som tillhör Jason A. Donenfeld.






