Syncthing: »Server selected unsupported protocol version 303«
Wer meine Anleitung »Syncthing: KeePass-Datenbank zwischen PC und Android synchronisieren – Passwörter Teil3« umgesetzt hat, der wird seit einem Update der Syncthing-App für Android (Version 1.17.0) und einem Debian-System vermutlich ein Sync-Problem feststellen – zumindest dann, wenn man die alten Debian-Pakete für Syncthing nutzt.
Die Synchronisation funktioniert seit Version 1.17.0 nicht mehr, weil die Entwickler nach dem Update standardmäßig nur noch Verbindungen via TLS 1.3 erlauben. Die Debian-Paket-Version (1.0.0) unterstützt allerdings nur ältere TLS-Versionen. Daher erscheint in der Android-App dann die Fehlermeldung:
Server selected unsupported protocol version 303
Die Lösung ist relativ einfach: Der Syncthing-Client auf Debian muss aktualisiert werden oder alternativ die Android-Version auf 1.16.0 herabgestuft werden. Da das Debian-Projekt selbst keine aktuellen Syncthing-Versionen für Debian Buster bereitstellt, kann man den Client alternativ über die Paketquellen des Syncthing-Projekts beziehen. Nach dem Upgrade auf Version 1.17.0 funktionert die Synchronisation wieder reibungslos. Die Logs sagen dann:
2021-06-18 18:33:12 Established secure connection to PLJ3VXC-EGASEIF-9EBRVKE-3V5H7EE-6BOAGEY-ZXFG4T8-2SQKE4W-YXNKOAX at 192.168.150.10:45570-192.168.150.15:22000/tcp-client/TLS1.3-TLS_AES_128_GCM_SHA256
Es gibt auch noch eine weitere Alternative. Im Syncthing-Client (auf Android-Seite) lässt sich über »Hamburger-Menü -> Weboberfläche -> Systemrädchen (rechts oben) -> Erweitert -> Optionen
« auch ein Häkchen bei Insecure Allow Old TLS Versions
setzen. Davon rate ich allerdings ab. Ein Update ist hier der richtige Weg.
Die Fehlermeldung ist relativ kryptisch. Es hat etwas gedauert, bis ich den Fehler gefunden hatte. Das könnte man sicherlich auch eleganter lösen, liebes Syncthing-Projekt.