Разработчики Mullvad отказались от стандартов индустрии.

Разработчики Mullvad VPN анонсировали GotaTun — собственную реализацию протокола WireGuard, написанную на языке Rust. Проект является форком BoringTun от Cloudflare, а его название отсылает одновременно к оригинальному проекту и к Götatunneln — автомобильному тоннелю в Гётеборге, где базируется компания.
GotaTun не вводит новый протокол — это всё тот же WireGuard, но переписанный на Rust с прицелом на высокую производительность и надёжность. Разработчики интегрировали в него технологии повышения приватности DAITA и Multihop, добавили полноценную поддержку Android и применили стратегии безопасной многопоточности и zero-copy для работы с памятью.
До сих пор мобильные приложения Mullvad использовали wireguard-go — кроссплатформенную реализацию WireGuard на языке Go, которая де-факто стала стандартом для многих VPN-провайдеров. Однако с ней накопились серьёзные проблемы: по данным разработчиков, более 85% всех сбоев Android-приложения, зафиксированных в консоли Google Play, происходили именно в wireguard-go. Часть ошибок удалось исправить, но многие так и остались нерешёнными.
Дополнительные сложности создавало взаимодействие между Rust и Go через интерфейс внешних функций (FFI). Поскольку Go — управляемый язык со своей средой исполнения, отладка зависаний и сбоев в wireguard-go превращалась в непростую задачу: получить трассировку стека удавалось далеко не всегда.
Результаты перехода на GotaTun оказались впечатляющими. После выхода версии 2025.10 в конце ноября показатель воспринимаемых пользователями сбоев на Android упал с 0,40% до 0,01%. Пользователи также отмечают более высокую скорость соединения и снижение расхода батареи.
В планах на 2026 год — независимый аудит безопасности, замена wireguard-go на GotaTun на всех платформах включая десктоп и iOS, а также дальнейшая оптимизация производительности.