Ich habe in der Vergangenheit regelmäßig Dienste wie Privnote verwendet um Sichere Notizen wie zum Beispiel Passwörter zu teilen. Der Vorteil dieser Dienste gegenüber einer normalen Pastebin ist, dass die Informationen verschlüsselt in der datenbank gespeichert werden und nachdem sie aufgerufen wurden wieder gelöscht werden. Obwohl ich diesen Seiten eigentlich soweit vertraut habe, wollte ich einen eigenen Dienst hosten, damit ich mir zu 100% sicher sein kann. Problem war aber, dass es OpenSource bisher eigentlich keine Lösung gab. Um dieses Problem zu lösen habe ich mich entschieden eine eigene Lösung zu schreiben. Diese sollte sowohl einfach aufzusetzen sein, als auch sicher. Als Backend habe ich mich hierbei für PHP mit einem MySQL / MariaDB Server für die Daten entschieden. Alle Daten werden AES256 verschlüsselt in der Datenbank abgelegt und das Passwort, welches zum Entschlüsseln vonnöten ist, wird über den URL an den Server übergeben. Dadurch ist es so gut wie unmöglich die Notes zu entschlüsseln, wenn man Zugriff auf die Datenbank bekommen sollte. Im Backend wurde desweiteren für den HTTP-Router Slim PHP verwendet. Das Frontend besteht aus einem statischen HTML Theme, in das verschiedene JavaScript Dateien geladen werden. In diesen Dateien sind Web-Komponenten definiert. Diese erzeugen dann das Frontend. Desweiteren wurde im Frontend als erweiterten Texteditor SimpleMDE als Editor verwendet. Dieser dient dazu, dass die Notes in Markdown geschrieben werden können um einfache Formatierungen vorzunehmen. Wenn eine Notiz angezeigt wird, kommt markdown-it zum Einsatz, diese Bibliothek erzeugt aus dem Markdown HTML Code, welcher dann angezeigt werden kann.

Meine Instanz kann unter folgendem URL aufgerufen werden: privnote.jonasled.de
Der Quellcode ist unter gitlab.jonasled.de/jonasled/privatenote zu finden.

Kommentare: