
Una aplicación simple de comunicaciones de red de malla impulsada por la pila de redes reticulares.

Puede descargar la última versión para Windows, Mac y Linux desde la página de lanzamientos.
Alternativamente, puede descargar la fuente y ejecutarla manualmente desde una línea de comandos.
Vea el "¿Cómo usarlo?" Sección a continuación sobre cómo hacer esto.
Una vez que haya descargado, instalado y lanzado Reticulum Meshchat, hay algunas cosas que debe hacer para comenzar a comunicarse con otras personas en la red.
Crear una identidad
En la red de retículo, cualquiera puede tener cualquier cantidad de identidades. Puede optar por usar su nombre real, o puede decidir ser completamente anónimo. La elección es tuya.
Una identidad del retículo es un par de claves públicas/privadas. Usted controla la clave privada utilizada para generar direcciones de destino, cifrar contenido y probar la recepción de datos con reconocimientos inolvidables de entrega.
Su clave pública se comparte con la red cuando envía un anuncio y permite que otros en la red descubran automáticamente una ruta a un destino que controle.
En este momento, el retículo Meshchat genera una nueva identidad la primera vez que la lanza. Una actualización futura le permitirá crear y administrar múltiples identidades.
Por ahora, si desea cambiar o restablecer su identidad, puede acceder al archivo de identidad en ~/.reticulum-meshchat/identity .
Configurar su nombre de pantalla
Lo siguiente que debe hacer es establecer un nombre de pantalla. Su nombre de pantalla es lo que todos los demás en la red verán cuando buscan a alguien con quien comunicarse desde la lista de pares.
Puedes hacer esto en la sección My Identity en la esquina inferior izquierda. Ingrese un nuevo nombre de pantalla y luego presione Save .
Enviar un anuncio
Cuando usa la red de reticulo, para ser contactable, debe enviar un Announce . Puede enviar un anuncio con tanta frecuencia o con poca frecuencia como desee.
El envío de un anuncio permite que otros pares en la red descubran el siguiente salto a través de la red que sus paquetes deben tomar para llegar a un destino que controla su identidad.
Si nunca envía un anuncio, será invisible y nadie podrá enviarle nada.
Cuando se mueve a través de la red y cambia los puntos de entrada, como mudarse de la red WiFi de su hogar, a conectarse a un puerto Ethernet en una biblioteca local o incluso subir una montaña y usar un RNODE sobre Lora Radio, otros pares en la red solo conocerán la ruta anterior a sus destinos.
Para permitirles descubrir el nuevo camino que sus paquetes deben tomar para comunicarse con usted, debe enviar un anuncio.
Descubra sus compañeros y comience a enviar mensajes
En la red de reticulo, puede controlar un número ilimitado de direcciones de destino. Uno de estos puede ser una dirección de entrega LXMF.
Su identidad de retículo le permite tener una dirección LXMF. Piense en una dirección LXMF como su propia dirección de correo electrónico encriptada de extremo a extremo, de extremo a extremo, enrutada a través de una red de malla.
Cuando alguien más en la red se anuncia a sí mismos (más específicamente, su dirección LXMF), aparecerán en la pestaña de pares.
Puede hacer clic en cualquiera de estos pares descubiertos para abrir una interfaz de mensajería. Desde aquí, puede enviar mensajes de texto, archivos e imágenes en línea. Si responden, sus mensajes también aparecerán allí.
Además de poder anunciar su dirección LXMF y descubrir a otros, Reticulum Meshchat también puede descubrir nodos de red Nomad alojados por otros usuarios. Desde la pestaña Nodos, puede explorar páginas y descargar archivos que pueden compartir públicamente en la red.
Se planea una actualización futura para permitirle alojar su propio nodo y compartir páginas y archivos con otros pares en la red. Por ahora, podría usar el cliente oficial de Nomad Network para hacer esto.
Recuerde, para conectarse con otros pares o nodos, deben anunciar en la red. ¡Así que no olvides anunciar si quieres ser descubierto!
Configuración de interfaces de red adicionales
TODO: Esta sección aún no se ha escrito. Por ahora, puede consultar la documentación oficial para configurar interfaces en el archivo de configuración del reticulo. Este archivo se encuentra en
~/.reticulum/config
Se recomienda que descargue una aplicación independiente.
Si no desea, o una versión no está disponible para su dispositivo, deberá hacerlo;
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
Nota: Ahora debería poder acceder a la interfaz web en http: // localhost: 8000
Para una lista completa de opciones de línea de comandos, puede ejecutar;
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)
Es posible ejecutar en Android desde la fuente, usando Termux. Deberá instalar algunas dependencias adicionales y hacer un cambio en 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
Ahora debería poder seguir las instrucciones de cómo usarlo arriba.
Antes de ejecutar pip install -r requirements.txt , deberá comentar la dependencia de cx_freeze . No pudo construir en mi tableta Android, y en realidad no se requiere para salir de la fuente.
nano requirements.txt
Asegúrese de que la línea cx_freeze se actualice a #cx_freeze
Nota: La rueda de construcción para la criptografía puede llevar un tiempo en Android.
Una vez que Meshchat se ejecute a través de Termux, abra su navegador web Android favorito y navegue a http: // localhost: 8000
Nota: La
AutoInterfacepredeterminada puede no funcionar en su dispositivo Android. Deberá configurar otra interfaz comoTCPClientInterface.
La primera vez que ejecuta esta aplicación, se genera y se guarda una nueva identidad de retículo en storage/identity .
Si desea usar una identidad existente;
storage/identity con otro archivo de identidad. Para usar un archivo de identidad personalizado, proporcione el argumento --identity-file seguido de la ruta a su archivo de identidad personalizado.
python meshchat.py --identity-file ./custom_identity_file
Si desea generar una nueva identidad, puede usar la utilidad RNID proporcionada por Reticulum.
rnid --generate ./new_identity_file
Si no tiene acceso al comando rnid , puede usar lo siguiente:
python meshchat.py --generate-identity-file ./new_identity_file
Alternativamente, puede proporcionar una clave privada codificada Base64, como SO;
python meshchat.py --identity-base64 "GCN6mMhVemdNIK/fw97C1zvU17qjQPFTXRBotVckeGmoOwQIF8VOjXwNNem3CUOJZCQQpJuc/4U94VSsC39Phw=="
Nota: Esta es una identidad generada aleatoriamente para fines. ¡No lo uses, se ha filtrado!
Una imagen de Docker se construye automáticamente mediante acciones de GitHub, y se puede descargar desde el registro de contenedores GitHub.
docker pull ghcr.io/liamcottle/reticulum-meshchat:master
Además, un ejemplo Docker-Compose.yml está disponible.
El ejemplo genera automáticamente un nuevo archivo de configuración de reticulo en el volumen meshchat-config . La base de datos de MeshChat también se almacena en este volumen.
Reticulum Meshchat se puede ejecutar desde la fuente a través de una línea de comando, como se explicó anteriormente, o como una aplicación independiente.
Para ejecutarse como una aplicación independiente, necesitamos compilar el script y las dependencias de Python a un ejecutable con CXFreeze y luego construir una aplicación de electrones que incluya un navegador agrupado que puede interactuar con el ejecutable de Python compilado.
Esto permite que toda la aplicación se ejecute haciendo doble clic en un solo archivo sin la necesidad de que un usuario instale manualmente Python, ni ejecute ningún comando en una aplicación de línea de comandos.
Para construir un .exe cuando se ejecuta en Windows o un .dmg cuando se ejecute en una Mac, ejecute lo siguiente;
pip install -r requirements.txt
npm install
npm run dist
Nota: CXFreeze solo admite la construcción de un ejecutable para la plataforma actual. Necesitará una Mac para construir para Mac y una PC de Windows para construir para Windows.
Una vez completado, debe tener un .exe o un .dmg en la carpeta dist .
Normalmente ejecuto los siguientes comandos para trabajar en el proyecto localmente.
Instalar dependencias
pip install -r requirements.txt
npm install
Construir y ejecutar la aplicación Electron
npm run electron
o; Construir y ejecutar el servidor Meshchat
npm run build-frontend
python3 meshchat.py --headless
Construyo la aplicación VITE cada vez sin recarga en caliente, ya que Meshchat espera todo sobre su propio puerto, no el puerto de servidor VITE. Intentaré arreglar esto en el futuro.
Enrutador LXMF
MIT