>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Python

Un internet autonome basé sur LoRa et la radio par paquets sans fournisseurs ni adresses IP

Récemment, je suis tombé sur un projet intéressant qui m'a rappelé l'époque de FidoNet et des BBS, mais avec une cryptographie moderne. Imaginez ceci : le pylône cellulaire est hors service, l'internet à la maison ne fonctionne plus, les câbles de la dorsale sont sectionnés, et vous devez envoyer un message ou consulter une page de documentation. NomadNet résout exactement ce problème.

Le projet crée un réseau maillé entièrement autonome qui n'a pas besoin d'internet du tout. Aucune adresse IP, aucun serveur DNS, aucune inscription par numéro de téléphone, aucun nœud central requis. Tout fonctionne par-dessus n'importe quel canal capable de transmettre des octets, qu'il s'agisse d'un module LoRa bon marché, d'un modem radio, du Wi-Fi ou même d'une ancienne interface série.

Interface Nomad Network

Sous le capot

NomadNet est construit sur deux bibliothèques du même auteur : Reticulum Network Stack (RNS) et le protocole de messagerie LXMF.

Reticulum gère toute la magie de bas niveau. Il construit un réseau maillé cryptographique peer-to-peer avec un routage des messages de nœud à nœud. RNS est conçu pour fonctionner même à des vitesses microscopiques. Le système envoie joyamment des données sur un canal radio à 300 bits par seconde. Si vous avez Ethernet ou internet disponible, Reticulum peut les utiliser comme l'un des transports, connectant des îles isolées locales en un réseau unifié.

LXMF ajoute la livraison de messages chiffrés par-dessus Reticulum avec un support de chiffrement de bout en bout et de forward secrecy. Si le destinataire est hors ligne, les nœuds intermédiaires stockent le paquet chiffré et le livrent lorsque le nœud réapparaît sur les ondes.

NomadNet combine tout cela dans une interface console (TUI) avec son propre navigateur et messenger intégrés.

Navigation dans la console

Ce que le système peut faire

En termes de fonctionnalités, NomadNet ressemble à un Web 1.0 de poche construit sur des principes de tolérance aux pannes de niveau militaire :

  1. Navigateur texte et micro pages. À l'intérieur fonctionne le navigateur de pages spartiate Micron. C'est un langage de balisage léger optimisé pour les canaux à faible bande passante. Les pages sont mises en cache sur le client pour éviter de retransmettre le trafic sur les ondes radio.
  2. Contenu dynamique sur les nœuds. Un nœud peut servir non seulement des pages statiques. Vous pouvez lier la génération de réponses à des scripts Python, Bash ou PHP. Grâce à cela, les gens font fonctionner de véritables forums, des prévisions météo et des tableaux d'annonces.
  3. Messages hors ligne sans intermédiaires. Le messenger fonctionne sur un principe P2P. Il utilise des hachages cryptographiques pour l'adressage au lieu de noms de domaine ou de numéros de téléphone. Pas de mots de passe ni de logins : l'identifiant du nœud est la clé publique elle-même.
  4. Fonctionnement en arrière-plan. NomadNet peut fonctionner comme un client TUI graphique ou comme un daemon système sur un serveur domestique ou un Raspberry Pi, le laissant fonctionner comme un relais pour les voisins.

Dialogues et messagerie

Comment configurer votre propre nœud

L'installation est extrêmement simple puisque le projet est écrit en Python. Le moyen le plus rapide de déployer est via pipx ou le pip standard :

# Установка через pipx в изолированное окружение
pipx install nomadnet

# При необходимости можно докинуть утилиты RNS и LXMF
pipx install rns
pipx install lxmf

# Запуск интерактивного интерфейса
nomadnet

Si vous ne voulez pas gérer l'environnement Python, l'auteur construit des images Docker officielles :

# Запуск TUI в контейнере
docker run -it ghcr.io/markqvist/nomadnet:master --textui

# Либо запуск демона с пробросом конфигурации хоста
docker run -d \
  -v ~/.nomadnetwork/:/root/.nomadnetwork/ \
  -v ~/.reticulum/:/root/.reticulum/ \
  --network host \
  ghcr.io/markqvist/nomadnet:master

Au premier lancement, NomadNet ouvrira le guide intégré. Pour tester le réseau sans acheter de modules radio, connectez-vous simplement au testnet RNS public via internet.

À l'intérieur du réseau de test, vous pouvez parcourir d'autres nœuds. Appuyez sur Ctrl+U, entrez le hash du nœud (par exemple, le hub de Dublin abb3ebcd03cb2388a838e70c001291f9) et appuyez sur Entrée. Le programme trouvera la route dans le réseau et chargera la page principale.

Liste des nœuds connus

Ce que la communauté a déjà construit

Une infrastructure d'enthousiastes se forme progressivement autour de Reticulum et NomadNet. Si vous regardez le catalogue des utilitaires tiers, vous pouvez trouver :

  • NomadForum — un moteur de forum minimaliste pour les nœuds ;
  • NomadForecast — un informateur météo qui collecte les rapports et les livre sous forme de texte sur demande ;
  • micron-blog et Any2MicronConverter — générateurs de blogs et convertisseurs Markdown vers le balisage Micron ;
  • Des bots et tableaux d'annonces basés sur LXMF pour la coordination de groupe.

Pour ceux qui trouvent la console trop austère, l'auteur a développé un client GUI séparé — Sideband. Il est disponible sur Linux, macOS et Android.

Paramètres et interfaces réseau

Avertissements et scénarios réels

Ne pensez pas que NomadNet remplacera le web classique pour les tâches quotidiennes. Les vitesses des canaux radio comme LoRa (quelques centaines d'octets par seconde) imposent des limitations strictes : pas d'images haute résolution, de vidéo ni de lourds scripts JS. Uniquement du texte compressé, de la télémétrie et de courts messages.

De plus, le projet est en statut bêta. L'auteur avertit honnêtement dans la description : le code n'a pas encore subi d'audits de sécurité externes, donc s'y fier dans des scénarios critiques pour la vie nécessite de la prudence.

Qui trouvera ce projet utile :

  • Les randonneurs, amateurs d'expéditions et opérateurs radio amateurs qui ont besoin de communiquer dans des zones reculées sans couverture cellulaire ;
  • Les développeurs IoT et les constructuateurs de stations sur le terrain autonomes pour interroger des capteurs à distance ;
  • Les expérimentateurs intéressés par les protocoles décentralisés et les réseaux maillés sans dépendance envers l'infrastructure télécom.

Vous pouvez essayer le projet en quelques minutes en installant le package via pip et en vous connectant au réseau de test. C'est un exemple rare de logiciel qui ramène le romantisme du début du web et l'indépendance vis-à-vis des géants du cloud.

Projets similaires