Owatz Quick Share

Conrad Schmidt | 11.10.2018 min

UPDATE: Das System wurde inzwischen durch durch eine neuere App ersetzt.

Hallo!

Du befindest dich hier weil du dich entweder für meine Hosting Setup interessierst oder aus Kuriosität https://s.owatz.net/ besucht hast. In beiden Fällen erkläre ich hier gerne, wie mein Quick Share Service funktioniert.

Wofür genau ist s.owatz.net?

Ich benutze die Subdomain s.owatz.net für 2 Dinge:

  • Dateien sowie Bilder die ich teilen möchte auf meinen Server hochladen und dort öffentlich (nur mit Link) zur Verfügung zu stellen
  • Shortlinks erstellen/Links kürzen

Ich möchte beispielsweise schnell ein Bild von der Katze meiner Freundin teilen? Ich lade es schnell hoch, erstelle einen kurzen Link der dann so aussieht: https://s.owatz.net/4nhrg und diesen kann ich dann an Freunde schicken.

Wie funktioniert das?

Server Part

Owatz Quick Share Infografik

Auf meinem Server läuft eine Dockerinstanz, so dass jede Web-App seinen eigenen Container besitzt. (Mehr dazu in meiner Blog Reihe über meinen VPS) Um Quick Share möglich zu machen habe ich selbst ein Dockerimage erstellt. Dieses besteht aus 2 PHP Apps:

Image Hosting

Dafür verwende ich Chevereto in der kostenlosen Variante. Chevereto ist eine PHP App die es erlaubt Bilder hochzuladen, zu verwalten und öffentlich bereitzustellen. Sie kann noch viel mehr als für was ich sie benutze, jedoch benötige ich so viel Funktionalität gar nicht.

Ein wichtiges Feature von Chevereto ist die API mit der man Bilder auch ohne die Weboberfläche hochladen kann. Das ist später wichtig.

Dazu nutze ich YOURLS. Ebenfalls eine PHP App, die wunderbar ist um URLs zu kürzen. YOURLS bietet wenig Schnickschnack kann aber mit diversen Plugins erweitert werden. Eine API Schnittstelle ist auch hier mit dabei.

Client Part

Um beide APIs von meinem Rechner aus anzusprechen kommt ein Tool namens ShareX zu Hilfe. Dieses Windows-only Programm ist mehr als nur ein Screenshot Hotkey. Es kann so eingestellt werden, dass es mit jeder API per Knopfdruck kommuniziert. Chevereto und YOURLS sind sogar schon voreingestellt mit dabei. Für andere APIs kann man jedoch sogar selbst Schablonen bauen.

Mit Hilfe von ShareX kann ich mit einem Knopfdruck einen Screenshot aufnehmen, ihn hochladen und eine kurze URL in meiner Zwischenablage finden.

Doch nicht nur Bilder funktionieren mit ShareX. Für Dateien oder Texte lassen sich andere Dienste als Ziel festlegen. So habe ich beispielsweise auch meine Nextcloud verknüpft.

Warum der ganze Aufwand?

Sicher gibt es auch einfachere Lösungen die einen Klick entfernt im Internet zur Verfügung stehen. Imgur, bit.ly oder was auch sonst.

Es ist mir jedoch wichtig, die volle Kontrolle über meine Daten zu haben. Dass private Bilder von mir auf irgendwelchen Servern in den USA oder anderen Ländern liegen, von kommerziellen Unternehmen gesteuert die damit machen können was sie wollen breitet mir Bauchschmerzen.

Sicher ist eine fertige Lösung für den normalen Nutzer einfacher und ich kritisiere diese auch nicht. Wenn man jedoch die Fähigkeiten besitzt sich ein solchen Dienst selbst zu bauen, wieso nicht?

Am Ende lernt man dazu und hat auch noch etwas Nützliches für den täglichen Gebrauch geschaffen.