PC mit XMPP fernsteuern

PC mit XMPP fernsteuern

Ich steuere meinen Server derzeit per SSH von meinem Telefon aus. Manchmal ist die Internetverbindung unregelmäßig oder problematisch, oder manchmal habe ich weniger dringende Anfragen und möchte nicht die ganze Mühe auf mich nehmen, die SSH-App zu starten.

Dank der in den Kommentaren gemachten Vorschläge habe ich mich für xmpp entschieden. Nach dem, was ich gelesen habe, brauche ich einen xmpp-Bot.

Wie kann ich einen XMPP-Bot, der OTR unterstützt, dazu bringen, nach dem Empfang einer Nachricht ein Skript auszuführen und die Antwort dann über XMPP zurückzusenden?

Ich habe nichts dagegen, den XMPP-Server zu hosten, oder ich kann einen Server eines Drittanbieters verwenden. Ich habe Root-Zugriff auf den Server, er läuft unter Debian.

Ich würde mich über ein kurzes Beispiel freuen.

Antwort1

Es gibt so viele Möglichkeiten, dies zu tun, dass es die ganze Woche dauern würde, sie alle zu beschreiben!

Alles, was Sie wirklich brauchen, ist etwas auf dem Server, das Ihren Posteingang überwacht – oder einen alternativen Ordner –, die entsprechenden Nachrichten liest, sie aus Sicherheitsgründen filtert, dann die Daten analysiert und an einen Befehlsprozessor weiterleitet – der Befehl wird ausgeführt und gibt einige Statusdaten zurück, die als Antwort-E-Mail gesendet werden. Dabei müssen Sie ein Flag für die E-Mails aktualisieren, damit Sie sie nicht erneut verarbeiten.

Ich habe in der Vergangenheit mehrere Systeme dieser Art geschrieben und sie sind nützlich und leistungsstark.

Wenn Sie nicht programmieren möchten, können Sie auch etwas wie IFTTT mit Benachrichtigungsdienst auf dem Server verwenden, da IFTTT als Broker fungiert.

Aber Sie sollten sich wirklich nach maßgeschneiderter Programmierung umsehen. Alle Skriptsprachen wie Node.JS, Python und PHP verfügen über E-Mail-Verarbeitungsbibliotheken, die über IMAP mit E-Mails interagieren können, und ich habe sowohl PHP als auch Node.JS verwendet.

Wenn Ihnen das alles zu viel ist, wie wäre es, wenn Sie auf dem Server eine Website einrichten, auf der Prozesse ausgeführt werden? Das habe ich auch gemacht! Ich habe beispielsweise eine Node.JS-Anwendung, die Windows PowerShell und andere Skripts remote ausführt. (Ich bin allerdings nie dazu gekommen, die Sicherheit darauf fertigzustellen, weshalb sie nicht veröffentlicht wird).

Zum Glück hat das schon vor Jahren jemand gemacht. Die InstallationWebMinauf dem Server bietet eine voll ausgestattete Weboberfläche für die Fernverwaltung.


UPDATE: Nun, ich habe Ihnen gesagt, dass es viele Möglichkeiten gibt! Hätten Sie einen E-Mail-Server mit Procmail auf der Box, wäre es trivial gewesen.

Ein Ansatz wäre jedoch, Dropbox auf dem Server zu installieren (Sie können einen neuen Login verwenden, wenn Sie Ihren Haupt-Login nicht gefährden möchten). Verwenden Sie dann IFTTT, um einen anderen Kanal abzuhören - E-Mail, SMS (in einigen Ländern) oder einen von vielen anderen. Verwenden Sie dies, um eine Textdatei mit den Anweisungen in Dropbox abzulegen. Auf dem Server befindet sich ein Skript, das Sie alle paar Minuten mit CRON ausführen (oder erstellen Sie eine Dateisystemüberwachung, wenn Sie wissen, wie das geht), das nach neuen Dateien sucht, diese liest und bei Bedarf ausführt. Weitere Details finden Sie hier.Hier,Hier,HierDas erste zeigt Ihnen den Dropbox-Teil, die anderen zeigen einige zusätzliche Ideen zur Verwendung von IFTTT.

verwandte Informationen