Joplin mit Ende-zu-Ende-Verschlüsselung erschienen

Vor einigen Tagen stelle ich mit Joplin eine freie Evernote-Alternative vor. Joplin befindet sich in in aktiver Entwicklung und so schaffte es die letzten Tage ein Feature mit dem Titel E2EE, was für End-To-End Encryption steht, in die Anwendung. Damit ist eine Ende-zu-Ende-Verschlüsselung der Notizen gemeint. Das bedeutet, dass die Notizen nur noch auf den jeweiligen Endgeräten entschlüsselt werden können. Beginnend mit Version 0.10.41 wird dies unterstützt; auch wenn das ganze im Moment noch als Beta deklariert ist.

Die Einstellungen zur Verschlüsselung in der iOS-App

Unter iOS und Android funktioniert die Ende-zu-Ende-Verschlüsselung noch nicht. Hier existierte noch ein Bug, welcher dafür sorgte, das man das Passwort nicht eingeben konnte. Mittlerweile wurde dieser Fehler behoben und ab dem Release 0.10.42 sollte die Verschlüsselung auf den mobilen Plattformen ebenfalls funktionieren. Joplin kann über die offizielle Projektseite bezogen werden.

Digital Signage für den Raspberry Pi

Der Begriff Digital Signage beschreibt im Groben nichts anders als die Nutzung digitaler Schilder, was z.B. Bildschirme sein können. Möchte man einen solchen Bildschirm bespielen, kann man sich mit dem Raspberry Pi eine entsprechende Lösung zusammenbauen. Daneben gibt es eine spezialisierte Distribution für den Raspberry Pi. Diese hört auf den Namen Raspberry Digital Signage und stellt nach dem Booten einen Webbrowser im Vollbild dar. Als Browser wird Chromium genutzt. Daneben stellt die Distribution sicher, das man den Webbrowser nicht beenden oder anderweitig manipulieren kann.

binaryemotions.com

Zur Wartung und Nutzung der Distribution existiert ein Webinterface, in welchem die entsprechenden Einstellungen vorgenommen werden können. Heruntergeladen werden kann die Distribution von der Seite des Herstellers.

SSH mit mehreren Schlüsseln nutzen

Normalerweise erzeugt man einen privaten und einen öffentlichen Teil seines SSH-Schlüssels, hinterlegt den öffentlichen Teil auf den entsprechenden Servern und loggt sich mit diesen dort ein. Nun kann es aber durchaus vorkommen, dass man mit unterschiedlichen Schlüsselpaaren arbeiten muss um sich auf verschiedenen Servern einzuloggen. Zur Lösung dieses Problems existieren zwei Herangehensweisen, welche beide mit der SSH-Konfigurationsdatei arbeiten. Die Konfigurationsdatei ist im Home-Verzeichnis der Nutzers unter .ssh/config zu finden ist. Bei der ersten Möglichkeit werden die entsprechenden Schlüssel in der Konfigurationsdatei hinterlegt:

IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_rsa_production
IdentityFile ~/.ssh/id_rsa_test
IdentityFile ~/.ssh/id_rsa_integration

Damit werden bei einem Login auf einem Server die Schlüssel der Reihe nach durchprobiert. Bei der zweiten Möglichkeit wird ein Host pro Server konfiguriert:

Host production production.example.com
    HostName production.example.com
    User root
    IdentityFile ~/.ssh/id_rsa_production
    

Host test test.example.com
    HostName test.example.com
    User root
    IdentityFile ~/.ssh/id_rsa_test

Host integration integration.example.com
    HostName integration.example.com
    User root
    IdentityFile ~/.ssh/id_rsa_integration

In der Konfiguration des Hosts befinden sich neben dem Host auch die zu nutzende Schlüsseldatei. Als weiteren Vorteil kann man die SSH-Verbindung nun über den definierten Kurznamen aufrufen:

ssh production

Dabei wird die Verbindung mit der definierten Schlüsseldatei aufgebaut, so dass ein durchprobieren der unterschiedlichen Schlüssel vermieden wird.

Webseite im Kiosk-Modus auf dem Raspberry Pi darstellen

Für einen speziellen Anwendungsfall wollte ich eine Webseite im Kiosk-Modus mittels eines Raspberry Pi darstellen. Der Raspberry Pi sollte hochfahren und anschließend die Webseite anzeigen. In diesem Fall wurde Midori als Browser und Raspbian als Distribution ausgewählt. Im ersten Schritt werden die entsprechenden Pakete installiert:

apt-get install xorg matchbox midori unclutter

Nachdem die benötigten Pakete installiert wurden, geht es an die Konfiguration. Dazu wird Home-Verzeichnis des Nutzers pi die Datei .xinitrc angelegt und mit folgendem Inhalt befüllt:

#!/bin/sh
/usr/bin/unclutter &
/usr/bin/matchbox-window-manager &
xset -dpms
xset s off
while true; do
/usr/bin/midori -e Fullscreen -a https://example.org
done

Mittels unclutter wird der Mauscursor ausgeblendet; anschließend wird der Window-Manager gestartet. Danach geht es an die Konfiguration von X11 – die Energiesparoptionen und der Bildschirmschoner werden deaktiviert. Zum Abschluss folgt der eigentliche Start des Browsers in einer Schleife. Dies führt dazu dass Midori nach einem Absturz sofort wieder neugestartet wird. Die aufzurufende URL sollte dabei natürlich angepasst werden. Damit X11 automatisch gestartet wird, editieren wir wir ebenfalls die Datei .bashrc – dort fügen wir an das Ende Datei folgenden Befehl hinzu:

# Start X11
startx

In diesem speziellen Fall war der Anzeigemonitor um 90 Grad gedreht, so das der Inhalt des Bildschirms ebenfalls gedreht werden musste. Dazu muss die Datei /boot/config.txt bearbeitet werden und folgender Wert hinzugefügt werden:

display_rotate=1

Nun muss nur noch dafür gesorgt werden, dass der Raspberry Pi nach dem Start automatisch in den Nutzer pi einloggt. Dazu kann das Konfigurationswerkzeug raspi-config genutzt werden.

Die Einstellung um automatisch mit dem Nutzer pi zu starten

Die entsprechende Einstellung befindet sich in den Boot Options und dort im Punkt Desktop / CLI. An dieser Stelle muss Console Autologin ausgewählt werden. Anschließend kann der Raspberry Pi neugestartet werden und das ganze getestet werden.

Freie Alternative(n) für Evernote

Evernote ist eine praktische Anwendung. Mit ihr können Notizen gespeichert und verwaltet werden. Leider verlangt Evernote mittlerweile happige Preise für seine Premium-Funktionalitäten. Aus meiner Sicht ist dies allerdings das kleinere Problem. Viel schwerer wiegt, das die eigenen Daten einer amerikanischen Firma anvertraut werden müssen. Neben den proprietären Alternativen wie z.B. OneNote von Microsoft, gibt es mittlerweile einige freie Alternativen. Bevor man sich nach einer Alternative umschaut, sollte man erst einmal schauen welche essentiellen Features Evernote bietet. Kurz zusammengefasst sind die wichtigsten Features die Synchronisation über verschiedenen Geräte, der Web-Clipper, die Offline-Funktionalität und die OCR-Erkennung für PDF, Bilder und ähnliches. Wie wichtig jedes dieser Features ist bleibt der eigenen Gewichtung überlassen.

Mir persönlich wäre eine Lösung auf Basis von Nextcloud am liebsten. Als Notizanwendung auf Markdown-Basis bietet sich die Nextcloud App Notes an. Allerdings handelt es sich hierbei nur um eine rudimentäre Lösung. Mehr in die Richtung Evernote gehen die Lösungen ownNotes bzw. dessen Fork NextNote. Leider scheint bei diesen beiden Projekten keine Weiterentwicklung mehr stattzufinden bzw. diese sehr träge zu verlaufen.

Neben auf ownCloud bzw. Nextcloud basierenden Lösungen, gibt es eine Reihe von Standalone-Lösungen. Zu nennen wären hier unter anderem Paperworks, Permanote, Laverna, TagSpaces, Nemex, Brainstorm und OpenNote.

Die Login-Seite von wallabag

Vielen diesen Lösungen werden entweder nicht mehr weiterentwickelt oder lassen nicht wirklich das Evernote-Feeling aufkommen. Daneben gibt es Lösungen welche sich für bestimmte Aspekte von Evernote als Ersatz eignen. Ein Beispiel dafür ist wallabag, welches sich als Read-It-Later-Lösung versteht und zur Archivierung von Webseiten genutzt werden kann.

Eine Lösung welche in letzter Zeit verstärkt in den Fokus gerät ist Joplin, die vom gleichen Entwickler wie eine hier vor längerer Zeit vorgestellte Backuplösung ist. Joplin versteht sich als Alternative zu Evernote und setzt voll und ganz auf Markdown. Das bedeutet allerdings nicht das man keine Bilder oder andere Anhänge zu einem Projekt hinzufügen kann; dies ist problemlos möglich.

Joplin unter macOS

Für Joplin existieren Clients für macOS, Linux und Windows. Für die mobilen Plattformen existieren Apps für iOS und Android.

Joplin
Preis: Kostenlos
Joplin
Preis: Kostenlos

Als Backend unterstützt Joplin, das Dateisystem und eine Synchronisation zu OneDrive. An einer Unterstützung für Nextcloud und Dropbox wird gearbeitet. Laut dem Entwickler, wird diese nach der Beseitigung eines speziellen React Native Bugs implementiert:

Currently, synchronisation is possible with OneDrive (by default) or the local filesystem. A NextCloud driver, and a Dropbox one will also be available once this React Native bug is fixed. When syncing with OneDrive, Joplin creates a sub-directory in OneDrive, in /Apps/Joplin and read/write the notes and notebooks from it. The application does not have access to anything outside this directory.

Durch die geplante Nextcloud-Unterstützung ist es möglich die Synchronisierung auf dem eigenen Server zu nutzen; die eigenen Daten bleiben somit geschützt. Joplin hat mittlerweile die Betaphase verlassen und kann produktiv genutzt werden. Für einen Umstieg von Evernote auf Joplin existiert in der Anwendung eine Importfunktion um die enex-Dateien, welche beim Export aus Evernote erzeugt werden, zu importieren. Der Quelltext ist auf GitHub zu finden und unter der MIT-Lizenz lizenziert. Daneben gibt es eine offizielle Projektseite.