mirror of
https://github.com/markqvist/LXMF-Tools.git
synced 2024-10-01 03:15:38 -04:00
197 lines
9.0 KiB
Markdown
197 lines
9.0 KiB
Markdown
# LXMF-Tools
|
|
Verschiedene kleine Programme und Tools, die das Nachrichtenprotokoll LXMF verwenden von https://github.com/markqvist/LXMF
|
|
|
|
|
|
## lxmf_bridge_matrix
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_bridge_matrix).
|
|
|
|
|
|
## lxmf_bridge_meshtastic
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_bridge_meshtastic).
|
|
|
|
|
|
## lxmf_bridge_mqtt
|
|
Dieses Programm bietet eine Schnittstelle zwischen LXMF und MQTT. Es dient als Endpunkt für einzelne Nachrichten und nicht dazu, den LXMF/Reticlum-Verkehr 1:1 an MQTT zu übertragen. Es dient dem Zweck, einen Endpunkt im Reticulum-Netzwerk für Anwendungen von Drittanbietern bereitzustellen, die über MQTT kommunizieren können. Über diesen können alle LXMF-fähigen Anwendungen über Nachrichten mit ihm kommunizieren. Dies kann z.B. genutzt werden, um über Textnachrichten mit einem Smarthome-System (FHEM, openHAB, ioBroker, Node-RED o.ä.) zu kommunizieren. Das von MQTT verwendete Übertragungsformat ist JSON mit frei definierbaren Topics. Das Zielsystem kann dann auf diese JSON-Nachrichten antworten.
|
|
|
|
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_bridge_mqtt).
|
|
|
|
|
|
## lxmf_bridge_telegram
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_bridge_telegram).
|
|
|
|
|
|
## lxmf_chatbot
|
|
Dieses Programm bietet einen einfachen Chatbot (RiveScript), der über LXMF kommunizieren kann.
|
|
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_chatbot).
|
|
|
|
|
|
## lxmf_cmd
|
|
Dieses Programm führt jeden per Nachricht empfangenen Text als Systembefehl aus und gibt die Ausgabe des Befehls als Nachricht zurück. Es können nur einzelne Befehle direkt ausgeführt werden. Es wird kein interaktives Terminal erzeugt.
|
|
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_cmd).
|
|
|
|
|
|
## lxmf_distribution_group
|
|
Dieses Programm bietet eine E-Mail-ähnliche Verteilergruppe. Es verteilt eingehende LXMF-Nachrichten an mehrere Empfänger. Da dieses Programm wie ein normaler LXMF-Endpunkt agiert, können alle kompatiblen Chat-Anwendungen verwendet werden. Zusätzlich zum einfachen Messaging gibt es eine einfache kommandobasierte Benutzeroberfläche. Hier können alle relevanten Aktionen für die tägliche Verwaltung durchgeführt werden. Die Grundkonfiguration wird in den Konfigurationsdateien vorgenommen. Es gibt verschiedene Optionen, um das gesamte Verhalten der Gruppe an die eigenen Bedürfnisse anzupassen. Diese Verteilergruppe ist viel mehr als eine Standard-E-Mail-Verteilergruppe. Sie emuliert erweiterte Gruppenfunktionen mit automatischen Benachrichtigungen usw. Es können verschiedene Benutzerberechtigungen definiert werden. Für jeden Benutzertyp kann der Funktionsumfang individuell festgelegt werden. Die normalen Benutzer haben nur geringe Rechte. Während ein Moderator oder Admin mit einfachen Befehlen alles Notwendige erledigen kann. Ist die Grundkonfiguration einmal erledigt, kann alles Weitere über LXMF-Nachrichten als Befehle erfolgen.
|
|
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_distribution_group).
|
|
|
|
|
|
## lxmf_distribution_group_minimal
|
|
Dieses Programm ist eine minimalistische Version der normalen Verteilungsgruppe. Die Funktionalität ist auf ein Minimum reduziert. Es können nur Absender und Empfänger definiert werden. Die Nachrichten werden dann entsprechend an die anderen Benutzer gesendet. Es gibt keine Benutzeroberfläche oder sonstige Benachrichtigungen. Lediglich die Nachrichten werden 1:1 verteilt. Die Verwaltung erfolgt komplett über die jeweiligen Konfigurationsdateien, die entsprechend zu bearbeiten sind.
|
|
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_distribution_group_minimal).
|
|
|
|
|
|
## lxmf_echo
|
|
Dieses Programm ist ein einfacher Echo-Server. Alle empfangenen Nachrichten werden 1:1 als Antwort zurückgeschickt. Es kann als einfaches Gegenstück verwendet werden, um die Chat-Funktionalität von Anwendungen zu testen.
|
|
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_echo).
|
|
|
|
|
|
## lxmf_ping
|
|
Dieses Programm sendet eine einstellbare Anzahl von LXMF-Nachrichten an ein Ziel. Anschließend wird eine einfache Statistik erstellt, um den Erfolg oder Misserfolg einer einzelnen Nachricht zu überprüfen. Dieses Tool kann nützlich sein, um das LXMF/Reticulum-Netzwerk mit einer bestimmten Anzahl von Nachrichten zu belasten. Damit lässt sich eine bestimmte Anzahl von Benutzern simulieren.
|
|
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_ping).
|
|
|
|
|
|
## lxmf_terminal
|
|
Dieses Programm bietet eine vollständige Terminalsitzung auf dem Server. Es können beliebige Befehle auf dem Zielgerät ausgeführt werden. Die Kommunikation erfolgt über einzelne LXMF-Nachrichten. Dies bietet den Vorteil, dass einfache Terminalbefehle von jeder LXMF-fähigen Anwendung genutzt werden können.
|
|
|
|
Weitere Informationen finden Sie in der ausführlichen [README.md](lxmf_terminal).
|
|
|
|
|
|
## Allgemeine Informationen für alle Tools/Programme
|
|
|
|
|
|
### Aktueller Stand:
|
|
Es handelt sich derzeit um eine Betasoftware, die noch in Arbeit ist.
|
|
|
|
Alle Kernfunktionen sind implementiert und funktionieren, aber Ergänzungen werden wahrscheinlich auftreten, wenn die reale Nutzung erforscht wird.
|
|
|
|
Es kann zu Fehlern kommen oder die Kompatibilität nach einem Update ist nicht mehr gewährleistet.
|
|
|
|
Die vollständige Dokumentation ist noch nicht verfügbar. Aus Zeitmangel kann ich auch nicht sagen, wann diese weiterbearbeitet werden wird.
|
|
|
|
|
|
### Installation:
|
|
- Installieren Sie alle erforderlichen Voraussetzungen.
|
|
(Standardinstallation von Reticulum. Nur erforderlich, wenn Reticulum noch nicht installiert ist).
|
|
```bash
|
|
apt update
|
|
apt upgrade
|
|
|
|
apt install python3-pip
|
|
|
|
pip install pip --upgrade
|
|
reboot
|
|
|
|
pip3 install rns
|
|
pip3 install pyserial netifaces
|
|
|
|
pip3 install lxmf
|
|
```
|
|
|
|
- Ändern Sie die Reticulum-Konfiguration entsprechend Ihren Anforderungen und Ihrem Anwendungsfall.
|
|
```bash
|
|
nano /.reticulum/config
|
|
```
|
|
|
|
- Laden Sie die [Datei](lxmf_distribution_group.py) aus diesem Repository herunter.
|
|
```bash
|
|
wget https://raw.githubusercontent.com/SebastianObi/LXMF-Tools/main/lxmf_distribution_group/lxmf_distribution_group.py
|
|
```
|
|
|
|
- Machen Sie es mit folgendem Befehl ausführbar
|
|
```bash
|
|
chmod +x lxmf_distribution_group.py
|
|
```
|
|
|
|
### Starten:
|
|
- Starten Sie
|
|
```bash
|
|
./lxmf_distribution_group.py
|
|
```
|
|
- Nach dem ersten Start bearbeiten Sie die Konfigurationsdatei, um sie an Ihre Bedürfnisse und Ihren Anwendungsfall anzupassen. Der Speicherort der Datei wird angezeigt.
|
|
- Beispiel einer Minimalkonfiguration (Überschreibung der Standardkonfiguration `config.cfg`). Dies sind die wichtigsten Einstellungen, die angepasst werden müssen. Alle anderen Einstellungen stehen in der `config.cfg`.
|
|
```bash
|
|
nano /root/.lxmf_distribution_group/config.cfg.owr
|
|
```
|
|
- Starten Sie erneut. Fertig!
|
|
```bash
|
|
./lxmf_distribution_group.py
|
|
```
|
|
|
|
|
|
### Als Systemdienst/Dämon ausführen:
|
|
- Erstellen einer Servicedatei.
|
|
```bash
|
|
nano /etc/systemd/system/lxmf_distribution_group.service
|
|
```
|
|
- Kopieren Sie den folgenden Inhalt und passen Sie ihn an Ihre eigenen Bedürfnisse an.
|
|
```bash
|
|
[Unit]
|
|
Description=lxmf_distribution_group.py Daemon
|
|
After=multi-user.target
|
|
[Service]
|
|
# ExecStartPre=/bin/sleep 10
|
|
Type=simple
|
|
Restart=always
|
|
RestartSec=3
|
|
User=root
|
|
ExecStart=/root/lxmf_distribution_group.py
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
```
|
|
- Aktivieren Sie den Dienst.
|
|
```bash
|
|
systemctl enable lxmf_distribution_group
|
|
```
|
|
- Starten Sie den Dienst.
|
|
```bash
|
|
systemctl start lxmf_distribution_group
|
|
```
|
|
|
|
|
|
### Starten/Stopen des Dienstes:
|
|
```bash
|
|
systemctl start lxmf_distribution_group
|
|
systemctl stop lxmf_distribution_group
|
|
```
|
|
|
|
|
|
### Dienst aktivieren/deaktivieren:
|
|
```bash
|
|
systemctl enable lxmf_distribution_group
|
|
systemctl disable lxmf_distribution_group
|
|
```
|
|
|
|
|
|
### Mehrere Instanzen ausführen (Kopieren der gleichen Anwendung):
|
|
- Starten Sie das Programm mit einem anderen Konfigurationspfad.
|
|
```bash
|
|
./lxmf_distribution_group.py -p /root/.lxmf_distribution_group_2nd
|
|
./lxmf_distribution_group.py -p /root/.lxmf_distribution_group_3nd
|
|
```
|
|
- Nach dem ersten Start bearbeiten Sie die Konfigurationsdatei, um sie an Ihre Bedürfnisse und Ihren Anwendungsfall anzupassen. Der Speicherort der Datei wird angezeigt.
|
|
|
|
|
|
## Support / Donations
|
|
Sie können die weitere Entwicklung unterstützen, indem Sie über einen der folgenden Kanäle spenden:
|
|
|
|
- PayPal: https://paypal.me/SebastianObi
|
|
- Liberapay: https://liberapay.com/SebastianObi/donate
|
|
|
|
|
|
## Unterstützen Sie auf andere Weise?
|
|
Sie sind herzlich eingeladen, sich an der Entwicklung zu beteiligen. Erstellen Sie einfach einen Pull-Request. Oder kontaktieren Sie mich einfach für weitere Klärungen.
|
|
|
|
|
|
## Benötigen Sie eine spezielle Funktion oder Anpassung?
|
|
Dann nehmen Sie Kontakt mit mir auf. Speziell für Sie entwickelte Anpassungen oder Tools können realisiert werden.
|
|
|
|
|
|
## FAQ
|