Proton VPN переписал ядро на Rust: Stealth появился на Linux
Proton VPN заменил движок внутри своих приложений. Раньше это был wireguard-go, эталонная реализация на Go; теперь ядро написано на Rust и называется Proton Protocols, внутри компании ProTUN. Его основа это библиотека libpvpnclient, одна независимая от платформы реализация WireGuard, общая для всех приложений. Изменение в бете и раскатывается на Windows, Android, iOS, iPadOS и настольное приложение для Linux.
Зачем переписывать то, что работает
Старый движок плохо уживался с языками, на которых написаны сами приложения, Kotlin на Android и Swift на iOS, поэтому у каждой платформы копились свои особенности, свои ошибки и свой график релизов. Одна общая библиотека на Rust позволяет починке доезжать везде сразу и убирает целый класс ошибок работы с памятью, которые код на C и на Go допускает каждый по-своему.
Это сантехника, и именно сантехника решает, удержит ли kill switch трафик в момент, когда соединение оборвалось.
Что пользователь получает уже сейчас
Видно два изменения. В настольном приложении для Linux появился Stealth, антицензурный протокол провайдера, которого там до сих пор не было: в заметках о релизах это бета от 21 июля. И приложения получили продвинутый kill switch, тот, который блокирует трафик, пока туннель не поднят, а не просто переподключается в надежде на лучшее.
Почему Stealth важен там, где VPN фильтруют
Обычный WireGuard легко узнать в трафике, поэтому сеть, которая хочет блокировать VPN, начинает именно с него. Stealth заворачивает туннель так, что трафик перестаёт выглядеть как рукопожатие VPN. Он медленнее голого протокола, и он же разница между соединением, которое в фильтруемой сети работает, и тем, которое не работает.
Чего пока нет
Один компонент подают как выпущенный, хотя это не так. Muon, сетевой слой, который должен прятать обращения самого приложения к API от того, кто смотрит ваш трафик, чтобы ни запрос домена, ни имя сервера в рукопожатии не выдавали, что вы разговариваете с VPN, пока задел, а не выпущенная функция. То же с постквантовой криптографией: новое ядро описывают как фундамент для неё, а не как её появление. Различать стоит, потому что полезный вопрос к любому клиенту VPN это какие защиты работают сегодня.
За чем следить
Переписывание той части, через которую идёт весь трафик, серьёзное изменение, и слово «бета» тут ключевое. Когда дойдёт до стабильных версий, проверять стоит то, что пользователь может увидеть сам: держит ли kill switch при обрыве, пробивается ли Stealth в той сети, где вас раньше блокировали, и осталось ли прежним время работы от батареи на телефоне.