7.9 KiB
Reticulum MeshChatX
Ein umfassend modifizierter und funktionsreicher Fork von Reticulum MeshChat von Liam Cottle.
Dieses Projekt ist unabhaengig vom originalen Reticulum MeshChat und steht in keiner Verbindung dazu.
- Quellcode: git.quad4.io/RNS-Things/MeshChatX
- Releases: git.quad4.io/RNS-Things/MeshChatX/releases
- Aenderungsprotokoll:
CHANGELOG.md - TODO:
TODO.md - English README | Русский | Italiano | 中文 | 日本語
Wichtige Hinweise
- Volle LXMF-Unterstuetzung ist ein zentrales Projektziel.
- Datenspeicherung und Migrationen werden schrittweise auf reines SQL umgestellt (Ersatz alter Peewee-ORM-Pfade).
Warning
MeshChatX garantiert keine Datenkompatibilitaet mit aelteren Reticulum-MeshChat-Versionen. Erstellen Sie vor Migration oder Tests eine Datensicherung.
Warning
Aeltere Systeme werden noch nicht vollstaendig unterstuetzt. Aktuelle Mindestanforderungen: Python
>=3.11und Node>=24.
Demo und Screenshots
Oberflaeche
Voraussetzungen
- Python
>=3.11(auspyproject.toml) - Node.js
>=24(auspackage.json) - pnpm
10.32.1(auspackage.json) - Poetry (verwendet in
Taskfile.ymlund CI-Workflows)
Installationsmethoden
| Methode | Frontend enthalten | Architekturen | Geeignet fuer |
|---|---|---|---|
| Docker-Image | Ja | linux/amd64, linux/arm64 |
Schnellster Start auf Linux-Servern |
Python Wheel (.whl) |
Ja | Jede Python-unterstuetzte Architektur | Headless/Webserver ohne Node-Build |
| Linux AppImage | Ja | x64, arm64 |
Portabler Desktop-Einsatz |
Debian-Paket (.deb) |
Ja | x64, arm64 |
Debian/Ubuntu-Installation |
RPM-Paket (.rpm) |
Ja | CI-abhaengig | Fedora/RHEL/openSUSE |
| Aus Quellcode | Lokal gebaut | Host-Architektur | Entwicklung und individuelle Builds |
Hinweise:
- Der Release-Workflow baut explizit Linux
x64undarm64AppImage + DEB. - RPM wird ebenfalls versucht und bei Erfolg hochgeladen.
Schnellstart: Docker
docker compose up -d
Standard-Compose-Datei:
127.0.0.1:8000auf dem Host -> Container-Port8000./meshchat-config->/configfuer Persistenz
Bei Berechtigungsproblemen:
sudo chown -R 1000:1000 ./meshchat-config
Installation aus Release-Artefakten
1) Linux AppImage (x64/arm64)
ReticulumMeshChatX-v<version>-linux-<arch>.AppImagevon den Releases herunterladen.- Ausfuehrbar machen und starten:
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage
2) Debian/Ubuntu .deb (x64/arm64)
ReticulumMeshChatX-v<version>-linux-<arch>.debherunterladen.- Installieren:
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb
3) RPM-basierte Systeme
ReticulumMeshChatX-v<version>-linux-<arch>.rpmherunterladen, falls im Release vorhanden.- Installieren:
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm
4) Python Wheel (.whl)
Release-Wheels enthalten die gebauten Web-Assets.
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchat --headless
pipx wird ebenfalls unterstuetzt:
pipx install ./reticulum_meshchatx-*-py3-none-any.whl
Aus Quellcode ausfuehren (Webserver-Modus)
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
Sandboxing (Linux)
Um das native meshchat-Programm mit zusaetzlicher Dateisystem-Isolation auszufuehren, koennen Sie Firejail oder Bubblewrap (bwrap) nutzen, bei weiterhin normalem Netzwerkzugriff fuer Reticulum und die Web-Oberflaeche. Vollstaendige Beispiele (pip/pipx, Poetry, Hinweise zu USB-Seriell) finden Sie in:
Dieselbe Seite erscheint in der in-app-Dokumentation (MeshChatX-Docs), wenn sie aus den gebuendelten oder synchronisierten meshchatx-docs-Dateien ausgeliefert wird.
Desktop-Pakete aus Quellcode bauen
Linux x64 AppImage + DEB
pnpm run dist:linux-x64
Linux arm64 AppImage + DEB
pnpm run dist:linux-arm64
RPM
pnpm run dist:rpm
Architekturunterstuetzung
- Docker:
amd64,arm64 - Linux AppImage:
x64,arm64 - Linux DEB:
x64,arm64 - Windows:
x64,arm64(Build-Skripte vorhanden) - macOS: Build-Skripte vorhanden (
arm64,universal) - Android: Projekt und CI-Workflow im Repository enthalten
Android
Konfiguration
| Argument | Umgebungsvariable | Standard | Beschreibung |
|---|---|---|---|
--host |
MESHCHAT_HOST |
127.0.0.1 |
Webserver-Adresse |
--port |
MESHCHAT_PORT |
8000 |
Webserver-Port |
--no-https |
MESHCHAT_NO_HTTPS |
false |
HTTPS deaktivieren |
--headless |
MESHCHAT_HEADLESS |
false |
Browser nicht automatisch oeffnen |
--auth |
MESHCHAT_AUTH |
false |
Basis-Authentifizierung aktivieren |
--storage-dir |
MESHCHAT_STORAGE_DIR |
./storage |
Datenverzeichnis |
--public-dir |
MESHCHAT_PUBLIC_DIR |
auto | Frontend-Verzeichnis |
Branches
| Branch | Zweck |
|---|---|
master |
Stabile Releases. Nur produktionsreifer Code. |
dev |
Aktive Entwicklung. Kann instabile oder unvollstaendige Aenderungen enthalten. |
Entwicklung
task install
task lint:all
task test:all
task build:all
Sicherheit
SECURITY.md- Integrierte Integritaetspruefungen und HTTPS/WSS-Standardeinstellungen
- CI-Scanning-Workflows in
.gitea/workflows/
Sprache hinzufuegen
Die Spracherkennung erfolgt automatisch. Um eine neue Sprache hinzuzufuegen, genuegt eine einzige JSON-Datei:
- Vorlage aus
en.jsongenerieren:
python scripts/generate_locale_template.py
- Datei umbenennen und in das Locale-Verzeichnis verschieben:
mv locales.json meshchatx/src/frontend/locales/xx.json
-
_languageNameam Anfang der Datei auf den nativen Sprachnamen setzen (z.B."Espanol","Francais"). -
Alle uebrigen Werte uebersetzen.
-
Schluesselparitaet pruefen:
pnpm test -- tests/frontend/i18n.test.js --run
Keine weiteren Code-Aenderungen noetig.
Mitwirkende
- Liam Cottle - Originales Reticulum MeshChat
- RFnexus - JavaScript-Micron-Parser
- markqvist - Reticulum, LXMF, LXST



