W ciągu ostatnich kilku miesięcy zespół Proton VPN pracował nad Proton protocols, nową bazą kodu protokołu VPN po stronie klienta. Ta nowa architektura kodu, znana wewnętrznie pod kryptonimem ProTUN, została napisana w języku Rust. Chociaż wydzieliliśmy kod kryptograficzny z projektu BoringTun(nowe okno) firmy Cloudflare, całkowicie przeprojektowana architektura należy do Proton.
Dlaczego potrzebujemy nowego rdzenia VPN
WireGuard® to najnowocześniejszy protokół VPN, który jest tak samo bezpieczny jak OpenVPN, ale szybszy i wydajniejszy. Dlatego zaczynamy usuwać wsparcie dla OpenVPN z naszych oficjalnych aplikacji, aby zamiast tego skupić się na WireGuard.
Obecnie jednak nasze aplikacje korzystają z oficjalnej implementacji WireGuard o nazwie wireguard-go. To świetna implementacja o elegancko minimalistycznym designie, dzięki któremu jest szybka, bezpieczna i łatwiejsza do audytowania niż tradycyjne protokoły VPN.
Jednak wireguard-go nie integruje się dobrze z językami, których używamy natywnie do tworzenia Proton VPN na wielu wspieranych przez nas platformach (takich jak Kotlin na Androidzie i Swift na iOS). Spowalnia to rozwój, utrudnia debugowanie i rodzi problemy ze stabilnością.
Proton protocols rozwiązuje te problemy.
Proton protocols to nowy framework VPN po stronie klienta oparty na WireGuard. Ponieważ został napisany w języku Rust i zaprojektowany jako wspólny, rozszerzalny rdzeń, ProTUN może być spójnie wdrażany na różnych platformach i dostosowywany do różnych środowisk sieciowych. Pozwoli nam to szybciej diagnozować problemy, poprawić stabilność i wbudować zaawansowane funkcje bezpośrednio w stos VPN.
Co najważniejsze, Proton protocols daje nam elastyczność w szybkim reagowaniu na cenzurę i zakłócenia sieciowe, a to obszar, w którym spodziewamy się największych długoterminowych korzyści.
Pod maską
Szyfrowanie ruchu sieciowego za pomocą nowego rdzenia WireGuard
Sercem projektu Proton protocols jest libpvpnclient – przejrzysta, samodzielna implementacja protokołu WireGuard napisana w języku Rust. Jej zadanie jest proste, ale kluczowe: szyfrować Twój ruch sieciowy i dbać o bezpieczeństwo Twojego połączenia.
To, co różni je od wireguard-go, to sposób konstrukcji. Podczas gdy wireguard-go jest zwykłym klientem WireGuard, libpvpnclient to zupełnie nowy framework, na bazie którego możemy rozwijać nowe, zaawansowane funkcje i możliwości.
Zamiast być ściśle powiązanym z konkretnym systemem operacyjnym, libpvpnclient został zaprojektowany jako czysty, niezależny od platformy rdzeń. Pozwala nam to ponownie wykorzystać tę samą wysokiej jakości implementację wszędzie — na komputerach, urządzeniach mobilnych i nie tylko. Ta separacja robi ogromną różnicę za kulisami. Pozwala nam ona:
- testować i debugować skomplikowane przypadki skrajne w kontrolowanych, powtarzalnych środowiskach
- szybciej i spójniej wdrażać ulepszenia na różnych platformach
- eksperymentować z nowymi technikami przeciwdziałania cenzurze i blokowaniu ruchu sieciowego
Dla Ciebie oznacza to szybsze aktualizacje, mniej problemów specyficznych dla danej platformy oraz VPN, który szybciej dostosowuje się do zmieniających się warunków sieciowych i metod cenzury. ProTUN to nasza nazwa dla wrappera (nakładki) na libpvpnclient, który dostosowuje napisaną w języku Rust bibliotekę do każdego wspieranego przez nas systemu operacyjnego.
Działa on w ścisłej współpracy z LocalAgent. To nasz wewnętrzny kanał sterowania, który umożliwia nam wdrożenie uwierzytelniania opartego na certyfikatach, a który właśnie usprawniliśmy i napisaliśmy na nowo w języku Rust.
Ten nowy rdzeń VPN jest już dostępny do przetestowania jako funkcja beta (w ramach wcześniejszego dostępu) na następujących platformach:
- Windows
- Android
- iOS i iPadOS (wprowadzając wsparcie dla zaawansowanej funkcji Kill Switch)
- aplikacja Linux z interfejsem graficznym (GUI) (wprowadzająca obsługę naszego odpornego na cenzurę protokołu Stealth)
Łatwiejsze łączenie się z serwerami Proton VPN
Pracujemy również nad drugą fazą Proton protocols. Pod kryptonimem muon kryje się elastyczna warstwa sieciowa, która bezpiecznie łączy nasze aplikacje z interfejsem API VPN firmy Proton, nawet w sytuacjach, gdy sam interfejs API Proton podlega cenzurze.
Zanim VPN będzie mógł chronić Twój ruch sieciowy, musi najpierw bezpiecznie połączyć się z interfejsem API Proton. A to staje się coraz trudniejsze. W niektórych krajach i sieciach połączenia z interfejsem API są blokowane lub monitorowane na poziomie DNS bądź identyfikowane poprzez sprawdzanie nazw serwerów (technika znana jako SNI snooping).
Aby rozwiązać ten problem, budujemy muon — nową bramę między naszymi aplikacjami a interfejsem API Proton. Napisany w języku Rust ze względów bezpieczeństwa i wydajności, muon obsługuje już pierwsze żądania sieciowe wysyłane przez Twoją aplikację, a następnie może bezpiecznie kierować je do protokołu WireGuard w Proton VPN (w dłuższej perspektywie funkcja ta zastąpi nasze dotychczasowe rozwiązanie antycenzorskie, czyli alternatywne przekierowanie połączenia(nowe okno)).
W praktyce oznacza to, że od momentu otwarcia aplikacji Proton VPN w kraju, w którym dostęp jest cenzurowany, Twoja komunikacja z interfejsem API Proton będzie już chroniona (nawet przed pełnym ustanowieniem połączenia VPN na poziomie systemu). W krajach o restrykcyjnej cenzurze Twój dostawca internetu (ISP) nawet nie dowie się, że łączysz się z interfejsami API Proton.
Ochrona ta będzie automatyczna i niewidoczna dla Ciebie, co oznacza, że zyskasz większą szansę na uzyskanie działającego połączenia w krajach objętych cenzurą. W rzeczywistości muon jest tak przydatny w omijaniu cenzury, że zamierzamy zastosować go we wszystkich aplikacjach Proton (nie tylko VPN), zapewniając Ci wbudowaną ochronę przed cenzurą w całym naszym ekosystemie już na starcie. Wkrótce zaczniemy go wdrażać, więc śledź nasze aktualności.
Solidny fundament pod to, co nadchodzi
libpvpnclient (wraz z nakładką Proton protocols) oraz muon tworzą wspólnie nową platformę, która daje naszym inżynierom znacznie większą elastyczność. Pozwala nam to na bezpieczne eksperymentowanie z ulepszeniami w zakresie stabilności połączenia, zużycia baterii i odporności, a także przygotowuje grunt pod przyszłe technologie, takie jak silniejsze techniki antycenzorskie i kryptografia postkwantowa.
Postrzegamy to jako ogromny krok naprzód w kierunku uczynienia internetu bardziej dostępnym, niezawodnym i prywatnym dla każdego. A to dopiero początek. Jesteśmy podekscytowani, widząc, dokąd ten nowy fundament zaprowadzi Proton VPN w 2026 roku i później.
„WireGuard” to zastrzeżony znak towarowy(nowe okno) Jasona A. Donenfelda.






