Remote-RED Agent

Fernzugriff für jedes Linux-System.

Der Remote-RED Agent ist ein einzelnes, kleines Programm für Linux. Es macht jede lokale Web-UI sicher von unterwegs erreichbar und schickt Push-Benachrichtigungen direkt aus Deinen Skripten aufs Handy. Kein Node-RED, kein Home Assistant, keine Portfreigaben. Nur ein Binary auf einem beliebigen Linux-Server, NAS, Raspberry Pi oder IoT-Gerät.

$ curl -fsSL https://get.remote-red.com | sh

Ein Befehl, und der Agent ist installiert. Anschließend fragt Dich das Skript, ob die Einrichtung gleich starten soll, und führt Dich durch den Rest.

Remote-RED App
was der agent kann

Zwei Dinge, richtig gut

Der Agent hat bewusst einen klaren Fokus. Er tut zwei Dinge, und für beides wär der Aufwand ohne Remote-RED deutlich höher.

fernzugriff

Viele lokale Web-UIs von unterwegs erreichbar

Remote-RED macht die Weboberflächen von vielen Produkten und Anwendungen von Mobil erreichbar. Über denselben verschlüsselten SSH-Tunnel, den auch die Node-RED-Node und Home Assistant nutzen. Keine offenen Ports, keine öffentliche IP, kein VPN-Gefrickel. Details dazu in den Bereichen lokale Voraussetzungen und übertragbare Webseiten der Nutzungsbedingungen.

notify

Push-Benachrichtigungen aus jedem Skript

Ein einziger Befehl macht aus jedem Shell-Skript eine Quelle für native Push-Benachrichtigungen. Cronjobs, Backup-Skripte, Monitoring-Hooks melden sich direkt aufs Handy. Mit eigenem Sound, ohne Webhook-Dienst dazwischen: remotered notify --title "Backup" --body "Fertig, 42 GB".

multi-instanz

Ein Gerät als Brücke fürs ganze Netz

Ein Agent kann mehrere Instanzen gleichzeitig halten. Er läuft auf einem erreichbaren Gerät und macht von dort aus auch Web-UIs anderer Geräte im Netz erreichbar, die selbst keinen Agent bekommen können: NAS, SmartHome Komponenten, IoT-Boxen. In der App erscheint jede als eigene Instanz.

Kein Node-RED, kein Home Assistant. Einfach Linux.

Bisher brauchte Remote-RED entweder Node-RED oder Home Assistant als Unterbau. Der Agent macht damit Schluss. Er ist ein einzelnes, statisch gelinktes Binary, ohne jede Laufzeit-Abhängigkeit.

Keine Runtime nötig

Kein Node.js, kein Python-Versions-Chaos, keine zusätzliche Software. Das Binary bringt alles mit und läuft dadurch wirklich auf jedem Linux-System, auch auf alten Distributionen und schlanken IoT-Geräten.

Für jede Architektur

Es gibt fertige Binaries für amd64, arm64 und armv7. Vom dicken Server bis zum Raspberry Pi Zero ist alles dabei, aus einem einzigen Build.

Läuft als Systemdienst

Ein Befehl richtet einen abgesicherten systemd-Dienst unter einem eigenen, unprivilegierten Benutzer ein. Der Agent öffnet dabei keinerlei eingehende Ports auf dem Host. Der Tunnel geht ausschließlich nach außen.

Sicher wie der Rest von Remote-RED

Alle Verbindungen laufen über HTTPS mit Public-Key-Pinning, dazu ein fest im Binary hinterlegter SSH-Host-Key-Check. Genau dieselben Mechanismen wie in den Apps, der Node-RED und der Home-Assistant-Integration.

$ remotered notify \ --title "Wohnmobil" \ --body "/Batterie ist zu 90% voll" # Body auch per stdin: $ echo "42 GB gesichert" | \ remotered notify --title "Backup"

Skriptfreundliche Exit-Codes: 0 gesendet, 1 Limit oder Eingabefehler, 2 Netzproblem. Mit --quiet bleibt auch Cron ruhig.

Wofür Du ihn nutzt

Der Agent ist für alle, die einen Dienst auf einem Linux-System betreiben und ihn von unterwegs erreichen oder von ihm hören wollen.

iot-hersteller

Gerätehersteller mit lokaler Web-UI

Deine Steuerung, Maschine oder IoT-Box bringt bereits eine Weboberfläche mit, aber keine App? Genau hier ist der Agent stark: Du legst ihn mit aufs Gerät, und Deine Kunden bekommen Fernzugriff und Push-Benachrichtigungen über die fertige Remote-RED App. Ohne dass Du eine eigene App, Server-Infrastruktur oder Cloud entwickeln musst.

partner

Partner-Programm für Serienprodukte

In Verbindung mit dem Partner-Programm ist der Agent ideal für Geräte in Serie. Du provisionierst jedes Gerät mit einem einzigen Befehl, der QR-Code zum Zugriff kann direkt aufs Typenschild oder ins Handbuch. Dadurch keine InApp Käufe für Deine Benutzer. Eine eigene App mit Deinem Branding gibt den letzten Schliff.

homelab

Admins & Homelab

Du hast einen Server, ein NAS oder einen Raspberry Pi mit ein paar Weboberflächen und willst von unterwegs ran, ohne Ports zu öffnen oder ein VPN aufzusetzen. Der Agent tunnelt sie sicher in die App und meldet Dir per Push, wenn etwas schiefläuft.

Ein Gerät mit Web-UI, aber keine App?

Genau dafür ist die Kombination aus Agent und Partner-Programm gemacht. Gib Deinem Produkt Fernzugriff und Push, ohne eine Zeile App-Code zu schreiben. Wir kümmern uns um App, Server und Stores.

anleitung

Vom leeren Server zur App in wenigen Minuten

Installieren, einrichten, koppeln, als Dienst laufen lassen. Hier findest Du jeden Schritt, dazu die wichtigsten Befehle und wie Du den Agent später aktuell hältst.

1. Installation über get.remote-red.com

Das Installations-Skript erkennt die Architektur Deines Systems, lädt das passende Binary, prüft dessen SHA-256-Prüfsumme und legt es nach /usr/local/bin/remotered. Ein Befehl genügt:

curl -fsSL https://get.remote-red.com | sh

Danach steht remotered systemweit zur Verfügung. Läuft die Installation in einem echten Terminal, fragt das Skript direkt im Anschluss, ob die Einrichtung gleich starten soll. Bei curl | sh zeigt es Dir stattdessen nur den Befehl, den Du danach selbst ausführst.

Lieber vorher reinschauen? Völlig in Ordnung. Lade das Skript herunter, lies es, und führe es dann aus. Es installiert ausschließlich das verifizierte Binary und ändert sonst nichts an Deinem System.

Architekturen

amd64, arm64 und armv7 werden automatisch erkannt. Vom Server bis zum Raspberry Pi.

Kein Paket-Wirrwarr

Kein apt, kein Docker nötig. Das Binary hat keine Abhängigkeiten.

Einfaches Update

Einmal installiert ist ein Update ganz einfach über 'remotered self-update' möglich.

2. Überblick über die Befehle

Ein Binary, alle Aufgaben. Jeder Befehl hat außerdem eine ausführliche eingebaute Hilfe.

BefehlWas er tut
remotered setupRichtet eine neue Instanz ein: registriert sie, fragt Name und Ziel-URL ab und zeigt den QR-Code zum Koppeln der App.
remotered editÄndert die lokale Konfiguration einer bestehenden Instanz, etwa Name oder Ziel-URL. Server, Zugangsdaten und App-Kopplung bleiben unberührt.
remotered removeEntfernt eine Instanz wieder vom Gerät.
remotered qrErzeugt einen frischen QR-Code, um ein weiteres Handy zu koppeln oder eine verlorene Kopplung zu erneuern.
remotered runStartet den Tunnel-Daemon im Vordergrund. Das ist, was der Systemdienst im Hintergrund ausführt.
remotered notifySchickt eine Push-Benachrichtigung an die gekoppelten Apps.
remotered statusZeigt den Verbindungsstatus aller Instanzen. Mit monitoring-freundlichen Exit-Codes.
remotered serviceVerwaltet den systemd-Dienst: install, uninstall, start, stop, restart, status.
remotered self-updateAktualisiert das Binary an Ort und Stelle, prüfsummen-verifiziert.
remotered versionZeigt die installierte Version.
Hilfe zu jedem Befehl: Hänge --help an einen beliebigen Befehl, um alle Optionen mit Erklärung zu sehen, zum Beispiel remotered setup --help oder remotered notify --help. Der reine Aufruf remotered ohne Argumente listet alle verfügbaren Befehle auf.

3. Einrichten, ändern und koppeln

Die drei Befehle, die Du beim Aufsetzen am häufigsten brauchst. Interaktiv geführt oder als Einzeiler für die Serienfertigung.

remotered setup legt immer eine neue Instanz an. Nach der Installation bietet das Skript im Terminal an, es gleich zu starten. Du kannst es aber jederzeit auch selbst aufrufen. Ohne Argumente fragt es Dich Schritt für Schritt nach Anzeigename, Region, Ziel-URL der lokalen Web-UI und der Zustimmung zu den Nutzungsbedingungen. Am Ende zeigt es den QR-Code, den Du mit der Remote-RED App scannst.

$ remotered setup

Für die Serienfertigung läuft alles auch komplett ohne Rückfragen als Einzeiler, inklusive der Partner-Angaben aus dem Partner-Programm und Ausgabe des QR-Codes als PNG-Datei:

$ remotered setup --yes \ --name "Homeserver" \ --region de \ --target-url http://localhost:3000/ \ --customerhash <hash> --customerkey <key> \ --customerreference SN-12345 \ --qr-png /tmp/qr.png
Wichtig: CustomerHash und CustomerKey werden nur hier, beim Anlegen, an den Server übergeben. Der CustomerKey, das Geheimnis des Installateurs, wird nicht auf dem Gerät gespeichert.

remotered edit <id> ändert nur die lokale Konfiguration einer bestehenden Instanz, also Anzeigename und Ziel-URL. Server, Zugangsdaten und die bereits gekoppelte App bleiben unangetastet. Genau der richtige Weg, um mal eben den Ziel-Port umzustellen.

$ remotered edit victron --target-url http://192.168.1.20:80/gui-v2/

Ohne Flags fragt edit interaktiv nach und schlägt jeweils den aktuellen Wert vor. Mit Flags läuft es ohne Rückfrage durch, ideal aus Skripten heraus.

remotered qr erzeugt einen frischen QR-Code für eine bestehende Instanz, ohne die Konfiguration zu verändern. Nutze ihn, wenn Du ein zweites Handy koppeln willst oder eine frühere Kopplung verloren gegangen ist. Danke daran Dein Terminal breit genug zu ziehen.

$ remotered qr --instance victron

Bei genau einer Instanz kannst Du --instance weglassen. Mit --qr-png <pfad> speicherst Du den Code zusätzlich als Bilddatei.

4. Als Dienst laufen lassen

Damit der Tunnel dauerhaft steht und nach einem Neustart automatisch wiederkommt, läuft der Agent als systemd-Dienst.

Einrichten mit install

remotered service install legt einen eigenen, unprivilegierten Systembenutzer an, setzt die Dateirechte korrekt, installiert die abgesicherte systemd-Unit und startet sie. Der Befehl ist beliebig oft wiederholbar und repariert dabei auch die Rechte.

Steuern

start, stop und restart steuern den Dienst, ohne dass Du den Unit-Namen kennen musst. status zeigt, ob die Unit läuft.

Verbindung prüfen

Für den eigentlichen Tunnel-Status nutzt Du remotered status. Es liest den letzten bekannten Zustand und funktioniert auch, während der Dienst gerade steht.

Sauber entfernen

remotered service uninstall stoppt und entfernt die Unit. Deine Konfiguration und der Status bleiben absichtlich erhalten, damit nichts ungewollt verloren geht.

# Dienst einrichten und starten $ sudo remotered service install # Status der Verbindung ansehen $ remotered status

Der Dienst öffnet keine eingehenden Ports und läuft mit systemd-Hardening unter einem eigenen Benutzer.

5. Aktuell halten mit self-update

Updates sind ein einzelner Befehl. Das Binary wird ersetzt, die Prüfsumme geprüft, Deine Konfiguration und Kopplungen bleiben unberührt.

Ein Befehl

sudo remotered self-update lädt die neue Version, prüft ihre Prüfsumme und ersetzt das Binary. Nichts an config.toml oder am Status wird angefasst.

Erst prüfen

Mit remotered self-update --check siehst Du nur, ob eine neuere Version bereitsteht, ganz ohne etwas zu verändern. Der Exit-Code eignet sich direkt für Cron oder Monitoring.

Version festnageln

Mit --version 1.0.0 installierst Du gezielt eine bestimmte Version, etwa um auf einen bekannten Stand zurückzugehen.

Danach neu starten

Ein laufender Daemon nutzt weiter das alte Binary, bis er neu gestartet wird. Nach dem Update also einmal sudo remotered service restart. Die App verbindet sich von selbst wieder.

# Vorab prüfen, ob es etwas Neues gibt $ remotered self-update --check # Aktualisieren und Dienst neu starten $ sudo remotered self-update $ sudo systemctl restart remotered

Alternativ genügt ein erneuter Aufruf des Installations-Skripts. Beide Wege tun dasselbe.

Leg los auf Deinem Linux-System

Ein Befehl installiert den Agent, der nächste richtet ihn ein. Wenn noch Fragen offen sind, schreib uns einfach.