website/public/projekte/privateNote.html

46 lines
2.9 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<link href="/css/style.css" rel="stylesheet">
</head>
<body>
<jl-header data-title="Private Note"></jl-header>
<div id="content">
<p>Ich habe in der Vergangenheit regelmäßig Dienste wie <a href="https://privnote.com/#">Privnote</a> verwendet
um Sichere Notizen wie zum Beispiel Passwörter zu teilen. Der Vorteil dieser Dienste gegenüber einer
normalen <a href="//paste.jonasled.de">Pastebin</a> 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 <a href="https://www.slimframework.com/">Slim PHP</a> 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 <a href="https://simplemde.com/">SimpleMDE</a> 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.</p>
<p>Meine Instanz kann unter folgendem URL aufgerufen werden: <a href="https://privnote.jonasled.de/">privnote.jonasled.de</a><br>
Der Quellcode ist unter <a href="https://gitlab.jonasled.de/jonasled/privatenote">gitlab.jonasled.de/jonasled/privatenote</a> zu finden.</p>
<h2>Kommentare:</h2>
<jl-comments_display></jl-comments_display>
<jl-new_comment id="newComment"></jl-new_comment>
</div>
<jl-footer></jl-footer>
<script src="/js/script.js"></script>
</body>
</html>