LXMF-Tools/README_de.md
2022-11-23 17:53:30 +01:00

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