Skip to content

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

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.

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 ><
Posted by Lukas on
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=

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

Dubrovnik - Game Of Thrones

^ v M ><
Dubrovnik von Lovrijenac
Panorama
Von Mostar ging es per Bus nach Dubrovnik. Diese Busfahrt war deutlich weniger Vorurteilsbestätigend, da der Bus pünktlich abfuhr und der Fahrer einen sehr zivilisierten Fahrstil hatte. Dubrovnik ist schon deutlich touristischer als Mostar, was sich insbesondere bei der Verpflegung niederschlägt. Die hiesigen Cevapi hier waren die wenigst schmackhaften auf der ganzen Reise. Dafür gab es guten Fisch und die Glace-Portionen waren so gross, dass sie dies wieder wettmachen konnten.

Hauptstrasse
Festung Lovrijenac
Die Stadt hat letzter Zeit grössere Bekanntheit durch Filmaufnahmen für "Game Of Thrones" erlebt und stellt dank ihrer sehr gut erhaltenen mittelalterlichen Altstadt die Kulisse für zahlreiche Orte in der Saga. Dementsprechend wird dies kräftig beworben. Genau wie Mostar hat leider auch diese Stadt Kriegsschäden erlitten, welche noch nicht überall behoben sind.

Blick von der Mauer
Altstadt-Gasse
Natürlich darf man sich einen Stadtrundgang nicht entgehen lassen. U.a. muss man auch auf den Stadtmauern spazieren und die Festung Lovrijenac besteigen. Diese kosten leider relativ viel Eintritt, doch es empfiehlt sich die Dubrovnik-Karte zu lösen. Diese kostet nur wenig mehr als die Mauern alleine und enthält Eintritte in diverse Museen (wobei längst nicht alle davon die Zeit wert sind...) sowie eine Tageskarte für den Bus. Für eine Küstenstadt ist Dubrovnik erstaunlich hügelig und bietet viele enge, verzweigte und malerische Gassen und Treppen, die auf Erforschung warten.

Blick von Srd
Hafen, St Ivan, Lokrum, Kirchen, Dächer
Ein weiteres Ausflugsziel stellt der Hausberg Srd dar, welcher per Seilbahn erschlossen ist. Neben einem fantastischen Ausblick über die Stadt und die Adria-Inseln befindet sich dort die Ruine einer Festung, welche von Napoleon gebaut wurde. Leider ist diese stark beschädigt und ist daher kaum zugänglich.

Pfau auf Lokrum
Blick zurück
Mindestens so lohnenswert ist die Insel Lokrum, welche per Fähre in wenigen Minuten zu erreichen ist. Neben einem weiteren GoT-Drehort befinden sich dort ein verlassenes Kloster, eine weitere Festung und ein botanischer Garten. Die Gegend rund um das Kloster ist von Pfauen und Hasen besiedelt. Wer plant, ein Picknick auf der Insel zu essen, sollte sich an einen Strand oder zur Festung begeben. Ansonsten wird man von den Pfauen bedrängt und von den Hasen gejagt. Jawohl, die Hasen auf Lokrum sind Jäger und nicht Gejagte! Womöglich liessen sich Monty Python an diesem Ort zu ihrer Bestie inspirieren...

Hier noch ein paar Eindrücke von Lokrum:
Totes Meer
Salzpfannen
Felsloch

Mostar - Ruinen, Cevapi, Rosmarin und eine Brücke

^ v M ><
Die Brücke
Im April war ich für zwei Wochen in Bosnien und Kroatien in den Ferien. Eigentlich hatte ich nicht geplant, darüber gross zu schreiben, aber auf mehrfachen Wunsch zur Abwechslung wieder ein paar Bilder und Erzählungen statt Gemecker über dysfunktionale IT.

Landschaft
Friedhof
Die Anreise erfolgte per Flugzeug nach Split und von dort weiter mit dem Bus. Der Busfahrer erfüllte schon alle prototypischen Vorurteile über "Jugos": Erst kam er viel zu spät zur Arbeit, danach war er auch eher mässig auf die Strasse konzentriert. Dazu verschlief er jede Ampel und würgte zuletzt noch den Motor ab... Später gab er dafür um so mehr Gas. Da war ich doch froh, mich in der einzigen Sitzreihe mit Sitzgurten niedergelassen zu haben.

Altstadt
Fluss Neretva
Erst ging es nach Mostar. Die Stadt ist berühmt für ihre Brücke aus dem Mittelalter, welche im Jugoslawienkrieg zerstört wurde. Unterdessen ist die Brücke wieder aufgebaut und stellt wieder das Wahrzeichen der Stadt dar. Der Stadtkern ist eine erstaunlich gut erhaltene mittelalterliche Stadt, die vor kultureller Vielfalt strotzt. Neben bosnisch-muslimischen und türkischen Einflüssen finden sich auch kroatische und serbisch Einflüsse. Dies manifestiert sich nicht nur an einer bunten Mischung aus Moscheen und Kirchen, sondern auch in einer vielfältigen profanen Architektur und abwechslungsreichen Speisekarten. Besonders Fleisch steht hoch im Kurs und die dortigen Cevapi sind nicht nur preislich attraktiv sondern waren auch die besten auf der ganzen Reise.

Blick von Humu
Blick auf Humu
Da die Altstadt sehr klein ist und sich praktisch der ganze Tourismus rund um die Brücke konzentriert, erscheint die Stadt auf den ersten Blick überlaufen. Je weiter man sich jedoch von der Brücke entfernt, desto weniger Touristen finden sich. Für einen schönen Ausblick lohnt sich ein Trip auf den Wallfahrtsberg Humu. Wer etwas mehr Zeit mitbringt, kann auch dem Fluss Neretva entlang in Richtung Kroatien Ausflüge zu diversen Attraktionen wie einem ehemaligen Derwisch-Kloster oder Wasserfällen machen. Für die Abendunterhaltung bietet sich das örtliche Pub an, welches sich mit lokalem Craft-Bier und Bluesrock-Livemusik empfiehlt.

Einschusslöcher
Ruine
Die grossen Schäden aus dem Krieg sind leider nach wie vor vorhanden. Viele Häuser wurden wieder aufgebaut, aber dennoch stehen viele Ruinen. In vielen Häusern findet man Einschusslöcher. Interessanterweise oft auch in sanierten Gebäuden, so dass sich die Frage stellt, ob diese als Denkmal beibehalten wurden.


Interessant ist auch der Pflanzenbewuchs. In vielen Parks wächst primär Rosmarin. Dieser säumt ganze Wege und Wände und versprüht einen angenehmen Geruch.

Brücke in der Nacht
von der anderen Seite

Fleisch!!!

LineageOS auf Galaxy S2 (i9100) installieren

^ v M ><
Mir ist ein altes Samsung Galaxy S2 in die Hände gekommen, das für einen potentiellen Empfänger tauglich gemacht werden sollte. Bislang war bereits ein etwas in die Jahre (oder doch nur Monate?) gekommenes Cyanogenmod installiert. Aber Cyanogenmod ist tot, darum soll auf jeden Fall aktuellste Software installiert werden. Da kommt fast nur LineageOS in Frage (v.a. auch da ich damit gute Erfahrungen auf S3 und S5 gemacht habe). Da der Empfänger noch empfindlicher auf seine Privatsphäre achtet als ich, habe ich die Google-Apps weggelassen. Diese zu installieren benötigt aber nur einen weiteren Befehl und zwei Klicks mehr in der Recovery.

Leider war die Installation nicht ganz einfach, da die /system-Partition erstens nur 500MB gross ist (das ist zu klein, LineageOS verlangt mindestens 600MB), zweitens einen Defekt hat und drittens alle im Internet gefundenen Anleitungen zur Installation und Repartitionierung falsch sind, insbesondere die offizielle Anleitung von LineageOS. Ausserdem sind die meisten Anleitungen von Windows-Schafen geschrieben und nutzen Odin, während mir unter Linux Heimdall zur Verfügung steht.

Als Voraussetzung für diese Anleitung setze ich voraus, dass der Leser mit TWRP bereits vertraut ist. Ausserdem gilt ganz klar: Anwendung auf eigene Gefahr!

Beim i9100 sind ein paar Spezialitäten zu beachten, so ist das Recovery-Image in das Kernel-Image integriert.

So hat's bei mir funktioniert:
Erst sichergehen, dass auf dem Computer die aktuellsten Versionen von heimdall und adb installiert sind.
Download von PIT-Dateien (eine Art Partitionstabelle für Samsung-Geräte) von hier
Download von TWRP (Custom Recovery) von hier
Download des aktuellsten LineageOS-Build von hier
Ggf Download des su-addons und/oder gapps, wenn benötigt.
Aus lineage-14.1-*-nightly-i9100-signed.zip muss die Datei boot.img extrahiert werden.
Aus Pit_files.rar muss die gewünschte PIT-Datei extrahiert werden, ich habe I91001GB_4GB.pit (1GB /system, 4GB /data) verwendet.

Boot des Telefons in den Download-Modus mittels VolDown-Home-Power (Bestätigen mit VolUp). Anschliessend das USB-Kabel anschliessen.
Upload des neuen PIT-Files und flashen der Recovery mittels:
heimdall flash --repartition --pit I91001GB_4GB.pit --RECOVERY twrp-3.1.0-0-i9100.img --KERNEL boot.img --no-reboot

Danach das Telefon ausschalten, das USB-Kabel ausziehen, kurz die Batterie entfernen (ansonsten liess es sich bei mir nicht wieder booten), Batterie wieder einfügen.
Start des Telefons in den Recovery-Modus mittels VolUp-Home-Power
TWRP sollte nun starten. In TWRP den Menüpunkt "Wipe" -> "Advanced Wipe" -> "System" -> "Repair or Change File System" -> "Resize File System". Bei Erfolg auf "back" klicken und in der Übersicht auf "Change File System" -> "ext4". In der Übersicht wird die Dateisystemgrösse falsch angezeigt, evtl sogar als 0 Byte. Dies ignorieren. Nach erfolgter Reformatierung auf "back" klicken. In der Übersicht sollte jetzt korrekt 1007MB als Dateisystemgrösse angezeigt werden. Dasselbe Spiel für "Data" und "Internal Storage" wiederholen. Es können dabei viele rote Fehler angezeigt werden, dass Partitionen nicht eingebunden werden können. Dies kann (hier) ignoriert werden.
Nun das Telefon wieder ausschalten, Batterie raus und wieder rein, und erneut in den Recovery-Modus booten.
in TWRP erneut auf "Wipe" -> "Advanced Wipe" und einen gleichzeitigen Wipe von Dalvik, Cache, System, Data und Internal Storage durchführen. Wenn keine roten Fehlermeldungen erscheinen, kann der Flash-Vorgang beginnen. Ansonsten muss so lange mit der Reformatierung herumgespielt werden, bis es klappt.

Nun das USB-Kabel wieder anschliessen und mittels adb die zu installierenden zip-Dateien hochladen:
adb push lineage-14.1-*-nightly-i9100-signed.zip /sdcard0/
Wichtig! Der interne Speicher heisst /sdcard0/, nicht /sdcard/, wie in vielen Anleitungen behauptet!

In TWRP nun auf Install gehen und die zip-Dateien gemäss handelsüblicher Anleitungen flashen. That's it. Uff. Ja, ist kompliziert und viel unnötiger Aufwand.

Update: Ein Leser weist mich auf diese hervorragende Anleitung hin... für Windows :-P

Update: Ein weiterer Leser gibt noch zwei Tipps mit:
1. Wenn es mit dem Download der PIT-Datei nicht funktioniert, anderes USB-Kabel, bzw. anderen USB Port benutzen. Den Tipp gab's an verschiedenen Stellen und hat mir geholfen.

2. Ich habe es dann ums verrecken nicht geschafft, per "adb" etwas auf's Handy zu schieben. Ich habe es dann letztendlich auf eine Micro-SD karte kopiert, die ins Handy gesteckt und von dort installiert.

Verpackungswahn

^ v M ><
Heute wurde mir ein Paket geliefert, worin sich ein Server (geschäftlich) in Einzelteilen befand. Nachdem ich mich durch den Verpackungswahn durchgeackert hatte, konnte ich diesen assemblieren und für die Inbetriebnahme vorbereiten.

Verpackung...
Als erstes beim Öffnen der riesigen Kartonschachtel entfernte ich eine Unmenge Luftpolster. Diese füllten die Kiste zu mehr als der Hälfte.

... und Inhalt
Daneben fiel natürlich noch jede Menge weiterer Müll an, der aber teilweise schwerer zu vermeiden ist, als die Luftpolster. Dennoch ist es der schiere Verhältnisblödsinn, dass ich einen Server, der assembliert mindestens ein Dutzend Mal in der Kiste platz gefunden hätte, in so einer riesigen Verpackung geliefert bekomme.

Aber zum Glück ist der Klimawandel ja nur eine Lüge (sagt ja sogar der neue US-Präsident, also muss es wahr sein) und Erdöl ist eine unendliche Ressource, womit wir beliebig viel Plastik produzieren können.

Android und Linux verknüpfen: KDE Connect (ohne KDE)

^ v M ><
Per Zufall bin ich auf eine sehr coole Software gestossen: KDEConnect. Damit lässt sich ein Android-Telefon von einem Linux-PC aus fernsteuern. Oder der Linux-PC lässt sich von einem Android-Telefon aus fernsteuern. Oder man kann recht bequem Dateien zwischen Telefon und PC austauschen. Einzige Bedingung: Beide Geräte müssen sich im gleichen lokalen Netzwerk befinden (ob WLAN, kabelgebunden oder gemischt ist egal).

Wie es der Name schon sagt, ist KDEConnect eigentlich für die KDE-Desktopoberfläche entwickelt worden. Mit ein Bisschen tricksen läuft es aber auch relativ gut unter schlankeren Desktops wie z.B. dem von mir präferierten XFCE. Als erstes sollte es auf dem Telefon installiert werden, das geht bequem aus dem Play Store (oder wie f-droid auf Google-freien Systemen). Nun kann es gleich gestartet werden und auf einen paarungsbereiten PC warten.
Danach muss es mitsamt einiger Abhängigkeiten auf eben diesem PC installiert werden (hier wie immer für Debian Jessie erklärt):
aptitude install kdeconnect qdbus-qt5 kde-runtime

Nun müssen die KDE-Hintergrunddienste initialisiert werden:
$ qdbus org.kde.kded /kded loadModule kdeconnect
true
$ kbuildsycoca4 -noincremental

Und schon sollte es tun:
$ kdeconnect-cli --list-devices
- Samsung Galaxy S III: xxxxxxxxxxxxxxx (reachable)
1 devices found
$ kdeconnect-cli --pair --device xxxxxxxxxxxxxxx

Benachrichtigungen des Telefons poppen nun fröhlich auf dem Desktop auf.

Als Feinschliff kann noch das indicator-Applet installiert werden, damit Telefoninformationen im Systray dargestellt werden. Dieses ist leider noch nicht in Debian stable enthalten und muss händisch kompiliert werden. Immerhin war der Autor aber so freundlich, schon die ganzen Debian-Paketierdaten zur Verfügung zu stellen, so dass im Handumdrehen ein .deb-Paket erstellt werden kann, das eine saubere Installation (und Deinstallation) der Software erlaubt.
$ git clone https://github.com/vikoadi/indicator-kdeconnect.git
$ aptitude install build-essential valac libappindicator3-dev libgtk-3-dev debhelper #ggf weitere Pakete nötig
cd indicator-kdeconnect
$ dpkg-buildpackage -rfakeroot -uc -b
$ cd ..
$ su
# indicator-kdeconnect_0.1_amd64.deb
# exit
$ indicator-kdeconnect


Das ist echt ein Tool, das ich schon lange gebraucht habe (ohne es zu wissen) :-)

pfSense vs IPv6

^ v M ><
Seit ich beim einzig brauchbaren Provider der Schweiz bin (das ist der, der es gelegentlich auch in die deutschen News schafft, da er als vermutlich einziger Provider der Welt offen und explizit für Netzneutralität eintritt), habe ich endlich auch Internetzugang mit dem Protokoll der Zukunft, IPv6. Der Provider ist sogar so freundlich, dass ich auf Anfrage kostenlos ein statisches IPv6-Prefix erhalten kann, d.h. meine Computer immer unter der gleichen Adresse erreichbar sind.

Leider hat das auf der technischen Seite einen kleinen Schönheitsfehler, denn das statische Prefix wird anhand der DUID zugewiesen. Diese muss auf Seiten des Providers eingetragen werden. Die DUID ist eine pseudozufällig generierte, einzigartige ID meines IPv6-Clienten, also meiner Firewall. Diese Firewall benutzt als Softwarebasis das freie Firewallprojekt pfSense. Diese hat in der neusten Version allerdings ein sehr nerviges "Feature": Bei jedem Neustart wird die DUID neu generiert. Dies führt dazu, dass ich nach Softwareupdates, Stromausfällen o.ä. jeweils immer dem Support des Providers schreiben muss, er solle bitte die neue DUID eintragen. Somit ist mein IPv6-Zugang für eine Weile gestört, bis der Provider meiner Bitte nachgekommen ist.

Das zu unterbinden, erfordert leider etwas Gebastel...:
Zuerst muss man sich per SSH auf der Firewall einloggen und eine Shell aufrufen (Taste 8 drücken). Dann muss die Datei, welche die DUID enthält, an einen Ort kopiert werden, wo sie einen Neustart der Firewall übersteht:
cd /conf
mkdir dhcp
cp /var/db/dhcp6c_duid .

Danach wird über das Webfrontend ein Job eingerichtet, der diese Datei bei jedem Neustart bevor das Netzwerk gestartet wird wieder nach /var/db kopiert. Dazu muss als erstes über die Paketverwaltung (System -> Package Manager -> Available Packages) das Paket "Shellcmd" installiert werden.
Danach kann unter Services -> Shellcmd ein neuer Befehl definiert werden:
Command: cp -f /conf/dhcp/dhcp6c_duid /var/db/
Shellcmd Type: earlyshellcmd
Comment: Fix braindead IPv6 DUID regeneration

Fazit: die proprietären Sonicwall und Fortinet mögen unbrauchbar sein, aber auch die freie pfSense ist nicht frei von Macken. Eine perfekte Firewall-Lösung existiert auf diesem Planeten schlicht nicht.

Im Original findet sich die Lösung hier.

Soundkarten sortieren

^ v M ><
Posted by Lukas on
Mit Update auf den Backport-Kernel 4.6 war meine Soundblaster-Karte nach Start des PCs nur noch sporadisch vorhanden. Stattdessen war in aller Regel nur noch das USB-Headset vorzufinden. Ein Blick in dmesg zeigte wieder einmal desaströses:
snd_emu10k1 0000:04:06.0: cannot find the slot for index 0 (range 0-1), error: -16
Da ich die Soundblaster als primäre Systemsoundkarte nutzen will, wird diese per Konfiguration auf slot/index 0 gezwungen. Aus irgend einem Grund ist slot 0 aber plötzlich bereits belegt...

Bislang habe ich die Reihenfolge meiner Karten über einen Eintrag in der Datei in /etc/modprobe.d/audio.conf geregelt:
options snd_emu10k1 index=0
options snd_usb_audio index=1

Die Reihenfolge muss neuerdings über einen weiteren bzw alternativen Eintrag festgelegt werden:
options snd slots=snd_emu10k1,snd_usb_audio

Siehe hier (innerhalb der Seite nach slots= suchen, die Anchor-Links sind kaputt). Ohne diese Einstellung hätte sinnloserweise die USB-Soundkarte höchste Priorität.

Hach ja, es würde mir ja sooo langweilig werden, wenn der Kack "einfach so(tm)" weiterlaufen würde.

Sonicwall Rant

^ v M ><
Meine Verachtung für proprietäre Netzwerk"sicherheits"produkte ist über die letzten Tage wieder deutlich gestiegen. Objekt meines diesmaligen Hasses ist der Müll von Sonicwall, der sich somit von mir aus gleich auf neben Fortinet auf der Elektroschrotthalde einfinden darf.

Und zwar ging es darum, zwei bisher als Single Point of Failure betriebene Dienste mittels bestehender Loadbalancer-Infrastruktur auf Basis von Keepalived zu ausfallsicheren Clustern zu verbinden. Soweit so einfach, die redundanten Server installiert (bzw den Hot Standby auf Funktionstüchtigkeit überprüft), dem Loadbalancer zwei neue Virtual IPs hinzugefügt und die jeweiligen Maschinen zu Clustern verbunden.

Ein kurzer interner Funktionstest zeigt: Tut perfekt.

Als nächstes werden die geclusterten Dienste öffentlich freigegeben, dafür muss erstmal ein weiteres Loch in die Firewall gestanzt werden. Keine Sache für den ersten Cluster (erste virtuelle IP) und eigentlich auch nicht für den zweiten Cluster (zweite virtuelle IP). Als nächstes erfolgte natürlich der Funktionstest von extern, was beim ersten Cluster schlagartig mit Erfolg beschieden war.

Nicht so aber beim zweiten Cluster. Da war einfach keine Verbindung zu erstellen. Nun, woran könnte das liegen? Die Firewall-Regeln sahen alle gut aus, hmmm, kann das am Cluster liegen? Das ist ja doch eine komplexe Konfiguration mit Anpassungen auf Seiten des Loadbalancers und den geclusterten Maschinen. Also nochmals rigoros alles überprüft. Schaut gut aus. Und intern funktioniert's ja. Also doch die Firewall? Nochmals die Regeln überprüft... Mir sagen lassen, dass ich halt die Firewallregel irgendwie(tm) falsch erstellt hätte und sie nochmals prüfen solle. Gut. Nochmals unnötig Zeit auf die Überprüfung der Firewallregeln verschwendet. Die sehen einfach(tm) identisch zum anderen neuen Dienst aus. Die Regeln und das Netzwerk-Objekt gelöscht. Die Regeln und das Netzwerk-Objekt neu erstellt. Mir erneut sagen lassen, dass wohl die Regeln irgendwie(tm) falsch erstellt seien, da Sonicwall sowas ja noch nie gemacht hätte. Weiter am Loadbalancer debuggt und mit tcpdump und telnet herumgespielt. Erwartetes Ergebnis: Der Verbindungsaufbau von extern erreicht nicht einmal den Loadbalancer. Also zurück zur Firewall...

Und dann habe ich folgenden Versuch unternommen: Die Cluster-IP wurde von xxx.xxx.xxx.xxx zu xxx.xxx.xxx.xxy geändert. Danach wurde in der Firewall das Netzwerk-Objekt ebenfalls auf diese IP angepasst (also die eigentliche Regel habe ich nicht angefasst). Und zuletzt nochmals einen Test von aussen gefahren: BOOM! Katsching! Zugriff!

Als nächstes habe ich folglich *sämtliche* Firewallregeln darauf überprüft, ob sie Einfluss auf die zuerst genutzte IP haben könnten. Ich bin nicht fündig geworden.

Mit anderen Worten: Die bescheuerte Sonicwall diskriminiert ohne wirklichen Anlass eine gewisse IP-Adresse. Aber hey, was ist von einem Produkt zu erwarten, dessen Name mit NSA beginnt? Vermutlich sah die IP-Adresse einfach zu arabisch aus. Die ist ja schliesslich komplett in arabischen Ziffern notiert....

Jedenfalls verdient Sonicwall für solche Bugs in ihren überteuerten Produkten von mir einen Mittelfinger und ein "Fuck You", das Linus Torvalds Mittelfinger gegen nVidia wie einen Kindergeburtstag aussehen lässt. Es kann nicht angehen, dass meine teure Lebens- und Arbeitszeit verschwendet wird und versucht wird mein Selbstvertrauen kaputtzumachen.

CyanogenMod aufs Galaxy S5

^ v M ><
Gestern hat das Unfairphone zwar nochmals ein Software-Update erhalten, das zwar an der Oberfläche kratzt (z.B. Bildschirmflackern behebt oder den sinnlosen Privacy Indicator angeblich endlich deaktivierbar macht), aber die richtigen Probleme (fehlende Konfigurationsmöglichkeiten, fehlender Privacy Guard, fehlende Unterstützung für Dateisysteme) natürlich nicht behebt. Aber das ist dennoch zu spät, denn heute hat mir der Pöstler Ersatz geliefert. Diesmal ein von im Vergleich zum Unfairphone nicht ganz so glücklichen Chinesen zusammengeklebtes Galaxy S5. Warum so ein altes Gerät? Nun, im Prinzip ist es dasselbe wie das Unfairphone, nur in irreparabel, leicht und ohne zweiten SIM-Slot. Ansonsten ist die Hardware ziemlich identisch. Und: Es gibt eine recht solide Unterstützung durch CyanogenMod!

Gemäss Anleitung ist die Installation so kinderleicht wie beim S3. Doch der Teufel liegt wie immer im Detail. Erst startet man das Gerät mittels VolDown-Home-Power im Download-Modus und installiert ein Recovery-Image:
heimdall flash --RECOVERY twrp-3.0.2-1-klte.img --no-reboot
Heimdall v1.4.0
[..]
ERROR: Failed to download PIT file!

Muh! Wäre ja zu schön, wenn es auch nur ein einziges Mal einfach wäre!

Also muss als erstes Heimdall auf die letzte Version von github aktualisiert werden. Wie bei all meinen technischen Einträgen wird Debian als Basis verwendet. Bevor nun irgend ein Troll meint, na klar, mit der Uralt-Version aus Debian ist das auch kein Wunder: den Spruch kann man sich hier sparen, da auch die letzte offiziell veröffentlichte Version von Heimdall (1.4.1) nicht ausreicht. Es muss zwingend die Version aus dem git-Repository sein!
aptitude install build-essential cmake libusb-1.0-0-dev qt5-default libgl1-mesa-glx libgl1-mesa-dev
git clone https://github.com/Benjamin-Dobell/Heimdall.git
cd Heimdall
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
cd bin

Nun kann erneut gemäss Anleitung versucht werden zu flashen:
./heimdall flash --RECOVERY /path/to/twrp-3.0.2-1-klte.img --no-reboot

D.h. man startet die Recovery mittels VolUp-Home-Power. Als kleinen Umweg habe ich mittels des gestarteten Recovery erst ein Backup erstellt und dieses mit ADB auf den Desktop-Computer kopiert:
adb pull /sdcard/TWRP TWRP

Danach kann man aber wirklich gemäss Anleitung weitermachen, ein möglichst minimales Google-Apps-Paket installieren und sich an einem relativ schlanken, funktionalen Telefon mit verstärktem Schutz der Privatsphäre erfreuen.

Und das Unfairphone? Wird wegen Nichtgebrauchs verkauft. Und das S3? Wird zur Bastelplattform umfunktioniert.

Line Messenger unter (Debian) Linux mit Pidgin

^ v M ><
Um Kontakt nach Fernost zu halten, bestand die Notwendigkeit einer Messenger-Lösung, die auf Mobilgeräten und Desktops (und zwar idealerweise als Plugin für Pidgin) läuft, Videotelefonie beherrscht und nicht von Microsoft stammt. Somit fällt Skype weg, da unterdessen zum Evil Empire aus Redmond zugehörig. WhatsCrap fällt auch weg, da nicht (legal) abseits eines einzelnen Mobilgeräts nutzbar. Viber fällt auch weg, da von keiner der bestehenden Parteien genutzt. XMPP hat seine lieben Probleme mit der Videotelefonie (und wird ausserdem nur von mir, nicht aber den Gegenparteien genutzt... seufz...).

Die Desktop-Anforderung ist für mich ein zwingendes Argument, da mir die Fummelei auf dem Telefon einfach zu mühsam ist. Ausserdem will ich nicht alle paar Sekunden die Hände von der Tastatur nehmen und das Gerät wechseln. Der Wechsel zwischen produktiver Arbeitsumgebung und Messenger ist gerade noch akzeptabel.

Die Notlösung hierfür heisst "Line Messenger" aus Korea, ist in Japan super populär und die Verwendung unter Linux selbstverständlich ein Gefrickel ohne offizielle Absegnung. Aber immerhin gibt es ein inoffizielles Plugin für Pidgin. Dessen Installation funktioniert relativ gut gemäss Anleitung auf der verlinkten Seite (code_name bei Debian ist stable, testing oder unstable, bei Ubuntu der jeweilige Release-Name, d.h. trusty, vivid oder wily). Ein paar Worte zur Einrichtung wären aber nicht verkehrt gewesen...

Zuerst muss man Line auf einem Mobilgerät installieren, ein Konto erstellen und damit Online gehen. Als nächstes muss eine Email-Adresse verknüpft werden, das macht man durch Klick auf das Icon [...] rechts oben, dann die Einstellungen (das Zahnradsymbol gleich unter [...]), "Account" und "Email Account Registration". Dort trägt man eine eigene Email-Adresse ein und vergibt ein Passwort dafür. Wichtig: Keinesfalls das Passwort des Email-Kontos angeben! Man erhält nun eine Email mit einem Verifikationscode, welchen man in der App eingeben muss.
Zuletzt muss man auf Privatsphäre verzichten und unter "Chats & Voice Calls" die Option "Letter Sealing" deaktivieren. Dies ist die Ende-zu-Ende-Verschlüsselungsoption von Line, die purple-line leider noch nicht unterstützt. Andererseits handelt es sich bei Line um eine rein proprietäre Anwendung, daher gilt eh jede dort implementierte Verschlüsselung bestenfalls als "Security By Obscurity" ohne nachweisbaren Wert!

Nun startet man Pidgin mit installiertem Line-Plugin. Unter Accounts -> Manage Account -> Add... muss folgendes eingetragen werden:
Protocol: Line
Username: Die mit dem Line-Konto verknüpfte Email-Adresse
Password: Das in der App gesetzte Passwort zu dieser Email-Adresse
[x] Remember password
Nach Klick auf Add wird das Konto hinzugefügt und verbunden. Beim ersten Verbindungsversuch poppt ein Fenster mit einem Verifikationscode auf, der innert drei Minuten in der App eingetragen werden muss. Es dauerte bei mir jedoch rund eine Minute, bis das entsprechende Popup auf dem Mobilgerät erschien.

Anschliessend ist Line auch vom Desktop-Computer aus chatbereit. Es gibt jedoch einige Einschränkungen des sich in in sehr langsamer Entwicklung befindlichen Plugins: neben der fehlenden E2E-Verschlüsselung ist ausschliesslich Text-Chat möglich, d.h. keine Audio- oder Videotelefonate. Für diese muss weiterhin auf die mobile App zurückgegriffen werden. Abbrüche der Internetverbindung werden nicht erkannt und man bleibt scheinbar verbunden. Als Presence-Status gibt es ausschliesslich die Wahl zwischen Online/Available oder Offline (kein Away). Bilder können nicht verschickt, sondern nur empfangen werden. Diese werden dann auch nur angezeigt, wenn sie einzeln empfangen werden. In Text eingearbeitete Icons werden nicht korrekt dargestellt.