Files
MeshChatX/lang/README.it.md

8.0 KiB

Reticulum MeshChatX

Un fork ampiamente modificato e ricco di funzionalita di Reticulum MeshChat di Liam Cottle.

Questo progetto e indipendente dal progetto originale Reticulum MeshChat e non e affiliato ad esso.

Note importanti

  • Il supporto completo LXMF e un obiettivo centrale del progetto.
  • L'archiviazione e le migrazioni sono state progressivamente rielaborate verso SQL diretto (sostituendo i percorsi legacy Peewee ORM).

Warning

MeshChatX non garantisce la compatibilita dei dati con le versioni precedenti di Reticulum MeshChat. Eseguire un backup prima della migrazione o dei test.

Warning

I sistemi legacy non sono ancora completamente supportati. Requisiti minimi attuali: Python >=3.11 e Node >=24.

Demo e screenshot

Interfaccia

Telefono Visualizzatore di rete Archivi Identita

Requisiti

  • Python >=3.11 (da pyproject.toml)
  • Node.js >=24 (da package.json)
  • pnpm 10.32.1 (da package.json)
  • Poetry (utilizzato in Taskfile.yml e nei workflow CI)

Metodi di installazione

Metodo Include frontend Architetture Ideale per
Immagine Docker Si linux/amd64, linux/arm64 Avvio rapido su server Linux
Python wheel (.whl) Si Qualsiasi architettura supportata da Python Installazione headless/web-server senza build Node
Linux AppImage Si x64, arm64 Uso desktop portatile
Pacchetto Debian (.deb) Si x64, arm64 Installazione Debian/Ubuntu
Pacchetto RPM (.rpm) Si Dipende dal CI Fedora/RHEL/openSUSE
Da sorgente Compilato localmente Architettura host Sviluppo e build personalizzati

Note:

  • Il workflow di release compila esplicitamente Linux x64 e arm64 AppImage + DEB.
  • RPM viene anche tentato e caricato quando prodotto con successo.

Avvio rapido: Docker

docker compose up -d

Il file compose predefinito mappa:

  • 127.0.0.1:8000 sull'host -> porta 8000 del container
  • ./meshchat-config -> /config per la persistenza

In caso di errori di permessi:

sudo chown -R 1000:1000 ./meshchat-config

Installazione da artefatti di release

1) Linux AppImage (x64/arm64)

  1. Scaricare ReticulumMeshChatX-v<versione>-linux-<arch>.AppImage dalle release.
  2. Rendere eseguibile e avviare:
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage

2) Debian/Ubuntu .deb (x64/arm64)

  1. Scaricare ReticulumMeshChatX-v<versione>-linux-<arch>.deb.
  2. Installare:
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb

3) Sistemi RPM

  1. Scaricare ReticulumMeshChatX-v<versione>-linux-<arch>.rpm se presente nella release.
  2. Installare:
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm

4) Python wheel (.whl)

I wheel delle release includono gli asset web compilati.

pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchat --headless

pipx e supportato:

pipx install ./reticulum_meshchatx-*-py3-none-any.whl

Esecuzione da sorgente (modalita web server)

git clone https://git.quad4.io/RNS-Things/MeshChatX.git
cd MeshChatX
corepack enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run meshchat --headless --host 127.0.0.1

Esecuzione in sandbox (Linux)

Per eseguire il binario nativo meshchat con isolamento aggiuntivo del filesystem, puoi usare Firejail o Bubblewrap (bwrap) mantenendo l'accesso di rete normale per Reticulum e l'interfaccia web. Esempi completi (pip/pipx, Poetry, note sulla seriale USB) sono in:

La stessa pagina compare nell'elenco Documentazione in-app (documentazione MeshChatX) quando viene servita dai file meshchatx-docs inclusi o sincronizzati.

Compilazione pacchetti desktop da sorgente

Linux x64 AppImage + DEB

pnpm run dist:linux-x64

Linux arm64 AppImage + DEB

pnpm run dist:linux-arm64

RPM

pnpm run dist:rpm

Supporto architetture

  • Docker: amd64, arm64
  • Linux AppImage: x64, arm64
  • Linux DEB: x64, arm64
  • Windows: x64, arm64 (script di build disponibili)
  • macOS: script di build disponibili (arm64, universal)
  • Android: progetto e workflow CI presenti nel repository

Android

Configurazione

Argomento Variabile d'ambiente Predefinito Descrizione
--host MESHCHAT_HOST 127.0.0.1 Indirizzo del web server
--port MESHCHAT_PORT 8000 Porta del web server
--no-https MESHCHAT_NO_HTTPS false Disattiva HTTPS
--headless MESHCHAT_HEADLESS false Non aprire il browser automaticamente
--auth MESHCHAT_AUTH false Attiva autenticazione base
--storage-dir MESHCHAT_STORAGE_DIR ./storage Directory dei dati
--public-dir MESHCHAT_PUBLIC_DIR auto Directory dei file frontend

Branch

Branch Scopo
master Release stabili. Solo codice pronto per la produzione.
dev Sviluppo attivo. Potrebbe contenere modifiche instabili o incomplete.

Sviluppo

task install
task lint:all
task test:all
task build:all

Sicurezza

  • SECURITY.md
  • Controlli di integrita integrati e HTTPS/WSS predefiniti
  • Workflow di scansione CI in .gitea/workflows/

Aggiungere una lingua

Il rilevamento delle lingue e automatico. Per aggiungere una nuova lingua basta un singolo file JSON:

  1. Generare un modello da en.json:
python scripts/generate_locale_template.py
  1. Rinominare e spostare nella cartella delle lingue:
mv locales.json meshchatx/src/frontend/locales/xx.json
  1. Impostare _languageName all'inizio del file con il nome nativo della lingua (es. "Espanol", "Francais").

  2. Tradurre tutti i valori rimanenti.

  3. Verificare la corrispondenza delle chiavi: pnpm test -- tests/frontend/i18n.test.js --run

Nessuna altra modifica al codice necessaria.

Crediti