Skip to content

Update auf Debian 12

^ v M ><
Debian 12 ist vor kurzem veröffentlich worden, Zeit für Updates. Wie üblich ging das weitestgehend problemlos über die Bühne, nur ein paar Dinge brauchten etwas händisches Nachtreten:

Firmware Pakete


Die unfreien Firmware-Pakete wurden von non-free nach non-free-firmware ausgelagert. Entsprechend muss die /etc/apt/sources.list ergänzt werden, sonst werden die Firmware-Pakete nicht aktualisiert.

vim


Alle paar Releases wieder gibt es eine kaputte Version von vim, die man wieder zurechtkonfigurieren muss, damit z.B. einfügen per Mittelklick auch in meiner Umgebung (d.h. viel SSH und xterm) noch geht. Hier die aktuelle Config:
let g:skip_defaults_vim = 1
filetype plugin indent on
set tabstop=4
set shiftwidth=4
set paste
set noai
set vb
syntax enable

Die erste Zeile setzt erst mal alles auf Standardeinstellungen zurück, damit man anfangen kann zu arbeiten...

Zoneminder


Die Maschine wurde von Debian 10 und Zoneminder ab externem Repo erst zu Debian 11 mit Zoneminder ab backports aktualisiert und dann auf Debian 12 (ohne Extras) angehoben. Wichtig war nur nach jedem Update einmal zmupdate.pl -f auszuführen.

Nextcloud


Das Nextcloud-Update war etwas fummelig. Debian 11 kommt mit PHP 7.4, welches ab Nextcloud 26 nicht mehr unterstützt wird. Debian 12 kommt mit PHP 8.2, welches von Nextcloud 25 noch nicht unterstützt wird. Also war hier folgendes vorgehen angesagt:
- Nextcloud auf das letzte 25er Release aktualisieren
- Debian aktualisieren
- Auf Nextcloud 26 (wichtig, nicht latest, denn das ist bereits 27 oder noch neuer) von Hand aktualisieren
- Nextcloud über den eingebauten Updater auf die neuste Version bringen.

Umgang mit Corona: Singapur vs Schweiz

^ v M ><
Die ersten drei Monate von 2021 durfte ich in Singapur verbringen. Corona ist dort (k)ein Thema. Man hat sich dort bestens damit arrangiert und geniesst ZeroCovid. Natürlich ist es deutlich einfacher, eine Pandemie fernzuhalten, wenn man ein kleines Inselchen ist (das sieht man ja auch an Taiwan, Neuseeland, Australien, Südkorea, welche allesamt sehr gut dastehen). Es hilft auch, wenn die Bevölkerung nicht aus Prinzip dagegen ist, wenn die Regierung etwas sagt. Es hilft definitiv auch, dass sich die Regierung nicht so dermassen gegen Digitalisierung sträubt, sondern diese aktiv vorantreibt und sich nicht hinter Gesetzen versteckt, die halt die Umsetzung nicht ermöglichen (ja liebe Schweizer Parlamentarier und Bundesräte, wer macht denn die Gesetze, hä, wereliwer?)

Wie es in Singapur läuft


Die Einreise ist grundsätzlich nur für Bürger und Permanent Residents (entspricht etwa Aufenthaltsbewilligung C) erlaubt. Alle anderen, auch wenn sie einen gültigen Arbeitsvertrag haben, benötigen eine Sondererlaubnis der Einwanderungsbehörde. Diese wird extrem restriktiv und kurzfristig vergeben. Bis ich den Immigration Checkpoint durchschritten hatte, hätte diese jederzeit widerrufen werden können.

Beim Check-In am Abflug-Flughafen muss ein negativer Covid-Test vorgewiesen werden, welcher nicht älter als 72h ist. Für einige Länder, gibt es Ausnahmen, in dem Fall muss man nach Landung in Singapur Changi einen Schnelltest machen. Während dem Flug muss eine Maske getragen werden, welche nur zum Essen kurz abgelegt werden darf. Nach Landung in Singapur Changi steigen erst die Passagiere aus, welche in Singapur verbleiben. Erst danach steigen Transitpassagiere aus und werden direkt zu ihrem Anschlussgate begleitet. Sämtliche Shops und Restaurants im internationalen Teil des Flughafens waren Ende 2020 geschlossen, im März 2021 ist mit sehr kurzen Öffnungszeiten zumindest Duty-Free wieder geöffnet.
Beim Immigration Checkpoint müssen der Pass, der Covid-Test (auf Englisch) sowie die Sondererlaubnis vorgewiesen werden. Danach geht es einem abgesperrten Bereich entlang direkt zum Bus, womit man zum Quarantänehotel gefahren wird. Das Quarantänehotel bietet in der Regel nur Unterkunft für Quarantänegäste an und ist für die Öffentlichkeit gesperrt (gemischte Hotels hatten Ausbrüche...). Das Personal ist von Kopf bis Fuss in Plastik-Schutzanzüge gekleidet. Das Hotelzimmer darf während der Quarantäne nicht verlassen werden.
Nach 12 Tagen Quarantäne wird ein weiterer Covid-Test durchgeführt, wobei strikte darauf geachtet wird, dass Maske getragen und Abstand gehalten wird. Nur wenn dieser Test negativ ausfällt, darf man am 14. Tag das Hotel verlassen.

Aussicht
Die Quarantäne lässt sich per se aushalten. Man muss sich einfach vorbereiten und Unterhaltung mitbringen. Wir hatten Glück und bekamen eine Suite mit Aussicht in einem 4-Sterne-Hotel (das Hotel kann nicht gewählt werden, sondern wird zugeteilt). Dreimal am Tag wird Essen vor's Zimmer gestellt. Viele Hotel-Dienstleistungen sind verfügbar, so kann man Snacks und Drinks (ja, auch ein Sixpack Tiger-Bier) aufs Zimmer liefern oder Wäsche erledigen lassen. Wenn das Hotelessen zu monoton wird, kann man über Lieferdienste beliebiges Essen anliefern lassen. Auch Freunde und Verwandte dürfen am Hoteleingang Lieferungen hinterlassen, welche dann vom Personal aufs Zimmer gebracht werden.

In Singapur kann man sich frei bewegen, fast alles ist geöffnet. Seit Anfang Jahr gilt "Phase 3" des Öffnungsplans, man darf sich in Gruppen von 8 treffen (bzw 8 Gäste pro Tag empfangen). Wer kann, arbeitet im Homeoffice. Karaoke und Clubs sind geschlossen. Restaurants und Pubs schliessen um 22:30
Sobald man die eigenen vier Wände verlässt, muss man Maske tragen. Und zwar über Mund UND Nase. Auch draussen. Auch im Wald. Auch Kinder ab 6 Jahren (und nein, im Gegensatz zu Schweizer Kindern ersticken die nicht). Dabei ist es egal ob Stoffmaske, chirurgische Maske oder FFP2/KN95. Abgenommen werden darf sie nur zum Essen im Restaurant oder wenn man anstrengenden Tätigkeiten wie Joggen nachgeht. Im ÖV ist essen eh nicht gestattet. Das kleine Schweizer Schlupfloch, mit einem Gipfeli von Genf nach Chur fahren, klappt also nicht.
Foodcourts und Hawker Centres sind geöffnet, bieten aber nur halb so viele Sitzplätze wie normal. Entsprechend gilt halt öfters mal "tapau" (take-away). Die Leute halten sich grundsätzlich sehr gut an die Maskenvorschrift, wenn man jemanden mit der Maske unter der Nase oder gar ohne sieht, ist das in 9 von 10 Fällen ein "Ang Moh" (Westler). Abstände werden gut eingehalten, praktisch überall wo sich eine Schlange bilden könnte, sind auch Abstandsmarker auf den Boden geklebt. Da alle Maske tragen, genügt ein Abstand von 1m.
TraceTogether Token
Wenn man Supermärkte, Shopping-Malls oder Restaurants betritt, muss man erst Temperatur messen und sich anmelden. Dies geht am einfachsten automatisiert über die TraceTogether-App, womit man einen QR-Code einliest. Den Anmeldebildschirm zeigt man dann dem Security am Eingang. Den QR-Code kann man auch mit einem beliebigen QR-Reader lesen und dann händisch ein Formular ausfüllen. Alternativ zeigt man sein Hardware-Token (kann man als Einwohner gratis abholen) oder Personalausweis vor (die Nummer ist als Barcode aufgedruckt und kann so eingelesen werden). Ausländer ohne Smartphone können die Passnummer händisch abtippen lassen. Die Anmeldung wird im Prinzip auch an jedem anderen öffentlichen Ort (Shops innerhalb von Shopping Malls, Taxis, Bahnstationen, Stadtpärke, ...) empfohlen, aber nicht forciert.
TraceTogether App
Ebenfalls wird eine Kontaktverfolgungsapp (TraceTogether) empfohlen. Diese nutzt zwar Bluetooth, setzt allerdings nicht auf GAAPI. Das Hardware-Token ist ebenfalls ein Tracing-Beacon und kompatibel zur App. Die App ist nicht anonym! Man muss sich mit allen Daten inklusive Passnummer eintragen. Und natürlich haben die Strafverfolgungsbehörden Zugriff auf die Daten.
Da die TraceTogether-App unter dem Strich unverzichtbar ist, um bequem und zügig überall hinzukommen, wird sie von einer erschlagenden Mehrheit genutzt.

Im Februar hat Singapur mit Impfungen angefangen, bislang nur mit dem Impfstoff von Pfizer/Biontech, Moderna kommt ab April zum Zug. Der aktuelle Fortschritt ist gut, die meisten über 65 sind geimpft, aktuell können sich über 45 jährige anmelden und bekommen den ersten Schuss innert einer Woche.

Masken, überall
Im Alltag fällt vor allem eine Änderung auf: Die ganzen kleinen Stände, welche Telefonhüllen verkaufen, sind verschwunden. Stattdessen verkaufen sie jetzt Masken. In jeder Farbe, Form und Musterung.

Und die Schweiz so


Masken? Haben wir zuwenige, darum nützen sie nichts. Im Zug und Laden sollte besser eine getragen werden. Aber keine Stoffmaske! Aber nur Mund ODER Nase bedecken, sonst kann man ja nicht atmen! Und sonst halt bei einem Internetquacksalber einen Attest besorgen.
Abstand halten ist wichtig! 2 Meter mindestens. Die Definition von Meter entspricht dem "kurzen Meter".
Kontaktverfolgung? Ja, von Kanton zu Kanton unterschiedlich. Dann gibt es noch die tolle App, aber die wollen wir nicht. Wenn sogar der Bundesrat meint "chume nöööd druus" kann das ja nix sein. In die App kann man einen Code eingeben, wenn man positiv getestet ist. Blöd nur, dass man den Code erst bekommt, wenn man wieder genesen ist. Ausserdem ist die eh nur dazu da, damit der Staat uns ausspionieren kann.
Einreiseformular
Einreisen? Klar, jeder ist willkommen, v.a. Superspreader aus England oder Brasilien. Quarantäne bei Einreise aus Höchstrisikogebiet? Ja schon, aber eigenverantwortlich. Also vielleicht nicht mit dem ÖV heimreisen, ausser es ist sonst zu unkomfortabel. Anmeldung bei Einreise ist erforderlich, dazu bitte dieses Fax-konforme A4-Blatt ausfüllen, das von jemandem gestaltet wurde, der keine Ahnung hat, wie man ein Formular vernünftig gestaltet (aber dafür vernichten wir die Daten nach 30 Tagen... also nachdem wir sie illegal in die Staatsschutzfiche eingetragen haben, natürlich. Steht ja auch oben auf dem Formular: Fiche de traçabilité. Nein, das ist nicht französisch, das ist eine Deklaration). Gibt's sonst auch online, da bekommt man dann einen QR-Code, den man an der Grenze vorweisen kann. Den verlangt aber keiner. Ach ja, einen Covid-Test muss man neu zwingend haben, aber der ist nur wirklich nötig, wenn man aus einem Null-Risiko-Gebiet kommt. Wenn es am Abflugort zu kompliziert ist zu testen (z.b. weil man aus Tansania kommt, wo es offiziell kein Covid und somit auch keine Testmöglichkeit gibt - aber 18% der Reisenden infiziert sind), dann kann man auch über eine Selbstdeklaration ganz Eigenverantwortlich vorgeben, dass man dann nach Ankunft in der Schweiz einen Test macht. Ey, ich schwör, gangi teschte, man!
In Singapur wird einem an einem durchschnittlichen Tag 20x die Temperatur gemessen. Automatisiertes Screening am Flughafen gibt es schon seit Jahren. Kontaktlose Handthermometer werden einem vielerorts zum Spottpreis nachgeworfen. In der Schweiz? Da kann man nicht mal ein kontaktloses Thermometer kaufen.
Impfen? Machen wir. Irgendwann. Sobald wir genug Impfstoff haben. So 2023 oder so. Bis dahin hat halt die Gruppe N (zu der fast jeder gehört) halt Pech und darf sich bis Mai... nein Juni... halt Juli... vertrösten lassen, dass sie dann im August... nein September... vielleicht die erste Impfung im Oktober oder November bekommt.
Die Impfung (wenn man sie denn je bekommt) kann man übrigens in einem digitalen Impfbüchlein eintragen lassen (geil, sind wir modern). Das äh leider äh von einer äh privaten Stiftung gepfuscht wurde und äh dessen Daten äh alle äh öffentlich sind. Äh ja.
Und ganz wichtig: Viel gegen alle Massnahmen demonstrieren gehen. Ohne Maske und ohne Abstand.

Fazit


Auf der einen Seite erst superstrikte Massnahmen, aber danach fast das volle Leben ohne wirkliche Einschränkungen, auch dank sehr kooperativer Bevölkerung. Auf der anderen Seite Larifari-Laueri-Betrieb, volle Spitäler und ewige Massnahmenorgien, auch dank einer Bevölkerung mit zu vielen renitenten Covidioten.
Sind die Massnahmen in Singapur toll? Nein, aber sie wirken. Wirklich einschränkend sind nur die Einreisevorschriften mit Sondererlaubnis, Tests und Quarantäne. Und den Grossteil von 2020 verbrachte Singapur in einem sehr strikten Lockdown, der war keinesfalls lustig für die Bevölkerung. Alle Schulen und Läden waren geschlossen, alles Essen nur Take-Away oder per Delivery. Aber seit Anfang 2021 ist es für Singapur überstanden und das Leben läuft wieder. Die Massnahmen sind nur bedingt störend. Haustür auf, Maske drauf - kein Problem. So "vergisst" man die Maske nicht, wenn man sie dann im Zug oder Laden bräuchte. Die TraceTogether-App war am Anfang unbrauchbar, wurde aber rasch verbessert. Das Leben ist etwas langsamer, man kann nicht einfach in die Shopping-Mall reinrennen, man muss jetzt erst durch die Eingangsschleuse und dort an der App rumfummeln. Öfters sind Eingangstüren zu und man muss Umwege gehen. Aber das ist alles harmlos im Endeffekt.
Klar ist es doof, dass die TraceTogether-Funktionalität gleich mitgenutzt wird, um die Überwachung noch mehr zu erhöhen. Aber unterm Strich macht das eh nicht viel aus. Ein Mobiltelefon kann eh anhand der Funkzelle halbwegs genau geortet werden. Und in Singapur wird man aus Prinzip überall von mindestens drei Kameras beobachtet.
Ist in der Schweiz alles schlecht? Nun ja dass wir aktuell "nur" 2000 Fälle am Tag haben zeigt, dass zumindest minimale Wirkung einiger Massnahmen da ist. Aber so im Vergleich: Singapur hat maximal 20 Fälle am Tag und davon sind 19 importiert (d.h. bei Ankunft oder in Quarantäne erkannt). Mit der SwissCovid-App hätten wir ein tolles Hilfsmittel, das leider keiner nutzt und das auch durch Beamtenbürokratie stark eingeschränkt wird.
Singapur ist komplett durchdigitalisiert. Beispiel: Das Covid-Testergebnis bekommt man per Mail und kann es digital mit zwei Klicks kryptographisch notarisieren lassen. In der Schweiz werden dafür Fallmeldungen weiterhin per Fax zusammengetragen und dann von Hand irgendwo eingetragen. Immerhin: Das Labor konnte mir das Testergebnis per Mail mitteilen. Unsigniert.

Kann man die singapurischen Massnahmen auf die Schweiz anwenden? Teils ja, aber zu einem grossen Teil leider nein. Die Schweiz ist zu stark mit den Nachbarn verwebt, zu viele Personen müssen täglich ein- und ausreisen, damit die Wirtschaft funktioniert.
Dazu ist die Bevölkerung viel zu wenig in Sachen Hygiene und Crowd-Awareness sensibilisiert. Eine Maske tragen sollte nicht als Stigma (iiih, der ist krank) angesehen werden, sondern als reine Vernunft (oh, der ist krank und versucht uns zu schützen). Das sind gesellschaftliche und psychologische Probleme, welche nur mit Technologie nicht behoben werden können.
Was aber in der Schweiz definitiv fehlt, ist ein vernünftiges Tracing-Konzept. Das würde halt voraussetzen, dass die SwissCovid-App richtig gepusht und um eine Check-In Funktion erweitert wird. Die Check-In Funktion kann durchaus anonym sein, technisch wäre das überhaupt kein Problem. Aber bla bla, geht nicht wegen Gesetzen. Ihr faulen Parlamentarier bekommt einen fürstlichen Lohn von meinem Steuergeld, also geht gefälligst arbeiten! Wenn's darum geht, den Pöbel zu schikanieren oder eine Bank mit Milliarden zu retten, dauert es ja auch nicht so lange, bis das Gesetz neu gemacht ist.
Als Ergänzung bzw Alternative für Leute ohne Smartphone ist ein Hardware-Token natürlich eine tolle Idee. Ich bin mir sicher, Singapur würde die Baupläne an andere Länder lizenzieren, wenn man anfragen würde. Für einen Erfolg ist es natürlich wichtig, dass man das Gerät gratis abgibt. Da hätten wir gleich zwei Dinge, die total unschweizerisch sind: Anderer Länder hochtechnologische Entwicklung übernehmen. Und dann erst noch etwas gratis für den Pöbel machen!
Auch die Einreise muss ganz anders geregelt werden. Erstens muss gerade an Flughäfen deutlich intensiver geprüft werden, ob die Leute getestet wurden. Wer ohne Covid-Test aus einem Drittweltland kommt, muss halt bei Ankunft im Flughafen unter den Augen der Grenzwächter die Klobürste in die Nase geschoben kriegen. Zweitens muss einfach in Quarantäne, wer aus einem Risikogebiet kommt. Und zwar in eine überwachte in einem Hotel. Mit organisiertem Direkttransport, ohne ÖV, ohne vorherigen Shopping-Spree. Der Aufenthalt kann durchaus durch den Staat subventioniert werden. Aktuell bekommen die Hotels einfach Geld für's geschlossen sein (ausser, sie beherbergen britische Superspreader). Stattdessen könnte man ihnen auch Geld geben für's Betreuen von Quarantänegästen. Aber, lasst mich raten, die Gesetze?

Debian auf einem PCEngines APU2 installieren

^ v M ><
Normalerweise nutze ich die APU's mit pfsense oder opnsense als Firewall, aber diesmal soll ein etwas multifunktionaleres OS drauf, daher wie üblich: Debian.

Die Anleitungen lesen sich simpel. einfach Installer auf USB-Stick schreiben, USB-Stick rein, Serial-Kabel rein, anschalten, installieren, läuft.
Wie immer sind die Anleitungen gelogen. Es ist nie einfach. Es ist immer unnötig fucking kompliziert.

Erstes Problem: Der Installer lädt nicht. Es hängt nach ISOLINUX. Klar, der Installer kann kein Serial. Also: Netinstall-CD patchen, neu bauen, nochmals versuchen. Etwas Hilfe leistet dieser Github-Gist:
- Netinstall-Image herunterladen
- lokal mounten: mount -o loop debian-10.7.0-amd64-netinst.iso /mnt/temp/
- Arbeitsverzeichnis erstellen: mkdir iso-rework
- Kopieren: cp -r /mnt/temp/. iso-rework/
- Dateien bearbeiten: cd iso-rework/isolinux && chmod +w *.cfg
- in isolinux.cfg die Zeile SERIAL 0 115200 0 einfügen
- in txt.cfg die letzte Zeile ersetzen mit append gfxpayload=text console=ttyS0,115200 initrd=/install.amd/initrd.gz --- quiet
- wieder ins übergeordnete Verzeichnis zurückwechseln: ../..
- ISO neu bauen: xorriso -as mkisofs -rational-rock -joliet -joliet-long -full-iso9660-filenames -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -partition_offset 16 -appid "Debian10.7" -eltorito-boot isolinux/isolinux.bin -eltorito-catalog isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-10.7-amd64-netinst-serial-console-ttyS1-115200-8n1.iso iso-rework
- und nun den USB-Stick neu bespielen: dd if=debian-10.7-amd64-netinst-serial-console-ttyS1-115200-8n1.iso of=/dev/sdX bs=4M && sync

JETZT kann man das Ding einstecken und "einfach" booten.
Nächstes Problem: Konsolenoutput ist unleserlich. Lösung Teil 1: USB-Serial-Kabel nicht in einen USB-Hub sondern direkt in den PC stecken. Lösung Teil 2: Putty verwenden. Aber das lässt sich grafisch nicht konfigurieren (denn das wäre ja einfach), also muss man es von der Kommandozeile richtig aufrufen: putty /dev/ttyUSB0 -serial -sercfg 115200,8,n,1

Über Putty kann man nun schön beobachten, wie BIOS und Isolinux geladen werden und die Installationsauswahl angezeigt wird. Natürlich nicht "Graphical Installer" sondern "Install" (für Textinstallation) wählen. Das klappt bei mir jedoch nicht über serial... Ich brauche eine USB-Tastatur...

Nochmals von vorn. Und: Es lädt den Textinstaller. Doch kommen wir nun zum major fuckup des Tages, der mich extrem viel Zeit kostete, um mit Boot-Optionen zu experimentieren, es mit Debian 9 zu versuchen und sogar ein anderes APU zu probieren, um auszuschliessen, dass nicht ein Hardware-Defekt vorliegt:
Nun stecke ich in der Sprachauswahl des Installers und da geht wieder nichts mehr. Ich kann keine Sprache auswählen. Ich kann Tab, Space, Enter drücken, nichts passiert. Ich kann Eingaben über Putty versuchen, nichts passiert. Tatsächlich scheint dies ein bekanntes Problem von ein paar Laptops zu sein.
Irgendwann fand ich die brachiale Lösung: Nach Auswahl des Installers sofort die USB-Tastatur ausstecken, bevor der Kernel zu weit geladen hat. Dann über Putty weiterarbeiten.

Wieder einmal: Eine supereinfache Tätigkeit, zur völligen Perversion verkompliziert. Einfach, weil nichts "einfach" sein darf. One does not simply. Nicht wahr, Boromir?

OpenHAB vs Xiaomi Sensoren

^ v M ><
Vor einiger Zeit habe ich angefangen, mit OpenHAB das Monitoring von meinen Servern auf die ganze Wohnung auszuweiten. U.a. wäre es schön zu wissen, ob ich den Tiefkühler im Keller wieder geschlossen oder doch die Tür aus lauter Senilität offen gelassen habe. Entsprechende Sensoren gibt es schon für relativ wenig Geld z.B. von Xiaomi (oder für massiv mehr Geld auch von anderen Herstellern, ob die dann einfacher einzubinden sind, ist die grosse Frage). Allerdings ist die Einbindung der Xiaomi-Sensoren in OpenHAB eine chinesische Oper in mehreren Akten:

Akt 1: Das Starterset

Das Starterset gibt's für rund 80.- und es kommt mit einem Druckschalter, zwei Türsensoren und zwei Bewegungsmeldern sowie der Basisstation. Gemäss Beschreibung ist alles ganz einfach: Die Basisstation starten, auf einem Android-Telefon die Mihome-App installieren, als Serverstandort "Mainland China" wählen, App mit der Basisstation verbinden, über ein verstecktes Menü den Developer-Mode aktivieren, den Key auslesen und damit die Basisstation in OpenHAB integrieren.
Dann wäre alles ganz einfach mit einem Datenfluss Sensor -> Xiaomi-Hub -> OpenHAB.
Ja, aber...
Genau, denn das ganze geht nur mit der Basisstation "Mainland China Edition", welche in Europa nicht erhältlich ist. Vermutlich kann man sie über einen chinesischen Grosshändler von Übersee liefern lassen (Reisestromadapter nicht vergessen, chinesische Stecker passen nicht in europäische Steckdosen). Aber die EU-Edition ist unbrauchbar:
- wählt man in der App Serverstandort "Mainland China", so lässt sich die Basisstation nicht finden und somit auch nicht verbinden
- wählt man Serverstandort "Europa", so fehlt das versteckte Menü, um den Developer-Mode zu aktivieren.

Akt 2: Veraltete App

Mit etwas Recherche ergab sich, dass auf dubiosen Seiten eine veraltete Version der Mihome-App zu finden ist, welche einen Fehler enthält: Sie schreibt ein Debug-Log. Worin der Zugriffskey zu finden ist. Leider hilft der alleine nicht weiter. Damit kann man zwar über die Xiaomi Mi IO Erweiterung von OpenHAB den Hub einbinden. Aber das war auch schon alles. Auf die Sensoren hat man deswegen noch keinen Zugriff. Dafür müsste weiterhin der Developer-Mode aktiviert werden, welcher auch einen Telnet-Zugang auf dem Gerät öffnet.

Nun gäbe es noch zwei weitere Optionen: Eine modifizierte Mihome-App von einer russischen Website, die komplett in kyrillisch gehalten ist. Nun äääh... Njet! Oder aber den Lötkolben auspacken, den seriellen Port abgreifen, sich damit Terminal-Zugang verschaffen und darüber den Telnet-Server aktivieren. Nun, da dies mit guter Wahrscheinlichkeit das Gerät schrotten kann, lasse ich das auch (vorerst) lieber. Immerhin könnte ich es noch weiterverkaufen, solange es noch funktioniert.

Akt 3: Der Aqara-Hub

Ein erneuter Blick in die Dokumentation des Mihome-Bindings zeigt: Der Hub in Version 3 (welcher als Aqara Hub für Apple Homekit im Handel ist), soll etwas zugänglicher sein. Der kostet leider alleine schon fast so viel wie das ganze Set. Und kann dann genau so wenig. Entsprechend habe ich den umgehend wieder zurückgesendet...

Akt 4: Billiger Zigbee-Stick

Die Xiaomi-Geräte halten sich, wie aller proprietärer Müll, natürlich nie ganz genau an die Standards. Aber immerhin genug, dass das Protokoll noch knapp als Zigbee durchgeht. Also habe ich für 9€+3.50€ Versand beim reichsten Mann der Welt einen USB-Zigbee-Stick gekauft. Zu meiner grossen Überraschung wurde dieser, obwohl Elektrogerät, vom reichsten Mann der Welt seinem Marktplatz aus Deutschland über den Rhein versendet. Sehr unüblich. Und kam auch superschnell an. Ebenfalls unüblich.
Es handelt sich um einen simplen USB-Stick mit CC2531-Chip und zigbee2mqtt-kompatibler Firmware vorinstalliert. Sehr genial!

Grundsätzlich würde OpenHAB zwar den Zigbee-Stick direkt über das Zigbee-Binding ansprechen können. Der Datenfluss wäre dann Sensor -> USB-Stick -> OpenHAB. Aber da war doch bei Xiaomi was mit Protokollstandard und sich daran halten. So lassen sich die Sensoren zwar einbinden, werden aber als "offline" angezeigt und es lässt sich kein Status abfragen. Es gilt also wie üblich: wieso einfach, wenn es auch kompliziert geht?

Nun beginnt die von-hinten-durch-die-Brust-ins-Auge-Installation für den Datenfluss Sensor -> USB-Stick -> zigbee2mqtt -> mqtt-broker -> OpenHAB.
Als erstes wird der Stick angeschlossen, dieser wird als USB-Serial-Gerät /dev/ttyACM0 erkannt.
Nun muss ein MQTT-Broker installiert werden, z.B. mosquitto aus den Debian-Paketquellen. Dieser wird ohne weitere Konfiguration gestartet.
Als nächstes wird zigbee2mqtt mit gefühlt zweitausend Node.JS-Abhängigkeiten installiert (u.a. npm aus den Debian Backports, wenn man Debian Stable als Basis nutzt). Dies ist, im Gegensatz zum später folgenden OpenHAB-Teil, hervorragend dokumentiert, so dass sich dieser Teil eher als Malen-nach-Zahlen denn Systemadministration anfühlt.
Nun können die Geräte im Prinzip schon eingebunden werden. Dazu einfach den Sensor mit der in der Packung beiliegenden SIM-Pin resetten, und gut. Gemäss Anleitung kann es sein, dass man den Vorgang mehrmals wiederholen muss, bei den ersten beiden Sensoren hat es aber jeweils auf anhieb geklappt. Ein Blick in journalctl -u zigbee2mqtt -f zeigt denn auch gleich Aktivität an.
Jetzt kommt der harte Teil: OpenHAB mit MQTT verbinden. Das ist sehr oberflächlich und abstrakt dokumentiert. Dazu kommt beim Googeln nach Lösungen das Chaos mit Anleitungen für MQTT1- und MQTT2-Binding hinzu. Welche nun bei meiner Installation gilt? Böh? Letztendlich habe ich die Anleitungen für MQTT2 befolgt, das hat irgendwann auch funktioniert. Vermutlich: MQTT1==OpenHAB1, MQTT2==OpenHAB2 (und bei mir läuft 2.5).

Wie also vorgehen:
In der zigbee2mqtt-Konfigurationsdatei /opt/zigbee2mqtt/data/configuration.yaml den Output nicht als JSON sondern Attribut ausgeben lassen. Dazu folgende Zeilen einfügen, speichern, zigbee2mqtt neu starten:
experimental:
    output: attribute
Und wenn wir schon in der Konfiguration herumfummelt, sollte man auch gleich den Sensoren vernünftige friendly_name vergeben.
Zuerst das MQTT-Binding in OpenHAB installieren.
Dann in /etc/openhab2/things/ eine .things-Datei mit den nötigen Einträgen erstellen. Irgendwann habe ich im Forum halbwegs taugliche Anleitungen gefunden...
Und sich nun wundern, dass die Things zwar im GUI auftauchen, aber keinerlei Daten gelesen werden... Signalstärke? NaN. Batterielevel? NaN. Zustand? Off. grrrmpf. Nach langem Debuggen (ja, zigbee2mqtt schreibt in mosquitto, mittels mosquitto_sub -v -t '#' kann man da schön mitlesen) irgendwann einfach mal den spontanen Windows-Reflex ausgelöst und OpenHAB selbst neugestartet. Uuund! Bingo! Alles tut. So einfach! Der Neustart ist übrigens für jedes neu hinzugefügte (oder umbenannte) Gerät nötig.

Das Finale: die OpenHAB-Things-Datei

Bridge mqtt:broker:MosquittoMqttBroker "Mosquitto MQTT Broker" [ host="127.0.0.1", secure=false] {
  Thing topic xdoor1 "Xiaomi Door Sensor" @ "Location" {
  Channels:
    Type switch : contact "contact" [ stateTopic = "zigbee2mqtt/xdoor1/contact", on="true", off="false" ]
    Type number : voltage "voltage" [ stateTopic = "zigbee2mqtt/xdoor1/voltage" ]
    Type number : battery "battery" [ stateTopic = "zigbee2mqtt/xdoor1/battery" ]
    Type number : linkquality "linkquality" [ stateTopic = "zigbee2mqtt/xdoor1/linkquality" ]
  }
}

Weitere Sensoren lassen sich nun einfach dem Bridge-Block hinzufügen. Mit etwas mehr Tippaufwand lassen sich auch Sensoren ausserhalb des Bridge-Blocks definieren:
Thing mqtt:topic:MosquittoMqttBroker:BodySensor "Xiaomi Body Sensor" (mqtt:broker:MosquittoMqttBroker) @ "Location" {
  Channels:
    Type switch : occupancy "occupancy" [ stateTopic = "zigbee2mqtt/xbody1/occupancy", on="true", off="false" ]
    Type number : voltage "voltage" [ stateTopic = "zigbee2mqtt/xbody1/voltage" ]
    Type number : battery "battery" [ stateTopic = "zigbee2mqtt/xbody1/battery" ]
    Type number : linkquality "linkquality" [ stateTopic = "zigbee2mqtt/xbody1/linkquality" ]
}
Die vorhandenen Channels lassen sich per mosquitto_sub oder journalctl herausfinden. Sobald man einen Sensor stimuliert, sendet er alle diese Angaben an den Zigbee-Controller.

Applaus

Natürlich is OpenHAB gerade in Kombination mit Zigbee (oder Z-Wave) bezüglich Möglichkeiten ein Fass ohne Boden. Schon ohne Funkanbindung lässt sich einiges an Technik anbinden: Drucker, Mail- und XMPP-Konten, WLAN (bzw dazu verbundene Endgeräte), Telefonanlagen, mpd (Music Player Daemon), Videokameras (z.B. via Zoneminder - aber das wäre ein Blogeintrag für sich). Mit Zigbee wird alles noch viel wilder. Nach den Sensoren kann das ganze restliche Haus eingebunden werden, von Lampen, Heizung und Rolladensteuerung über die Waschmaschine zum Rasenmäher bis zur Wallbox des Elektrofahrzeugs.
Wenn weitere Zigbee-Sensoren/Aktuatoren etwas weiter weg aufgestellt werden sollen, nimmt man einfach einen Raspberry Pi, schliesst daran einen weiteren USB-Stick an, installiert zigbee2mqtt und lässt damit die Sensordaten übers Netzwerk an den MQTT-Broker auf der OpenHAB-Maschine senden.

Die Covid Tracing App des Bundes...

^ v M ><
Was sagt der Hersteller: WIR RESCHPEKTIEREN DEN DATENSCHUTZ, IM FALL!

Schlimm genug: Die App verbindet sich mehrmals täglich zu Servern "des Bundes" (mehr dazu gleich), "um Konfigurationsdaten zu laden". Yeah right. Alleine das macht prinzipiell rückverfolgbar. Theoretisch wissen sie somit, wann ich zuhause, im Mobilnetz, im Büro, bei Freunden, an bestimmten SBB-Bahnhöfen, im Ausland oder zufällig mit Staatsfeinden ins gleiche WLAN eingeloggt bin.
Praktisch wird es nicht ganz einfach sein, da bei der Serververbindung nur eine begrenzte Menge Informationen über mein Telefon mitgegeben wird (App UserAgent Config Abruf).
Dies natürlich unter der Voraussetzung, dass die zu installierende Version aus dem Appstore dem entspricht, was da bei Microsoft-Github publiziert wird.

Ein weiterer Blick in den Sourcecode in Kombination mit ein paar DNS-Lookups macht alles noch viel schlimmer.

Verbindungen aufgebaut werden zu folgenden vier URLs:
https://codegen-service.bag.admin.ch/
https://www.pt.bfs.admin.ch/
https://www.pt.bfs.admin.ch/
https://www.pt1.bfs.admin.ch/
Und sind die wenigstens in der Schweiz, bei einem Schweizer Provider gehostet?

dig +short codegen-service.bag.admin.ch
162.23.137.58
$ dig +short www.pt-d.bfs.admin.ch
dhubv7mx4v0yy.cloudfront.net.
13.226.154.78
13.226.154.73
13.226.154.33
13.226.154.13
$ dig +short www.pt-d.bfs.admin.ch
dhubv7mx4v0yy.cloudfront.net.
13.226.154.13
13.226.154.73
13.226.154.78
13.226.154.33
$ dig +short www.pt1-d.bfs.admin.ch
pt1-d.bit.admin.ch.
162.23.137.59
$ dig +short www.pt1.bfs.admin.ch
pt1.bit.admin.ch.
162.23.137.65

Aber wem gehören diese Server denn?
$ whois 13.226.154.78
[..]
Organization: Amazon Technologies Inc. (AT-88-Z)

Natürlich! Immerhin: Dafür wurden sie ja schon kritisiert. Und das haben sie auch von Anfang an so angesagt. Leider haben es entweder der Bund oder die Medien ([1] [2]) da nicht ganz genau genommen mit der Wahrheit, wird doch behauptet, man nehme die Server von Amazon Deutschland.

Doch ein GeoIP-Lookup der hinter den CloudFlare verteilten Amazon-Server zeigt:
$ geoiplookup 13.226.154.78
GeoIP Country Edition: US, United States

Und wo gehen meine Datenpakete denn so überall durch, auf dem Weg zu Uncle Sam?
traceroute to 13.226.154.78 (13.226.154.78), 30 hops max, 60 byte packets
[..]
9 pd9ef372e.dip0.t-ipconnect.de (217.239.55.46) 30.289 ms 30.243 ms 29.741 ms
10 xe-5-2-0-0.ldn4nqp1.uk.ip.tdc.net (80.150.170.174) 32.190 ms 31.931 ms 32.210 ms
[..]

Schlaaaand und extraeuropäisches Territorium (UK)! Können wir da nicht noch die Russen und die Chinesen irgendwie auch involvieren?

Immerhin: Der IP-Range 162.23.0.0/16 gehört dem Bund und routet in die Schweiz.
Und: Alle Verbindungen werden zumindest verschlüsselt aufgebaut und die Zertifikate sind im Code gepinnt (uuuh, ich seh schon den Totalausfall kommen, wenn die Zertifikate erneuert werden müssen...).

Fazit: Es ist schlimm. Aber es könnte wirklich sehr viel schlimmer sein. V.a. in Anbetracht dessen, dass das arbeitende Steuergelder sind.

Konsequenz: Installiert, aber nur auf dem Zweittelefon, in dem keine SIM-Karte eingesetzt ist, das kaum ein WLAN ausser meinem daheim kennt und bei dem es mir egal ist, wenn der Akku nach 30 Minuten alle ist.

UPC Spam

^ v M ><
Nachdem ich von UPC etwas zu oft persönlich adressierten Spam in meinem Briefkasten vorgefunden hatte und alle "Refusé"-Rücksendungen nichts genützt hatten, habe ich halt mal den Muster-Auskunftsbrief in deren Firmenzentrale geschickt.

Heute kam die Antwort:


Aha. Also, sie haben keine Daten von mir. Und daher senden sie mir wöchentlich persönlich adressierten Spam für Ihre Dienste. Ist das eine kleine Realitätsdiskrepanz oder bereits eine faustdicke Lüge?

Aber dafür wollen sie noch eine Kopie meiner ID. Damit sie wohl meinen Spam verifiziert personalisieren können. Yeah. Right.

Liebe Freenet, bitte überdenkt eure Blockadehaltung noch einmal und lasst Sunrise den Saftladen einfach übernehmen. Und dann zumachen.

Warum ich nie wieder mit Swiss fliegen werde

^ v M ><
Meine Historie mit Swiss-Flügen ist sehr durchzogen. Ich berichte chronologisch und daher fängt es mit den kleinen Übeln an.

Ein paar Flüge nach Singapur waren mässig angenehm, da in relativ alten Fliegern, die ordentlich schütteln. Kabelkanäle, die halb gebrochen sind und scharfe Kanten aufweisen, so dass man sich den Fuss beinahe schneidet. Onboard-Entertainment ist sehr mau, irgend so eine alte Installation mit lahmer Bedienung und nur halbherzig funktionierendem Touchscreen. Das ginge ja noch. Aber eine Stunde vor Landung wird mitten im Film abgestellt und nur noch Werbung gezeigt! Hey, anständige Airlines lassen mich vom Moment, an dem ich am Abflugsort Platz nehme, bis zur Sekunde, an der ich am Ziel aufstehe ohne Unterbruch durchgucken.

Ebenfalls sehr lästig: In diesen alten Maschinen steckt alle fünf Reihen unter einem der Sitze die Box, welche die Entertainment-Technik enthält. Diese nimmt den halben Fussraum in der Breite weg. Tja, während man mit statistischer Wahrscheinlichkeit von 1/15 so einen Platz zugeteilt bekommt, war's bei mir 3/4. Schon mal zum Kotzen.

Dann hatte ich die Idee, nach London zu fliegen. Der Hinflug war super, war ja auch mit einer No-Frills-Airline. Der Rückflug? nun ja... kurz vor knapp, d.h. 70 Minuten vor Abflug in Heathrow angekommen. Zum Swiss-Schalter (Merke: Singular) gerannt und eine riesige Schlange vorgefunden. Nach weit mehr als 10 Minuten Wartezeit (und etwa 10% Fortschritt in der Schlange) endlich jemanden vom Personal in die Finger gekriegt. Antwort: Gate ist jetzt zu, man müsse umbuchen.
Nun gut, das ist dumm gelaufen. Was geht denn da umbuchungsmässig so? Aha, das Ticket kostet jetzt 600.- Franken pro Person, der Flieger geht in 24h. Aber man könne die alten Ticket (kosteten 110.-) anrechnen lassen. Ja, eine frühere Alternative gibt es, geht aber ab London City, kostet auch 600.- und das alte Ticket ist nicht anrechenbar.

Wir haben uns für die frühere Alternative entschieden und werden angeblich auch so gebucht, der freundliche Herr am Schalter drückt mir strahlend einen Stapel Papier in die Hand und meint "this is your boarding pass, you're all checked in, you just need to walk to the gate". Also gut, ab nach London City und ran ans Gate. Tja, was passiert dort? Boarding Pass ungültig und abgewiesen! Also ab an den Swiss-Schalter, wo uns die Dame erst einmal mitteilt: "ja also nein, der Flug geht ab Heathrow!" DA FUQ? Ich bekomme fast einen Herzstillstand! Nach langer Diskussion meiner Begleitung und voller Durchsicht aller Buchungsunterlagen und einer Runde erneutem Boarding-Pass drucken wird klar: "ja also äääh ja, hier ist ihr korrekter Boarding Pass für den gebuchten Flug hier in City". Ernsthaft? Dilettanten!!! Für so einen verdammten Wucherpreis erwarte ich einfach einen fehlerfreien Service!!!

Nun gut, wieder mal nach Singapur... Ich wäre ja mit den Arabern in ihren fliegenden Kinos hin. Aber mein Begleiter insistierte in Swiss, weil ist 20.- günstiger (vor Platzreservation für 20.-...). Tatsächlich war ich dann nach dem Hinflug schon fast wieder ein klitzekleines Bisschen versöhnt. Aber ich musst ja erst noch zurück...
Mein Flug war gebucht für den 5.11. um 23:50. Am 3.11. bekam ich ein Mail von Swiss, worin stand, dass ich jetzt Auto-Eingecheckt sei. Ohne Angabe von Flugzeit oder irgendwas... Auf dem Weg zum Flughafen nochmals Terminal und Zeit gecheckt... ah, Flug geht um 0:05, also 15 Minuten später. Völlig easy.
Am Checkin-Schalter der Dame den Pass gereicht... sie beginnt zu tippen... fängt an energischer zu tippen... ich werde langsam nervös... sie haut noch heftiger in die Tasten... und konsultiert dann eine Liste, bestehend aus zwei dicht bedruckten A4 Seiten voller Namen... und meint dann "äh ja, Ihr Flug ging um 0:05. Also am 5.11. um 0:05". wait, what? Swiss verschiebt also meinen Flug um 23 Stunden und 45 Minuten vor? Ja, das sei so. Weil ja jetzt in Europa völlig überraschend seit letztem Wochenende die Sommerzeit vorbei sei, wären die Flugzeiten angepasst worden. Und nein, sie wisse nicht, warum man die störende Fracht Kunden nicht darüber informiert. Aber am Ticketschalter könne man mir weiterhelfen.

Also... jede fucking No-Frills-Airline aus einem Drittweltland bringt es fertig mir ein Mail zu senden, wenn sich die Flugzeit um eine Minute ändert, inklusive der Möglichkeit, den Flug zu ändern oder stornieren. Und in jedem Checkin-Bestätigungsmail befindet sich eine genaue Angabe, wann mein Flug eigentlich ginge. Aber eine selbsternannte sogenannte Premium-Airline kann das nicht.

Der Ticketschalter hat mir dann weitergeholfen. Ich dachte ja, dass ich jetzt nochmals vierstellig drauflegen muss, um nach Hause zu kommen. Tatsächlich wurde ich aber kostenlos (na immerhin) doppelt hochgestuft (so ist's recht): Statt einem Boeing-Schüttelbecher gab's einen ruhig fliegenden A380 und statt Grusel-Swiss durfte ich bei der schicken Singapore Airlines mit. Deren Pilot liess sich übrigens nicht den eindeutig formulierten Kommentar verkneifen, dass man "die Gäste vom Codesharing-Partner" begrüsse.

Fazit: So ein Dilettantenverein hat mein hart erarbeitetes Geld (wovon sie schon zu viel bekommen haben) nicht länger verdient. Nie wieder mit dem Saftladen, nur noch mit anständigen Airlines.

Flugscham? Oh ja! Schäme dich, Swiss, schäme dich! Und mach das Schweizerkreuz von der Heckflosse weg. Das Schweizerkreuz steht für Qualität, nicht Schrott und Kundenverarsche!

Mal schnell mit dem Zug in die Ferien...

^ v M ><
Geh mit dem Zug in die Ferien, sagen sie. Ist besser für die Umwelt, sagen sie. In Europa überhaupt kein Problem, sagen sie.

OK, testen wir das mal. Hallo SBB-Website, ich würde gerne nach Prag fahren. Oh cool, direkter Nachtzug von Freitag auf Samstag hin, mit nur einmal Umsteigen Sonntag auf Montag zurück? Cool! Was kostet denn das?
Ooooh, online können sie mir das nicht sagen, ich soll doch anrufen (für nur 8 Rappen pro Minute). Oder beim Bahnhof vorbeigehen. Oder einfach das Online-Formular für eine Offerte ausfüllen. OK, nicht ganz toll, aber ich bin ja geizig und habe keine Zeit, also her mit dem Formular... Nach 5 Minuten Daten eintippen: äääh ja sorry, aber du musst für 8 Rappen pro Minute anrufen oder an den Bahnhof gehen. Weil mit dem Formular hast du jetzt genau noch die Auswahl zwischen "bestellen" ohne den Preis zu kennen. (richtig kein "zwischen bestellen und sonst was", denn da ist nur ein Radio-Button... und der Text ist versteckt... WTF?):

Der versteckte Text besagt: Ich möchte definitiv bestellen (Hinweis: Bezahlung per Kreditkarte, Bearbeitungszeit 48 Stunden, keine Sparbillette).


Na gut, Prag, geht ja mit der ÖBB, kannst ja bei den Ösis kaufen, wird wohl eh günstiger sein. hmmm... also, deren Webshop geht schon mal gar nicht auf dem Mobiltelefon. Also nix mit Sofashopping, zurück an den PC. Auch gut... der direkte Nachtzug wird mir von den Ösis für die Hinfahrt überhaupt nicht angeboten. Die beste Verbindung ist mit einmal Umsteigen in irgend einem Kaff in Tschechien. Na gut. Der Preis dafür: "Ticket nicht verfügbar". Vielleicht ausgebucht, wie wär's in einer Woche? Auch nicht. In zwei Monaten? Nope. Immerhin: für die anderen Verbindungen mit vier mal Umsteigen gibt's mal so die Ansage so im Preisrange von 27-97 Euro einweg sowie mit der Einschränkung "Ticket für Teilstrecke". Wäre interessant, wenn ich nicht dauernd aufstehen und um Anschluss zittern müsste (Anschluss? In Österreich? Gerne um 19:38... ha ha, Schenkelklopf).

Rein zum Vergleich, was kostet der Flieger? 10 Sekunden später weiss ich, dass mich ein Wochenende 168 Franken kosten würde. Leider mit Swiss (und beim Rückflug umsteigen in Genf), also streichen wir Prag mal von der Liste der Ferienziele.

Wie wär's stattdessen mit London? Gibt ja da den coolen Eisenbahntunnel unter dem Meer. Wieder zurück zur SBB-Webseite. Ja auch hier werde ich gebeten, das Offertenformular auszufüllen. Auch hier habe ich zuletzt die Wahl zwischen "bestellen" zu unbekanntem Preis. Oder anrufen für teuer Geld. Oder vorbeikommen, mit viel Zeit und Geduld. Hmpf, dann halt doch wieder mit dem Flieger. Der kostet, das hat wieder nur 10 Sekunden gedauert, weniger als 200 Franken hin- und zurück.

Und sonst halt zuhause bleiben. Kommt günstiger. Oder an die immer gleichen Orte fahren, zu denen man tatsächlich im Jahre 2019 online einen Zug buchen kann. Ernüchternd.

Bye Bye ICQ

^ v M ><
oh-oh! Nachdem ICQ schon vor einigen Monaten das Protokoll mal wieder geändert hatte und dadurch mein XMPP-to-ICQ-Transport nicht mehr funktionierte, habe ich heute Morgen aufgeräumt und ICQ komplett entsorgt. Die verwendete Transport-Software pyicqt wird seit 11 Jahren nicht mehr weiterentwickelt, da besteht keine Hoffnung auf Wiederbelebung.

Zeit, ein Kapitel endgültig abzuschliessen. Und wieder einmal das Mantra zu wiederholen: Nutzt freie Protokolle!

Der traurige Zustand der Videotelefonie

^ v M ><
Wir schreiben das Jahr 2018 und Videotelefonie... funktioniert noch immer nicht richtig, obwohl seit 20 Jahren davon geredet wird, dass dies DAS grosse Ding sei. Nun ja, ich habe so gut wie alle Programme durchprobiert, kaum eines erfüllt die Kriterien für eine vernünftige Verwendung.

Welche Kritieren? Nun, mir fallen da mal folgende Pflichtpunkte ein:
  • Ein Anruf muss überhaupt möglich sein. D.h. es muss auf der Gegenseite zeitnah klingeln, der Anruf muss entgegengenommen werden können, man muss das Gegenüber sehen und hören können. Natürlich beidseitig.
  • Verständliche Kommunikation. Nicht nur Rauschen.
  • Unterstützung diverser Tonausgabegeräte: Lautsprecher, Ohrhörer, kabelgebundenes Headset, Bluetooth-Headset sowie fliegender Wechsel dazwischen

Daneben gibt es noch ein paar Punkte zur Kür:
  • Berücksichtigung von Privatsphäre (LOL der war gut, ne?)
  • Freie Software (wird immer besser, was?)
  • Eigene Infrastruktur oder P2P (wer hat noch keine Bauchschmerzen vom Lachen?)
  • Unterstützung mehrerer Gerätekategorien und Betriebssysteme

Welche Produkte gibt es denn, die Videotelefonie anbieten? So auf Anhieb fallen mir ganz viele ein: Skype, Facetime, Viber, WeChat, Line, Nextcloud Talk, Linphone, Jitsi, Google's Messenger des Tages (Heute glaubs Duo, gestern Hangouts, war da nicht mal noch ein Allo?), WhatsCrap, Facebook Messenger, Wire, Ring...

UND DOCH TAUGT KEINER!!!

Hier mal ein paar im Detail angeschaut:

WeChat
Derzeit mein Favorit. Da es mir egal ist, ob die Chinesen oder die Amis mithören (besser wäre: keiner hört mit), kann man dem anstelle von Skype und WhatsCrap mal eine Chance geben. Auf der positiven Seite:
  • Anrufe funktionieren.
  • Sehr gute Bild- und Tonqualität
  • Speaker und Bluetooth-Headset funktionieren, ein Wechsel ist jedoch nur möglich, indem mal das Bluetooth-Headset ausschaltet bzw wieder mit dem Telefon verbindet
Die Schattenseiten:
  • Stumm stellen nicht möglich
  • Die Volksrepublik China hört wohl mit
  • Bloat... die App belegt 500MB und frisst die Batterie in nullkommanix leer
  • Desktop-Anwendung nur für proprietäre Systeme
  • Proprietäre Software

Nextcloud Talk
Auf Platz zwei kommt Nextcloud Talk. Diese Anwendung ist noch relativ jung und bietet daher noch nicht all zu viele Features, funktioniert jedoch mit korrekt aufgesetzter Infrastruktur erstaunlich gut. Mein Problem hier ist, dass mein Nextcloud-Server in meinem LAN steht, wodurch sich folgende Einschränkung ergibt: Es funktioniert, wenn beide Teilnehmer bei mir Zuhause sind (witzlos, meine Wohnung ist nicht sooo gross) oder beide Teilnehmer NICHT bei mir Zuhause sind, was zumindest in meinem Fall halt nur teilweise zutrifft. Alternativ müsste ich eine zweite Nextcloud-Installation ausserhalb meines LANs betreiben, wodurch sich der Administrationsaufwand verdoppelt.
Daher auf der positiven Seite:
  • Anrufe funktionieren.
  • Sehr gute Bild- und Tonqualität
  • Speaker und Bluetooth-Headset funktionieren
  • Freie Software, eigene Infrastruktur möglich
  • Sichere Kommunikation ohne Einschränkung der Privatsphäre
  • Phone-App und auf dem Desktop zumindest eine Browser-Anwendung, die dafür Betriebssystemunabhängig funktioniert.
Leider für die Allgemeinheit ungeeignet, denn:
  • Komplexe Konfiguration

Skype
Vor ein paar Monaten wäre Skype noch zuoberst auf dem Treppchen gestanden, heute reicht's noch mit Müh und Not zu Bronze... Skype wird mit jedem Update massiv schlechter. Vor einigen Jahren noch das alternativlose (<insert Merkel-Raute here>) Nonplusultra der Kommunikation, das auch auf der lumpigsten Internetverbindung noch etwas verstehbares durchsenden konnte, kann man heute froh sein, wenn überhaupt noch irgend etwas daran so tut wie es mal tat. Wer kam zum Beispiel auf die hirnverbrannte Idee, dass man die Gegenseite automatisch leiser stellen muss (bis hin zum Tonaussetzer), wenn bei mir im Hintergrund Lärm herrscht?
Verbliebene positive Punkte:
  • Anrufe funktionieren. Meistens.
  • Speaker, Ohrhörer und Bluetooth-Headset funktionieren und man kann dazwischen per Tastendruck wechseln (ultimatives Exklusivfeature von Skype)
  • Desktop-Anwendung, sogar für Linux (wenn auch proprietär, nur für x86 Architekturen, und liesst angeblich /etc/shadow aus...)
  • Businessfeatures wie Screensharing
Dagegen sprechen:
  • Bild- und Tonqualität werden immer schlechter. Wird die Qualität durch Verbindungsaussetzer reduziert, erhöht sie sich im Verlauf des Gesprächs nicht mehr. Man muss neu anrufen.
  • Viele Verbindungsabbrüche.
  • NSA, CIA und vermutlich zwei Dutzend weitere Ami-Geheimdienste hören mit
  • Gehört Microsoft
  • Proprietäre Software

Wire
OpenSource-App aus der Schweiz, die leider hinten und vorne nicht funktioniert... Während es zwar löblicherweise ein betriebssystemunabhängige Webanwendung gibt, funktionieren Anrufe nur von Browser zu Browser oder App zu App - nicht aber von Browser zu Telefon-App. Doof.
Daher verbucht es folgende Pluspunkte:
  • Freie Software
  • Anrufe funktionieren mit Einschränkungen
Die konterkariert werden:
  • Bluetooth-Headset funktioniert nicht. Schlimmer: Ist ein Bluetoot-Headset verbunden, erfolgt keine Ein- und Ausgabe jeglicher Töne.

Line
Japanischer Messenger, der ganz viele ganz tolle niedliche Sticker mitbringt und in Asien dadurch der totale Renner mit fanatischer Fanbase ist. Leider für Videotelefonie gänzlich ungeeignet:
  • Bluetooth-Headset funktioniert nicht
  • Im Speaker-Mode gibt es üble Rückkopplungen, da anscheinend keine Echo-Cancellation eingebaut ist
  • Somit kann man es nur mit einem kabelgebundenen Headset nutzen.
  • Dazu ist es hochproprietäre Bloatware

Viber
Auch so ein krudes Ding. Auf meinem damaligen Gerät funktionierten weder Speaker noch Headsets, so dass ich das Telefon ans Ohr halten musste, um den Gegenüber zu hören. Das Gegenüber sieht dann genau nur mein Ohr und ich gar nix vom Gegenüber... Das ist nach meinem Verständnis nur sehr bedingt der Sinn und Zweck der Videotelefonie.
Immerhin:
  • Anrufe funktionieren... mit heftigen Einschränkungen
  • Es gibt eine Desktop-App... sogar für Linux! Leider ist alles wieder einmal proprietäre Bloatware
Dagegen sprechen:
  • Bescheuerte Ausgabegeräteunterstützung
  • Angeblich auch so ein Privatsphäreschwein

Ring
Per se ja ein cooles Konzept, einen Videoanruf-Messenger rein dezentral per DHT zu realisieren. Keine Infrastruktur nötig, Zensur und Überwachung sind massiv erschwert. Leider kommt das dann mit dem Nachteil, dass es auch mal 5 Minuten dauern kann, bis es beim Gegenüber endlich klingelt. Das ist doch etwas gar lange. Aber hey: Immerhin funktioniert was. Dafür, dass es ein Einmann-Projekt aus Frankreich ist, eigentlich eine respektable Leistung. Weitere Bonuspunkte gibt es für OpenSource und eine Desktop-Anwendung für alle Betriebssysteme. Fazit: praktisch nicht brauchbar, auf jeden Fall aber Wert, weiter beobachtet zu werden.

Facetime
Yeah right, ich kauf mir pro Teilnehmer ein iPhone für 1000 Stutz. Ge-nau. Sorry Apple, diese initialen Kosten nur für ein Bisschen Blabla und Winkewinke sind mir dann doch zu hoch.

Linphone
Wenn schon der Anruf von Telefon zu Telefon nicht klappt (einfach weil's nie klingelt)... Dann... äääh... leider nein.

Jitsi
Seit 10 Jahren keine neue Zeile Code? Dann ist es nur eine Frage der Zeit, wie lange es überhaupt noch funktioniert. Von Sicherheit rede ich da gar nicht erst.

Google's Messenger des Tages
Wenn ich die App häufiger wechseln muss, als ich Anrufe tätige, dann ist das auch eher kontraproduktiv. Also nein.

WhatsCrap
Nein. Nein. Nein. Aus Gründen.

Facebook Messenger
Nein. Nein. Nein. Aus Gründen.

Firefox-Einstellungen für Sicherheit und Privatsphäre

^ v M ><
Neulich hat Debian (endlich...) ein Upgrade von Firefox ESR 52 auf Firefox ESR 60 durchgeführt. Das hat wie so viele Updates gute und schlechte Seiten. Positiv ist, dass ein aktueller und flotter Browser installiert wird. Negativ ist, dass nun fast alle meine Addons nicht mehr verfügbar sind.

Während das Update auf dem Laptop problemlos funktionierte, hat es mir auf dem Desktop das Browserprofil so zerschossen, dass sich Firefox partout nicht mehr dazu bewegen liess, eine Website aufzurufen (nicht mal von 127.0.0.1). Eine gute Gelegenheit, frisch anzufangen und die Einstellungen nochmals zu prüfen - und die Modifikationen hier zu notieren, damit ich sie beim nächsten Mal wieder finde und jemand dies für irgendjemanden von Nutzen ist.

Firefox modifiziere ich aus drei Gründen: Für bessere Benutzbarkeit, Performance und Sicherheit/Privatsphäre. Hierzu installiere ich ein paar (hoffentlich vertrauenswürdige) Plugins und passe einige Einstellungen in der about:config an.

Als Addons unverzichtbar sind NoScript und uBlock Origin (eigentlich wäre mir Request Policy lieber, aber das wurde ja von Firefox durch das Update getötet). Mir geht es weniger darum, lästige Werbung auszublenden. Ich habe nichts gegen Werbung, wenn sie direkt vom Website-Betreiber gehostet wird (kein Tracking) und nicht aufdringlich ist (ergo: statische Bilder). Aber Werbenetzwerke wurden auch schon von Bösewichten dazu missbraucht, Schadsoftware auf an sich vertrauenswürdigen Webseiten zu verbreiten (siehe z.B. hier... Link geht bewusst zum Verursacher). Es ist somit reine Selbstverteidigung.
Nach wie vor auf der Suche bin ich nach einem Addon zur Verwaltung von Cookies, da auch Cookie Controller nicht mehr funktioniert.

Die Benutzbarkeit optimiere ich durch folgende Einträge in der about:config:
accessibility.typeaheadfind.flashBar;0
browser.bookmarks.showMobileBookmarks;true
browser.feeds.handlers.application;/usr/bin/akregator
browser.tabs.closeWindowWithLastTab;false
browser.tabs.loadBookmarksInTabs;true
browser.urlbar.formatting.enabled;false
browser.urlbar.suggest.openpage;false
browser.urlbar.trimURLs;false
dom.disable_window_open_feature.toolbar;true
network.proxy.autoconfig_url;http://xxx/wpad.dat # nur auf Desktop
network.proxy.type;2 # nur auf Desktop
pdfjs.disabled;true

Für die Performance wird der Disk-Cache in eine RAM-Disk verschoben, das schont auch die SSD. Da mein /tmp eh schon in einer RAM-Disk liegt, bietet sich das an. Das ist zwar eine leichte Schwächung der Systemsicherheit, da /tmp per se allen Nutzern einsehbar ist. Da ich aber keinen shared Unix-Mainframe sondern eine Workstation nur für mich selbst habe, bleibt die Auswirkung in überschaubahrem Rahmen:
browser.cache.disk.parent_directory;/tmp
Als winziger Bonus wird auch die Privatsphäre minimal gesteigert, da der Disk-Cache somit nach einem Neustart des Computers definitiv gelöscht ist. Somit lassen sich Cache-Timing-Trackings reduzieren - eine eh schon eher esoterische Schnüffelmethode. Alternativ kann der Disk-Cache natürlich auch ganz deaktiviert werden.

Zu guter letzt wird noch die Privatsphäre gegenüber Mozilla und Google gesteigert. Dazu werden jede Menge unnötige Cloud-Dienste von Mozilla deaktiviert. Ebenfalls wird Google Safebrowsing ausgeschaltet. Dies weniger wegen Privatsphärebedenken, denn unter Berücksichtigung der Funktionsweise dieser Datenbank ist diese trotz Google-Herkunft tatsächlich relativ wenig bedenklich. Aber ich stelle den Nutzen in Frage. Ein aktuell gehaltenes Linux und ein Bisschen Vorsicht beim wild herumklicken bringt mehr Sicherheit als (potentiell veraltete und unvollständige) URL-Listen. Ausserdem spart dies Bandbreite und Festplattenplatz, da die Safebrowsing-Datenbank doch mehrere Gigabyte gross ist.
beacon.enabled;false
browser.pagethumbnails.capturing_disabled;true # neu zu erstellen
browser.safebrowsing.blockedURIs.enabled;false
browser.safebrowsing.downloads.enabled;false
browser.safebrowsing.downloads.remote.block_dangerous;false
browser.safebrowsing.downloads.remote.block_dangerous_host;false
browser.safebrowsing.downloads.remote.block_potentially_unwanted;false
browser.safebrowsing.downloads.remote.block_uncommon;false
browser.safebrowsing.downloads.remote.enabled;false
browser.safebrowsing.malware.enabled;false
browser.safebrowsing.phishing.enabled;false
browser.search.suggest.enabled;false
captivedetect.canonicalURL;http://xxx/success.txt # nur auf Laptop
datareporting.healthreport.service.enabled;false
extensions.blocklist.enabled;false
extensions.getAddons.cache.enabled;false
extensions.screenshots.disabled;true
extensions.screenshots.upload-disabled;true
geo.enabled;false
network.captive-portal-service.enabled;false # nur auf Desktop
startup.homepage_welcome_url;
toolkit.telemetry.unified;false
toolkit.telemetry.coverage.opt-out;true # neu zu erstellen
Eine gute Beschreibung vieler dieser Punkte sowie einige weitere Einstellmöglichkeiten finden sich in dieser grossartigen Anleitung.

Als weiteren Punkt in der Privatsphäre passe ich meine Cookie-Speicherdauer an und aktiviere den Do-Not-Track-Header:
network.cookie.lifetimePolicy;2
network.cookie.cookieBehavior;1
privacy.donottrackheader.enabled;true
Diese drei Anpassungen sind auch komfortabel per Maus über die Einstellungen erreichbar. Cookies werden akzeptiert, jedoch nicht von von dritten. Beim Schliessen des Browsers werden alle Cookies gelöscht. Dies ist ein guter Kompromiss zwischen Verfolgbarkeit einschränken und Webseiten benutzbar erhalten, ohne übermässig lange Ausnahmelisten führen zu müssen.

Zur Verbesserung der Sicherheit wird der Zugriff auf die Zwischenablage gestutzt:
dom.event.clipboardevents.enabled;false
dom.allow_cut_copy;false

Gibt es noch brauchbare Mobiltelefone?

^ v M ><
So, dieses Jahr hatte ich ja schon viel Spass mit Telefonen. Erst verreckt das Samsung S5 mal so ganz spontan in den Ferien. Als Ersatz gab es dann das günstigste vor Ort erhältliche Telefon (Neo Spark), welche sich als Zwischengerät ganz gut macht, aber langfristig nicht brauchbar ist (zu schlechtes Display, zu lahmer Prozessor). Dann spinnt plötzlich mein noch keine zwei Monate altes Moto Z...

Aber wenn ich jetzt schon frustriert losrante, dann richtig. Holen wir also zum Rundumschlag gegen die Elektroschrotthersteller aus. In Sachen mobiler Kommunikations- und Unterhaltungszentralen mit staatlicher Komplettüberwachungsschnittstelle hat man heute grundsätzlich die Wahl zwischen teuren und billigen Geräten. Und die sind in ihren Vor- und Nachteilen diametral gegensätzlich.

Billige Geräte haben neben dem tiefen Preis ihre Vorteile:
+ SD-Kartenslot
+ DualSIM
+ Klinkenbuchse für Kopfhörer
+ wechselbare Akkus
+ weitgehend unmodifiziertes Android
+ relativ robuste Bauweise
Aber irgendwie müssen die niedrigen Preise gerechtfertigt werden:
- mieses Display, wovon man blind wird. Dazu ist die Auflösung so gering, dass diverse Apps nicht installierbar sind.
- lahmer Prozessor und wenig RAM
- keine Android-Sicherheitsupdates (sell&forget)
- meist kein 4G oder andere brandaktuelle Funkübertragungsmodi

Teure Geräte weisen hingegen folgende Pluspunkte auf:
+ gutes Display mit hoher Auflösung, schöner Farbwiedergabe und Lesbarkeit bei Tageslicht draussen
+ zeitgemäss schneller Prozessor
+ mit etwas Glück während bis zu zwei Jahren alle paar Monate ein Android-Sicherheitsupdate, das ausgewählte Sicherheitslücken stopft
+ mit noch etwas mehr Glück gibt es alternative ROMs, die auch noch Jahre später im Wochentakt Updates veröffentlichen
Doch nicht alles was glänzt ist Gold:
- fest verbauter Akku mit viel zu kurzer Laufzeit
- SD-Kartenslot wird zum selten gewordenen Fundstück
- DualSIM? Vielleicht gegen ganz happigen Aufpreis. Und dann nur im Austausch gegen die SD-Karte
- grausam verunstaltete und unbedienbare Herstelleroberfläche (die dann als Ausrede dafür dient, Sicherheitsupdates viel zu spät oder gar nicht zu veröffentlichen)
- tonnenweise unnütze, nicht deinstallierbare Bloatware, welche den internen Speicher vollmüllt
- immer öfter eine fehlende Klinkenbuchse
- filigran-empfindliche Bauweise (Displays gehen bis über den Rand, Komponenten mangelhaft verbunden, Elektronik geht schon beim Anschauen kaputt)

Doch mal kurz der Reihe nach. Was war mit dem S5? Das Display hatte schon länger einen Wackelkontakt, nachdem das Telefon einen Sturz aus 80cm Höhe auf einen Turnhallenboden (die sind relativ weich...) erdulden musste. Es ist mir in sitzender Position aus der Hosentasche gefallen. Und ein paar Monate später so mitten in Dubrovnik beschloss der Wackelkontakt jetzt permanent keinen Kontakt zu geben. Da ich LineageOS installiert hatte, war natürlich auch die Garantie futsch. Die Reparatur würde gleich viel wie ein Neugerät kosten. Also ab in die Tonne damit.

Was war nun mit dem Moto Z? Nun, Ich war wieder einmal unterwegs und hatte grobfahrlässigerweise vergessen, ein Backup-Telefon mitzunehmen. Das Gerät wurde auf dem Flug von Zürich nach Dubai noch etwas zum Musikhören (Musik liegt auf der SD-Karte) genutzt. In Dubai habe ich den Anschlussflug gesucht und dafür mit dem Telefon auf der Flughafenwebseite das Gate ausfindig machen wollen. Plötzlich zeigt Firefox keinen Inhalt sondern nur noch eine schwarze Fläche an. Hmm, na gut, Flughafenseite futsch? Nein, tritt auch sonstwo auf. Also gut, Firefox neu gestartet. Problem bleibt. Na schön, Methode Windows angewendet und das Telefon neu gestartet. Ganz dumme Idee. Ab jetzt hängt das Gerät im Reboot Loop. Per Zufall in den Bootloader gelangt. Cache Reset. Nützt nix. hmmm. Schweren Herzens Factory Reset durchgeführt. Nützt nix. Also gut, SIM/SD-Tray raus. Geht wieder. FUCK YOU! Herumgespielt. Mit SD ohne SIM: Reboot Loop. Mit SIM ohne SD: startet.
Na schön, dann müssen wir halt den ganzen Drecksmüll wieder neu installieren, um das Gerät wieder benutzen zu können. Aber nein, das geht nicht. Das Flughafen-Wifi verlangt Authentifizierung. Der Setup-Manager kann aber keine Wifi-Login-Portalseiten anzeigen und weigert sich ohne funktionierende Internetverbindung das Gerät einzurichten. Überspringbar ist er auch nicht, es muss zwingend ein Google-Konto hinzugefügt werden. Danke Google. Danke Motorola. Alle Daten umsonst verloren und das Telefon taugt bis auf weiteres nur noch als Briefbeschwerer.
Immerhin: Das Herstellerandroid ist nicht komplett unbenutzbar, so dass ich es bislang ohne LineageOS ausgehalten habe. Daher ist noch Garantie drauf. Mal schauen, wie viele Monate es dauern wird, den Rotz repariert zu bekommen.

War denn nun die SD-Karte kaputt? Nein, ein Test unter Linux und einem anderen Android-Telefon zeigt, dass die Karte einwandfrei ist. Im Gegentest mit anderen SD-Karten bleibt der Bootloop reproduzierbar. Aber selbst wenn: Es darf nicht sein, dass wegen so einer Lappalie wie eine(r/m) defekten SD- oder SIM-Karte(nslot) das System anfängt merkwürdige Verhaltensweisen zu zeigen oder sogar nicht mehr starten kann. Das ist eindeutig ein Versagen der Entwickler von entweder Google oder Motorola oder beiden. Jedes lumpige Desktop-Betriebssystem bekommt es fertig, bei fehlerhaften externen Datenträgern noch irgendwie zu starten, oder zumindest eine halbwegs aussagekräftige Fehlermeldung auszugeben. Sogar Windows kann das seit 20 Jahren.

Da das Gerät gerade mal zwei Monate alt geworden ist, kann ich nur spekulieren, dass der für geplante Obsoleszenz zuständige Entwickler bei Motorola geschlampt und sich in der Einheit vertan hat. Statt zwei Jahre bekam der SD-Slot somit halt nur zwei Monate. Handkehrum stellt Google hunderte Entwickler an, die als Einstellungsvoraussetzung über einen Doktortitel verfügen müssen, zahlt denen 200'000 Franken Einstiegsgehalt und dann sind diese Leute offenbar allesamt zu dumm zum Scheissen. Das kann doch alles nicht wahr sein! Android 2017 ist schlimmer als Windows 95! In jedem Aspekt!

Leider gibt es aber auch keine Alternative zu Android. Die ganzen Hoffnungsträger sind bereits eingestampft (Maemo, FirefoxOS, Ubuntu Phone), kommen nicht in die Puschen (Jolla), liegen im Sterben (Windows, Blackberry) oder sind proprietär (Apple, Windows, Blackberry). Bei den iPhones kommt noch dazu, dass die von vorneherein ohne SD-Kartenslot daherkommen.

So langsam muss ich mir überlegen, nicht aus einem Raspberry Pi, einem UMTS-Stick und einem Batteriepack etwas selber zusammenzufummeln. Das macht dann wenigstens, was ich will und ist einfach reparierbar (wenn auch unhandlich, unpraktisch und unsexy). Oder ich muss mit Herrenhandtasche gefüllt mit dedizierten Geräten für jeden Zweck das Haus verlassen. Zumindest fällt dann in der Regel nur ein Drittel des Geräteparks (Musikplayer, Kamera, Telefon) auf's Mal aus.

VIM in Debian Stretch: copy/paste flicken

^ v M ><
Debian Stretch ist zwar nach wie vor testing, aber dank Feature Freeze habe ich gewagt erste Maschinen damit zu installieren. Leider gibt es noch vieles, das nicht wirklich rund läuft.

Eines davon ist vim (vi improved), bei dem plötzlich copy/paste per Maus nicht mehr funktioniert. Die Lösung war letztlich trivial, aber mühsam genug zu finden:

Erstelle eine Datei /etc/vim/vimrc.local mit folgendem Inhalt:
set mouse=
set ttymouse=
set paste
set noai

Quelle siehe hier und hier.

Nationalpark Plitvicer Seen

^ v M ><
Plitvicer Seen
Per Mietauto ging es auf brandneuen, gut ausgebauten und verkehrsarmen kroatischen Autobahnen zügig in Richtung Plitvice weiter. Diese Autobahnen verdienen durchaus etwas Berücksichtigung, denn dank hoher Mautgebühren gibt es nur wenige Fahrzeuge - davon hat aber die Hälfte ein Schweizer Kennzeichen.



Grosser Wasserfall
Gehweg
Plitvice und Umgebung besteht aus ein paar kleinen Dörfern, vielen Hotels, ein paar wenigen Restaurants und dem grössten Nationalpark Kroatiens. Zu sehen gibt es dort jede Menge grossartiger Natur... und natürlich noch grössere Mengen weitere Touristen. Für eine nicht zu geringe Eintrittsgebühr bekommt man eine gewaltige Menge an Seen und Wasserfälle, die per gut ausgebauten Wegen erreichbar sind.


Wasserfall
Wasserfall
Wasserfall
Wasserfall

Sveti Rok
Der Wege von und zu Plitvice führt auch vorbei am bemerkenswerten Berg "Sveti Rok"... Schön anzusehen ist er jedenfalls.



Um nach so viel Natur nicht das Gefühl für die kroatischen Städte zu verlieren, führte der Weg zurück über Trogir. Auch dies ist wieder ein wunderschönes, kleines, malerisches Städtchen am Meer. Die Altstadt liegt auf einem kleinen Inselchen, welches zwischen Festland und einer etwas grösseren Insel eingekeilt ist. Sie verfügt über Brücken, Burganlagen, Klöster und Restaurants mit ausgezeichnetem Essen.
Trogir von der Burg
Burg von Trogir
Klosterkirche
Burg mit Flugzeug

Split - Mehr Ruinen und Thröne

^ v M ><
Split von oben
Von Dubrovnik ging's wieder zurück nach Split - diesmal um auch etwas dort zu bleiben. Die Meinungen zu dieser Stadt gingen massiv auseinander von "grauenhaft" bis "fantastisch". Höchste Zeit, sich selbst ein Bild davon zu machen.


Keller des Palasts
Sphinx
Split ist nicht primär eine Touristendestination wie Dubrovnik, sondern eine funktionale Stadt und lokaler Knotenpunkt. Allerdings ist die Architektur sehr faszinierend, da die Gegend schon von den Römern besiedelt und überbaut wurde. Deren Bauwerke wurden über das Mittelalter bis hin in die Neuzeit weiterhin genutzt und fortlaufend modernisiert und angepasst. So stehen noch viele Fundamente und Mauern aus römischer Zeit, worauf ein mittelalterliches Gebäude gesetzt wurde, welches mit modernen Annehmlichkeiten ausgestattet wurde. Und inmitten davon steht eine Kirche... die von einer 3500 Jahre alten, ägyptischen Sphinx bewacht wird.

Amphitheater
Salona
Das alleine ist schon spannend, aber letztendlich ist Split klein genug, um es in einem Tag zu sehen. Doch auch das nähere Umland hat Geschichtsinteressierten einiges zu bieten. Zum einen gibt es die Ruinen der Römerstadt Salona, von welcher besonders das Amphitheater hervorzuheben gilt.

Klis komplett
Klis Übersicht
Ein Bisschen weiter draussen befindet sich die Ruine der Burg Klis, Diese ist einfach nur gewaltig gross und sogar von weit draussen im Meer zu sehen. Entsprechend lohnt sich auch der Ausblick von oben. Oh, und natürlich wird auch diese als Drehort für Game Of Thrones verwendet... was allerdings weniger an die grosse Glocke gehängt wird als in Dubrovnik.

Hvar
Budikovac
A propos Meer: Davon gibt es rund um Split auch genug. Tagestouren führen zu den wichtigsten Destinationen wie z.B. der blauen Höhle von Biševo (nur sehenswert bei Sonnenschein, wovon es glücklicherweise genug gab), ins sehenswerte Vis oder das paradiesische Hvar, welches ebenfalls mit einer gewaltigen Burg aufwarten kann. Mit etwas Glück sieht man sogar ein paar Delfine. In Anbetracht der Attraktionen und des kristallklaren Wassers der Adria muss ich definitiv nochmals dorthin. Dann allerdings mit der Tauchausrüstung im Gepäck.

Gasse in Split
Gregor von Nin
Alte Mauern
Klis von unten
Delfin
Burg Hvar
Blaue Höhle
unter Wasser