Le fournisseur de VPN NordVPN a annoncé l'ouverture du code source de son client pour la plateforme Linux, de la bibliothèque réseau Libtelio et de la bibliothèque pour l'organisation des échanges de fichiers Libdrop. Le code est ouvert sous la licence GPLv3. Les langages de programmation Go, Rust, C et Python ont été utilisés dans le développement.
Le client Linux fournit une interface en ligne de commande pour gérer la connexion aux serveurs NordVPN, permettant de sélectionner un serveur dans la liste en fonction de l'emplacement désiré, de modifier les paramètres de protocole et d'activer le mode Kill Switch, qui bloque l'accès réseau en cas de perte de connexion avec VPN-le serveur. Le client prend en charge l'utilisation des protocoles NordLynx (basé sur WireGuard) et OpenVPN. Les paramètres du pare-feu sont gérés par iptables, le routage par iproute, le tunneling par tuntap, et la résolution de noms DNS via systemd-resolved. Il est compatible avec les distributions Ubuntu, Fedora, Manjaro, Debian, Arch, Kali, CentOS et Raspbian.
La bibliothèque Libtelio inclut des fonctions réseau standards et fournit une implémentation d'un réseau virtuel MeshNet, formé par des systèmes d'utilisateurs et utilisé pour leur interconnexion. MeshNet permet d'établir des tunnels chiffrés entre les dispositifs et de créer une sorte de réseau local distinct. Contrairement au VPN, les connexions dans MeshNet ne se font pas entre un dispositif et un serveur VPN, mais entre des dispositifs finaux qui participent également en tant que nœuds pour le routage du trafic.
Pour l'ensemble du réseau MeshNet, un serveur commun peut être défini pour interagir avec le monde extérieur (par exemple, si le nœud sortant est hébergé chez l'utilisateur, peu importe où l'utilisateur se connecte à Internet depuis les dispositifs connectés à MeshNet, l'activité réseau apparaîtra pour les services externes comme si l'utilisateur se connectait depuis chez lui. adresses IP).
Pour chiffrer le trafic dans MeshNet, diverses implémentations de Wireguard peuvent être utilisées. Les nœuds de sortie peuvent être des serveurs VPN ou des nœuds utilisateurs à l'intérieur de MeshNet. Un filtre de paquets personnalisable est proposé pour limiter le trafic à l'intérieur du réseau, et un service basé sur DNS pour déterminer les hôtes. La bibliothèque publiée permet d'organiser des réseaux MeshNet dans vos propres applications.
La bibliothèque Libdrop offre des fonctionnalités pour organiser un échange de fichiers sécurisé entre les appareils de l'utilisateur. L'envoi et la réception de fichiers directement sur MeshNet ou sur le réseau mondial sont pris en charge, sans faire appel à des serveurs tiers.
Source : opennet.ru
