
Une application de communication réseau de maillage simple propulsée par la pile de réseau réticulum.

Vous pouvez télécharger la dernière version de Windows, Mac et Linux à partir de la page des versions.
Alternativement, vous pouvez télécharger la source et l'exécuter manuellement à partir d'une ligne de commande.
Voir le "Comment l'utiliser?" Section ci-dessous sur la façon de procéder.
Une fois que vous avez téléchargé, installé et lancé Reticulum Meshchat, il y a quelques choses que vous devez faire pour commencer à communiquer avec d'autres personnes sur le réseau.
Créer une identité
Sur le réseau de réticulum, n'importe qui peut avoir un certain nombre d'identités. Vous pouvez choisir d'utiliser votre vrai nom, ou vous pouvez décider d'être complètement anonyme. Le choix vous appartient.
Une identité de réticulum est une paire de clés publique / privée. Vous contrôlez la clé privée utilisée pour générer des adresses de destination, crypter le contenu et prouver la réception des données avec des remerciements de livraison inébranlables.
Votre clé publique est partagée avec le réseau lorsque vous envoyez une annonce et permet à d'autres sur le réseau de découvrir automatiquement une route vers une destination que vous contrôlez.
À l'heure actuelle, Reticulum Meshchat génère une nouvelle identité la première fois que vous le lancez. Une future mise à jour vous permettra de créer et de gérer plusieurs identités.
Pour l'instant, si vous souhaitez modifier ou réinitialiser votre identité, vous pouvez accéder au fichier d'identité à ~/.reticulum-meshchat/identity .
Configurez votre nom d'affichage
La prochaine chose que vous devez faire est de définir un nom d'affichage. Votre nom d'affichage est ce que tout le monde sur le réseau verra lorsque vous recherchez quelqu'un avec qui communiquer sur la liste des pairs.
Vous pouvez le faire dans la section My Identity dans le coin inférieur gauche. Entrez un nouveau nom d'affichage, puis appuyez sur Save .
Envoyer une annonce
Lorsque vous utilisez le réseau de réticulum, afin d'être contactable, vous devez envoyer une Announce . Vous pouvez envoyer une annonce aussi souvent, ou aussi rarement que vous le souhaitez.
L'envoi d'une annonce permet à d'autres pairs du réseau de découvrir le prochain HOP à travers le réseau que leurs paquets devraient prendre pour arriver à une destination que votre identité contrôle.
Si vous n'envoyez jamais d'annonce, vous serez invisible et personne ne pourra jamais vous envoyer quoi que ce soit.
Lorsque vous vous déplacez à travers le réseau et modifiez les points d'entrée, tels que le passage de votre réseau WiFi à domicile, pour se connecter à un port Ethernet dans une bibliothèque locale ou même grimper une montagne et utiliser un RNODE sur la radio LORA, d'autres pairs du réseau ne connaîtront que le chemin précédent vers vos destinations.
Pour leur permettre de découvrir le nouveau chemin que leurs paquets devraient prendre pour vous joindre, vous devriez envoyer une annonce.
Découvrez les pairs et commencez à envoyer des messages
Dans le réseau de réticulum, vous pouvez contrôler un nombre illimité d'adresses de destination. L'un d'eux peut être une adresse de livraison LXMF.
Votre identité de réticulum vous permet d'avoir une adresse LXMF. Pensez à une adresse LXMF comme votre propre adresse e-mail sécurisée, sécurisée et de bout en bout, non poncée, acheminée sur un réseau de maillage.
Lorsque quelqu'un d'autre sur le réseau s'annonce (plus précisément, son adresse LXMF), il apparaîtra dans l'onglet Peers.
Vous pouvez cliquer sur l'un de ces pairs découverts pour ouvrir une interface de messagerie. À partir d'ici, vous pouvez envoyer des messages texte, des fichiers et des images en ligne. S'ils répondent, leurs messages s'y apparaîtront également.
En plus de pouvoir annoncer votre adresse LXMF et d'en découvrir d'autres, Reticulum Meshchat peut également découvrir les nœuds de réseau Nomad hébergés par d'autres utilisateurs. Dans l'onglet Nœuds, vous êtes libre d'explorer les pages et de télécharger des fichiers qu'ils peuvent partager publiquement sur le réseau.
Une future mise à jour est prévue pour vous permettre d'héberger votre propre nœud et de partager des pages et des fichiers avec d'autres pairs du réseau. Pour l'instant, vous pouvez utiliser le client officiel du Nomad Network pour ce faire.
N'oubliez pas que pour se connecter avec d'autres pairs ou nœuds, ils doivent annoncer sur le réseau. Alors n'oubliez pas d'annoncer si vous voulez être découvert!
Configuration des interfaces réseau supplémentaires
TODO: Cette section n'a pas encore été écrite. Pour l'instant, vous pouvez consulter la documentation officielle pour la configuration des interfaces dans le fichier de configuration du réticulum. Ce fichier est situé à
~/.reticulum/config
Il est recommandé de télécharger une application autonome.
Si vous ne le souhaitez pas ou si une version n'est pas disponible pour votre appareil, vous en aurez besoin;
meshchat.py . # clone repo
git clone https://github.com/liamcottle/reticulum-meshchat
cd reticulum-meshchat
# install nodejs deps
# if you want to build electron binaries, remove "--omit=dev"
# if you're using termux, add "--ignore-scripts" to fix error with esbuild
npm install --omit=dev
# build frontend vue components
npm run build-frontend
# install python deps
pip install -r requirements.txt
# run meshchat
python meshchat.py
Remarque: vous devriez maintenant pouvoir accéder à l'interface Web sur http: // localhost: 8000
Pour une liste complète des options de ligne de commande, vous pouvez exécuter;
python meshchat.py --help
usage: meshchat.py [-h] [--host [HOST]] [--port [PORT]] [--headless] [--identity-file IDENTITY_FILE] [--identity-base64 IDENTITY_BASE64] [--generate-identity-file GENERATE_IDENTITY_FILE] [--generate-identity-base64]
[--reticulum-config-dir RETICULUM_CONFIG_DIR] [--storage-dir STORAGE_DIR]
ReticulumMeshChat
options:
-h, --help show this help message and exit
--host [HOST] The address the web server should listen on.
--port [PORT] The port the web server should listen on.
--headless Web browser will not automatically launch when this flag is passed.
--identity-file IDENTITY_FILE
Path to a Reticulum Identity file to use as your LXMF address.
--identity-base64 IDENTITY_BASE64
A base64 encoded Reticulum Identity to use as your LXMF address.
--generate-identity-file GENERATE_IDENTITY_FILE
Generates and saves a new Reticulum Identity to the provided file path and then exits.
--generate-identity-base64
Outputs a randomly generated Reticulum Identity as base64 and then exits.
--reticulum-config-dir RETICULUM_CONFIG_DIR
Path to a Reticulum config directory for the RNS stack to use (e.g: ~/.reticulum)
--storage-dir STORAGE_DIR
Path to a directory for storing databases and config files (default: ./storage)
Il est possible d'exécuter sur Android à partir de Source, en utilisant Termux. Vous devrez installer quelques dépendances supplémentaires et modifier requirements.txt .
pkg upgrade
pkg install git
pkg install nodejs-lts
pkg install python-pip
pkg install rust
pkg install binutils
pkg install build-essential
Vous devriez maintenant être en mesure de suivre la façon d'utiliser les instructions informatiques ci-dessus.
Avant d'exécuter pip install -r requirements.txt , vous devrez commenter la dépendance cx_freeze . Il n'a pas réussi à s'appuyer sur ma tablette Android et n'est pas réellement nécessaire pour courir à partir de Source.
nano requirements.txt
Assurez-vous que la ligne cx_freeze est mise à jour vers #cx_freeze
Remarque: Building Wheel for Cryptography peut prendre un certain temps sur Android.
Une fois que Meshchat est en cours d'exécution via Termux, ouvrez votre navigateur Web Android préféré et accédez à http: // localhost: 8000
Remarque: L'
AutoInterfacepar défaut peut ne pas fonctionner sur votre appareil Android. Vous devrez configurer une autre interface telle queTCPClientInterface.
La première fois que vous exécutez cette application, une nouvelle identité de réticulum est générée et enregistrée en storage/identity .
Si vous souhaitez utiliser une identité existante;
storage/identity avec un autre fichier d'identité. Pour utiliser un fichier d'identité personnalisé, fournissez l'argument --identity-file suivi du chemin d'accès à votre fichier d'identité personnalisé.
python meshchat.py --identity-file ./custom_identity_file
Si vous souhaitez générer une nouvelle identité, vous pouvez utiliser l'utilitaire RNID fourni par Reticulum.
rnid --generate ./new_identity_file
Si vous n'avez pas accès à la commande rnid , vous pouvez utiliser ce qui suit:
python meshchat.py --generate-identity-file ./new_identity_file
Alternativement, vous pouvez fournir une clé privée encodée Base64, comme ainsi;
python meshchat.py --identity-base64 "GCN6mMhVemdNIK/fw97C1zvU17qjQPFTXRBotVckeGmoOwQIF8VOjXwNNem3CUOJZCQQpJuc/4U94VSsC39Phw=="
Remarque: il s'agit d'une identité générée aléatoire par exemple. Ne l'utilisez pas, il a été divulgué!
Une image Docker est automatiquement construite par les actions GitHub et peut être téléchargée à partir du registre des conteneurs GitHub.
docker pull ghcr.io/liamcottle/reticulum-meshchat:master
De plus, un exemple docker-compose.yml est disponible.
L'exemple génère automatiquement un nouveau fichier de configuration de réticulum dans le volume meshchat-config . La base de données Meshchat est également stockée dans ce volume.
Le réticulum Meshchat peut être exécuté à partir de la source via une ligne de commande, comme expliqué ci-dessus, ou en tant qu'application autonome.
Pour s'exécuter en tant qu'application autonome, nous devons compiler le script Python et les dépendances à un exécutable avec cxfreeze, puis créer une application électron qui comprend un navigateur groupé qui peut interagir avec l'exécutable Python compilé.
Cela permet à l'application entière d'être exécutée en double-cliquez sur un seul fichier sans avoir besoin qu'un utilisateur installe manuellement Python, ni exécute aucune commande dans une application de ligne de commande.
Pour construire un .exe lors de l'exécution sur Windows ou un .dmg Lorsque vous exécutez sur un Mac, exécutez ce qui suit;
pip install -r requirements.txt
npm install
npm run dist
Remarque: CXFreeze prend uniquement en charge la construction d'un exécutable pour la plate-forme actuelle. Vous aurez besoin d'un Mac à créer pour Mac et d'un PC Windows à créer pour Windows.
Une fois terminé, vous devez avoir un .exe ou un .dmg dans le dossier dist .
J'exécute normalement les commandes suivantes pour travailler sur le projet localement.
Installer des dépendances
pip install -r requirements.txt
npm install
Construire et exécuter l'application électronique
npm run electron
ou; Créer et exécuter le serveur Meshchat
npm run build-frontend
python3 meshchat.py --headless
Je construis l'application Vite à chaque fois sans rechargement chaud, car Meshchat attend tout sur son propre port, pas le port de serveur Vite. J'essaierai de résoudre ce problème à l'avenir.
Routeur LXMF
Mit