NordVPN выпускает три своих продукта под лицензией с открытым исходным кодом
Недавно VPN-провайдер NordVPN объявил в своем блоге о выпуске клиента с открытым исходным кодом для Linux , сетевой библиотеки Libtelio и библиотеки для обмена файлами Libdrop.
Клиент для Linux предоставляет интерфейс командной строки для управления подключениями к серверам NordVPN, позволяя выбрать сервер из списка в зависимости от вашего местоположения, изменить настройки протокола и включить режим Kill Switch, который блокирует доступ к сети в случае потери соединения с VPN-сервером.
Те из вас, кто не знаком с NordVPN, должны знать, что это VPN-сервис, предоставляемый компанией Nordsec с приложениями для Microsoft Windows, macOS, Linux, Android, iOS и Android TV.
NordVPN направляет трафик через удаленный сервер, скрывая таким образом IP-адрес и шифруя все входящие и исходящие данные. Для шифрования NordVPN использует в своих приложениях технологии OpenVPN и Internet Key Exchange v2/IPsec, а также представила собственную технологию NordLynx.
NordLynx — это инструмент VPN, основанный на протоколе WireGuard, который обеспечивает лучшую производительность, чем протоколы туннелирования IPsec и OpenVPN.
НордВПН для Linux
Упоминается, что Linux-клиент поддерживает протоколы NordLynx ( на основе WireGuard) и OpenVPN. Он использует iptables для изменения настроек брандмауэра, iproute для маршрутизации, tuntap для туннелирования соединений и systemd-resolved для разрешения DNS-имен.
Библиотека Libtelio включает в себя типичные сетевые функции и предоставляет реализацию виртуальной сети MeshNet, сформированной из пользовательских систем и используемой для связи друг с другом. MeshNet позволяет устанавливать зашифрованные туннели между устройствами и создавать видимость отдельной локальной сети на их основе.
Мы делаем эти продукты открытыми в знак нашей приверженности прозрачности и подотчетности. Нам нужен вклад и внимание сообщества программистов, чтобы показать им, что мы уверены в собственном программном обеспечении.
Этот шаг также подчеркивает нашу твердую веру в совместный прогресс. В сообществе разработчиков приложений и кибербезопасности полно талантливых программистов и пентестеров, которые могут привнести в наши приложения свои уникальные взгляды.
В отличие от VPN, соединения в Meshnet устанавливаются не между устройством и VPN-сервером, а между конечными устройствами, которые также участвуют в качестве узлов для маршрутизации трафика.
Для всей сети MeshNet можно определить общий сервер для взаимодействия с внешним миром (например, если исходящий узел находится в доме пользователя, то не имеет значения, в какие поездки и места подключается пользователь с подключенных устройств для MeshNet, для внешних сервисов сетевая активность будет выглядеть так, как если бы пользователь подключался со своего домашнего IP-адреса).
Открытый исходный код Libtelio — особенно важный шаг, потому что этот код формирует основу всех наших приложений NordVPN, а не только нашего клиента Linux. Предоставление этого материала сообществу Linux, одному из самых сильных активных сообществ с открытым исходным кодом в настоящее время, побуждает талантливых кодеров и разработчиков исследовать наш код и улучшать наш сервис.
Для шифрования трафика в MeshNet можно использовать различные реализации Wireguard. В качестве выходных узлов могут использоваться как VPN-серверы, так и пользовательские узлы в MeshNet.
Предоставляется настраиваемый пакетный фильтр для ограничения трафика внутри сети, а также служба на основе DNS для определения хостов. Опубликованная библиотека позволяет организовывать собственные сети MeshNet в ваших приложениях.
Библиотека Libdrop предоставляет возможности для организации безопасного обмена файлами между устройствами пользователей. Она поддерживает прямую отправку и получение файлов через MeshNet или глобальную сеть без участия сторонних серверов.
Наконец, если вас интересует более подробная информация , вы можете найти ее по следующей ссылке.
Следует знать, что клиентский код является открытым исходным кодом под лицензией GPLv3 . В его разработке использовались языки программирования Go, Rust, C и Python. Поддерживаемые дистрибутивы включают Ubuntu, Fedora, Manjaro, Debian, Arch, Kali, CentOS и Raspbian.