Ein kleiner Dienst auf dem NAS, der die Sicherungen entgegennimmt, statt sie über eine offene SMB-Freigabe zugänglich zu machen. Der Unterschied ist eine einzige Regel: Er überschreibt nie. Hier steht, was der Agent kann und warum er so gebaut ist.
Über SMB kann jeder Rechner, der die Freigabe eingebunden hat, vorhandene Sicherungen überschreiben – ein Erpressungstrojaner auf dem Laptop verschlüsselt also auch das Backup gleich mit. Über den Agent kann das niemand: Er nimmt neue Objekte an und gibt vorhandene heraus, überschreibt aber nie.
Alles, was der Agent speichert, ist bereits auf dem Gerät verschlüsselt. Auch wer das NAS stiehlt, hält nur Chiffretext in den Händen.
Der Agent bekommt denselben Ordner eingehängt, den die Geräte bisher über SMB beschrieben haben, und bedient das Repository, wie es liegt – nichts wird umgeschrieben, nichts neu gesichert.
Der bequemste Weg ist der NAS-Einrichtungs-Assistent der Mac- und Windows-App: NAS finden, anmelden, Ordner wie im Explorer wählen – die App installiert den Agent selbst (mit Architektur-, Docker- und Ordner-Prüfung, SHA-256-Kontrolle des Downloads und Volume-Kontrolle nach dem Start).
Der Agent ist ein Multi-Arch-Docker-Image (amd64 und arm64) für Unraid, Synology ab DSM 7.2, QNAP, TrueNAS und Proxmox; für Unraid gibt es ein fertiges Template. Zwei Volumes genügen: eines für die Sicherungen, eines für den Zustand des Agents – bewusst getrennt, damit ein versehentlich geleertes Datenverzeichnis nicht die Kopplung mitnimmt.
Gekoppelt wird mit einem achtstelligen Code
(XXXX-XXXX, 15 Minuten gültig, höchstens fünf
Versuche). Der Code selbst wandert nie über das Netz: App und
Agent rechnen daraus und aus beiden öffentlichen Schlüsseln ein
Prüfmerkmal – wer sich im Netz dazwischenschaltet, scheitert,
weil sein untergeschobener Schlüssel das Prüfmerkmal verrät.
Der Agent spricht ausschliesslich TLS. Die App heftet seinen öffentlichen Schlüssel bei der Kopplung an und prüft jede spätere Verbindung dagegen – im Heimnetz die ehrlichere Antwort als eine Zertifikatskette, die es dort nicht gibt.
Auf seinem Port liefert der Agent eine Verwaltungsseite aus – geschützt durch ein Administrator-Passwort, das beim ersten Aufruf festgelegt wird. Sie zeigt und verwaltet: den Kopplungscode mit Restlaufzeit, Datenverzeichnis und freien Platz (mit Warnung unter 5 %), die gekoppelten Geräte mit letzter Sicherung (Entkoppeln lässt die Sicherungen liegen), die Karenzzeit fürs Aufräumen sowie Version und Verbindungsstand zu dockup.ch.
Die Anbindung an dockup.ch ist freiwillig – ohne sie sichert der Agent im Heimnetz genauso. Mit ihr meldet er seinen Zustand im Minutentakt selbst (nur Status, nie Inhalte oder Dateinamen) und wird von unterwegs erreichbar: dockup.ch vermittelt den Apps die Adressen, der Agent öffnet Ports wo möglich automatisch (NAT-PMP/UPnP), und kommt keine direkte Verbindung zustande, tunnelt dockup.ch rohe Bytes als Relay.
Auch durch den Tunnel bleibt dockup.ch blind: Das TLS läuft Ende-zu-Ende zwischen App und Agent hindurch – der Server sieht nur Chiffretext. Der Relay hat ein Monatskontingent je Konto; die Erstsicherung erzwingen die Apps im Heimnetz.
Verwaltungsseite und Kopplung sind bewusst nur im lokalen Netz erreichbar – von aussen gibt es keinen Weg zur Admin-Oberfläche.
Neue Sicherungen brauchen ein laufendes Abo (das erste Gerät ist mit Dockuped Solo gratis). Wiederherstellen geht dagegen immer – auch nach der Kündigung, auch ohne Konto, auch ohne Internet. Ein Internetausfall hält keine Sicherung an: Erst nach gut zwei Wochen ohne Kontakt zu dockup.ch nimmt der Agent nichts Neues mehr an.
Der Agent ist ein einzelnes, vorkompiliertes Binary von rund 14 MB (kein .NET, keine Laufzeitumgebung), braucht im Leerlauf etwa 33 MB Speicher und läuft auch auf einer ARM-Synology mit 1 GB RAM, während das NAS nebenher arbeitet. Er kündigt sich im Netz per mDNS an; schlägt das fehl (etwa ohne Multicast-Rechte), zeigt die Weboberfläche alle Adressen für die manuelle Eingabe.
Der Assistent in der Mac- und Windows-App installiert den Agent in wenigen Minuten – die Anleitung zeigt den ganzen Weg.