Il provider VPN NordVPN ha annunciato l'apertura del codice sorgente del client per la piattaforma Linux, della libreria di rete Libtelio e della libreria per la condivisione di file Libdrop. Il codice è aperto sotto la licenza GPLv3. Durante lo sviluppo sono stati utilizzati i linguaggi di programmazione Go, Rust, C e Python.
Il client Linux offre un'interfaccia a riga di comando per gestire le connessioni ai server NordVPN, consente di scegliere un server dalla lista considerando la posizione desiderata, modificare le impostazioni del protocollo e attivare la modalità Kill Switch, che blocca l'accesso alla rete in caso di disconnessione dal VPN-server. Il client supporta l'uso dei protocolli NordLynx (basato su WireGuard) e OpenVPN. Per modificare le impostazioni del firewall si utilizza iptables, per il routing iproute, per il tunneling delle connessioni tuntap, e per la risoluzione dei nomi DNS — systemd-resolved. È supportato su distribuzioni Ubuntu, Fedora, Manjaro, Debian, Arch, Kali, CentOS e Rasbian.
La libreria Libtelio include funzioni di rete standard e fornisce un'implementazione di una rete virtuale MeshNet, formata dai sistemi degli utenti e utilizzata per collegarli tra loro. MeshNet consente di stabilire tunnel crittografati tra i dispositivi e di crearne una sorta di rete locale separata. A differenza di una VPN, nelle connessioni di MeshNet non si stabilisce una connessione tra un dispositivo e un server VPN, ma tra i dispositivi finali che fungono anche da nodi per la routing del traffico.
Per l'intera rete MeshNet è possibile definire un server comune per interagire con il mondo esterno (ad esempio, se un nodo di uscita è posizionato presso l'utente a casa, ovunque l'utente si connetta a Internet con i dispositivi collegati a MeshNet durante i suoi viaggi, per i servizi esterni, l'attività di rete apparirà come se l'utente si connettesse da casa). Indirizzi IP).
Per la crittografia del traffico in MeshNet possono essere utilizzate diverse implementazioni di Wireguard. Come nodi di uscita possono essere utilizzati sia server VPN che nodi utente all'interno di MeshNet. Per limitare il traffico all'interno della rete è disponibile un filtro dei pacchetti configurabile, mentre per la risoluzione degli host è previsto un servizio basato su DNS. La libreria pubblicata consente di organizzare il funzionamento delle proprie reti MeshNet nelle proprie applicazioni.
La libreria Libdrop fornisce funzioni per l'organizzazione di uno scambio di file sicuro tra i dispositivi dell'utente. È supportato l'invio e la ricezione diretta di file tramite MeshNet o la rete globale, senza l'uso di server di terze parti.
Fonte: opennet.ru
