Skip to content
Snippets Groups Projects
urlkuerzer2.html 3.61 KiB
Newer Older
  • Learn to ignore specific revisions
  • <!DOCTYPE html >
    <html lang="de">
    <head>
        <meta charset="UTF-8">
        <meta content="width=device-width, initial-scale=1.0" name="viewport">
        <title></title>
        <link href="/css/style.css" rel="stylesheet">
    </head>
    <body>
    <jl-header data-title="URL Kürzer V2"></jl-header>
    <div id="content">
        <p>Mein alter URL kürzer war zwar schon gut, jedoch hatte ich den kompletten Code sehr unübersichtlich gestaltet mit
            allem in einer PHP Datei und Alis Konfigurationen im Webserver. Dies war alles sehr unübersichtlich und schwer
            zu erweitern, selber hosten. Daher habe ich mich entschieden alles von vorne zu Programmieren und dabei auf
            möglichst übersichtlichen Code zu achten. Desweiteren war mir wichtig, dass jeder den URL kürzer mit möglichst
            kleinem Aufwand selber hosten kann. Daher habe ich mich für Python mit Flask und Waitress als Webserver
            entschieden. Das schöne an Flask ist, dass man eine dynamische HTML-Datei hat und im eigentlichen Python Script
            nur noch die Platzhalter ausfüllt. Als Datenspeicher habe ich mich diesesmal für SQLite entschieden, da dieses
            von der Performance völlig ausreichend ist und mit weniger Aufwand verbunden ist. Zum einfachen selber aufsetzen
            habe ich alles in einen Docker-Container verpackt. Neben des komplett neu geschriebenen Codes habe ich auch ein
            paar neue Features verbaut. So stehen nun mehrere Domains zur Verfügung (wie man es von adf.ly kennt). Zur Zeit
            sind es 8 Domains, dies kann sich aber noch ändern. Eine weitere Veränderung ist, dass nach dem kürzen eines
            URLs nun auch ein QR-Code angezeigt wird, mit diesem ist das teilen der Links noch einfacher. Und zu guter letzt
            ein für mich sehr wichtiges Feature ist die Größe der Website. Die Neue Website ist jetzt nur noch wenige
            Kilobyte groß. Das Schöne an der Verteilmethode via Docker ist auch, dass es für den Server kaum Voraussetzungen
            gibt. So muss nur Docker installiert sein. Es empfiehlt sich zwar noch einen Webserver als HTTPS Proxy zu
            installieren. Dies ist aber nicht zwingend notwendig.</p>
        <h3>UPDATES:</h3>
        <ol>
            <li>Ich habe mittlerweile einige neue Features implementiert. Dazu gehört ein Login System, mit welchem man
                seine eigenen Links einsehen und löschen kann. Dazu gibt es jetzt noch einen Darkmode, welcher automatisch
                eingeschaltet wird, wenn dies im Browser eingestellt ist. Dies waren jetzt die beiden Hauptänderungen, ich
                habe natürlich noch einiges mehr geändert / neu Implementiert, werde jetzt hier aber nicht alles aufzählen.
            </li>
            <li>Überall wird aktuell ein Darkmode implementiert, warum also auch nicht hier.</li>
        </ol>
        <p>Der Quellcode ist <a href="https://gitlab.jonasled.de/jonasled/url_shorter_docker">hier </a>zu finden. Dort ist
            auch eine <a
                    href="https://gitlab.jonasled.de/jonasled/url_shorter_docker/wikis/install">Installationsanleitung</a>.
            Meine eigene Installation ist, wie der alte URL kürzer unter <a href="https://kurz.gq">kurz.gq</a> erreichbar.
        </p>
        Aktueller build Status: <img src="http://gitlab.jonasled.de/jonasled/url_shorter_docker/badges/master/pipeline.svg"><br>
    
    Jonas Leder's avatar
    Jonas Leder committed
        <img src="/API/getFile.php?filename=img/kurz_ml_light.png">
        <img src="/API/getFile.php?filename=img/kurz_ml_ldark.jpg">
    
        <h2>Kommentare:</h2>
        <jl-comments_display></jl-comments_display>
        <jl-new_comment id="newComment"></jl-new_comment>
    </div>
    <jl-footer></jl-footer>
    
    
    <script async defer src='https://hCaptcha.com/1/api.js'></script>
    
    <script src="/js/script.js"></script>