Zum Inhalt springen

Ein Gerät koppeln

Diese Anleitung zeigt, wie du ein Telefon mit Control Center koppelst, damit du Nachrichten und Tickets lesen und von überall antworten kannst. Derselbe Ablauf koppelt einen zweiten Browser oder eine Desktop-App. Wie die Verbindung funktioniert und welches Sicherheitsmodell dahintersteht, steht unter Fernsteuerung und Mobil.

  • Ein Desktop- oder Web-Client, der mit deinem Server verbunden ist, und ein eingerichteter Arbeitsbereich. Zum Koppeln brauchst du einen vollständigen Client, deshalb kann ein gekoppeltes Telefon nie ein anderes Gerät koppeln — oder widerrufen.
  • Der Server ist von dem Gerät aus erreichbar, das du koppelst. Im selben Netz funktioniert das von selbst; von weiter weg trägt das vermittelte Relay den Verkehr. Antwortet der Bereich mit Nicht erreichbar statt mit einem QR oder Zugangsdaten, veröffentliche zuerst einen Weg — die Tunnel-Option unter Einstellungen → Server → Verbindung und Status (Diesen Server teilen), oder --public-url des Servers (siehe Einen Headless-Server betreiben).
  • Für ein Telefon: nichts zu installieren. Der QR öffnet die Web-App Remote (remote.usectrl.dev standardmäßig).

Selbst hosten. Remote und der Relay-Broker sind in diesem Repo quelloffen: die Telefon-App (apps/cc_remote, eine Flutter-Web-PWA, die du über ihre wrangler.jsonc auf Cloudflare Pages ausrollen kannst, auf das nginx-Image docker/cc_remote oder auf jeden statischen Host mit HTTPS — Service Worker und IndexedDB setzen einen sicheren Kontext voraus) und das Relay (apps/cc_signaling_server, eine einzelne zustandslose Dart-Binärdatei, die keine App-Daten hält und das Kopplungsgeheimnis nie sieht — sie leitet nur Ende-zu-Ende versiegelte Frames weiter). Build- und Startschritte stehen in ihren READMEs.

Öffne Einstellungen → Du → Deine Geräte. Der Abschnitt Ihre Geräte listet die Clients, die mit deinem Konto auf diesem Server gekoppelt sind. (Der Eigentümer des Servers sieht jedes Gerät auf dem Server; alle anderen sehen nur ihre eigenen.)

Klicke in der Kopfzeile der Seite auf Neuen Client koppeln, gib eine Bezeichnung ein (z. B. „Mein Telefon“), wähle den Typ — Webbrowser, Desktop-App oder Telefon — und klicke auf Koppeln.

  • Bei einem Telefon erscheint ein QR-Code. Scanne ihn mit der Kamera des Telefons, oder kopiere den Link und öffne ihn in einem beliebigen Browser. Er richtet die Remote-App auf deinen Server aus und trägt die Zugangsdaten.
  • Bei einem Browser oder Desktop kopierst du stattdessen den angezeigten Link (oder die Geräte-ID und den Kopplungsschlüssel) in den neuen Client. Den Link zum direkten Öffnen gibt es nur, wenn du vom Web-Client aus koppelst, weil eine Desktop-Binärdatei keinen Web-Origin hat, aus dem sie einen bauen könnte.

Der Telefon-QR und der Link, den cc_server pair --client-url auf der CLI ausgibt, sind verschiedene Payloads und nicht austauschbar: Der CLI-Link füllt das Verbindungsformular des Web-Clients, während dieser QR den vollständigen Verbindungsdeskriptor und den Identitäts-Fingerabdruck des Servers für die Remote-PWA trägt.

Auf dem Telefon koppelt das Öffnen eines Kopplungslinks nicht stillschweigend. Remote zeigt den Namen, den der Server bekannt gibt, und bittet dich um Bestätigung, bevor es etwas speichert, damit ein gefälschter Link die App nicht auf den Server einer anderen Person umlenken kann.

Unter Einstellungen → Du → Deine Geräte kannst du:

  • Umbenennen eines Geräts
  • Widerrufen eines Geräts, dem du nicht mehr vertraust. Das Widerrufen zerstört seine Zugangsdaten und beendet die laufende Sitzung innerhalb von Sekunden, sodass es beim erneuten Verbinden geschlossen ausfällt

Das Widerrufen ist der richtige Schritt für ein verlorenes oder ersetztes Telefon. Es wirkt sofort und ist aus Sicht des Geräts unumkehrbar.

Zugangsdaten, die dieser Bereich ausstellt, sind befristet: Sie laufen 30 Tage nach der Ausstellung ab, und danach lehnt das Verbindungs-Gate sie ab. Zugangsdaten, die cc_server pair auf der Kommandozeile ausstellt, haben überhaupt kein Ablaufdatum — widerrufe sie von Hand, wenn die Maschine, für die sie gedacht waren, außer Dienst geht.

Ein gekoppeltes Telefon kann Arbeitsbereiche unabhängig vom Desktop wechseln. Das Telefon sendet den Arbeitsbereich mit jedem Aufruf, und der Server prüft bei jedem deine Mitgliedschaft und Rolle in diesem Arbeitsbereich — das Telefon erreicht also nur Arbeitsbereiche, in denen du Mitglied bist, und ein Wechsel dort ändert nie, was der Desktop zeigt.

Eine Telefon-Sitzung ist zusätzlich auf eine kleine Allow-List überwiegend lesender Tools beschränkt: Sie kann Tickets, Agenten, Bereiche, Nachrichten und Feed-Artikel auflisten und lesen, und sie kann ein Ticket aktualisieren oder zuweisen, eine Nachricht in einem Bereich senden und einen Artikel als gelesen oder gespeichert markieren. Alles außerhalb dieser Menge wird abgelehnt, bevor es den Dispatcher des Servers erreicht.