Вышли проекты WireGuard 1.0 для Windows и WireGuardNT 1.0
Разработчик Джейсон Доненфилд (Jason A. Donenfeld) выпустил первый мажорный релиз клиентского ПО WireGuard для Windows 1.0, а также выпуск драйверов WireGuardNT 1.0 с портом VPN WireGuard для ядра Windows 10 и 11, поддерживающий архитектуры AMD64, x86 и ARM64. Код компонентов для ядра Windows опубликован под лицензией GPLv2, а комплект кода для клиентского ПО доступен под лицензией MIT.
Решение WireGuard 1.0 для Windows построено на кодовой базе основной реализации WireGuard для ядра Linux, которая была переведена на использование сущностей ядра Windows и сетевого стека NDIS.
По информации OpenNET, по сравнению с реализацией решения wireguard-go, работающего в пространстве пользователя и использующей сетевой интерфейс Wintun, проект WireGuardNT отличается существенным повышением производительности за счёт исключения операций переключения контекста и копирования содержимого пакетов из ядра в пространство пользователя. По аналогии с реализациями для Linux, OpenBSD и FreeBSD в сборке WireGuardNT вся логика обработки протокола работает непосредственно на уровне сетевого стека.
Версия WireGuard 1.0 для Windows отмечена как своеобразный рубеж, ознаменовавший решение ряда проблем и выполнение намеченных задач, таких как: задействование функции NdisWdfGetAdapterContextFromAdapterHandle() вместо менее безопасного хранения состояния драйвера в поле Reserved и использования недокументированных смещений; корректное и оперативное отслеживания размера MTU (Maximum Transmission Unit) через перехват системных вызовов; задействование в коде стандарта C23.
Проект WireGuard реализован на основе современных методов шифрования. Решение обеспечивает очень высокую производительность, просто в использовании, лишёно усложнений и хорошо
Читать на habr.com