Zeronet, das serverlose Web
Warum ZeroNet ?
ZeroNet organisiert sich, ähnlich wie ipfs. Nämlich dezentral und nutzt dazu die aus Bittorrent und Bitcoin bekannte und bewährte P2P - kryptografie - Technologie. Die Bereitstellung von ganzen Server-Farmen für Dienste wie ..
E-Mail
Web- Hosting
Microblogging
User - Foren
P2P Filesharing
und.... und... und...
entfällt nämlich gänzlich. Damit Verbunden sind natürlich auch die anfallenden Unterhaltskosten für Wartung und Pflege, welche schnell mal astronomische Summen verschlingen können.
{% owl youtube LCLFhCE91ec %}
Nobody is perfect !
Ein falsch konfigurierter Server mit PHP und dem übrigen Servergedönse wie PHP,Mysql, Apache, Postfix usw. bieten die optimalen Grundvoraussetzungen um selbige Dienste von fremden Mächten unwissentlich missbrauchen zu lassen.
Zwar gibt es so genannte Server admins. Das sind Experten mit Ausbildungs - Zertifikat -Nachweis und sonstigen akademischen Auszeichnungen.
Die fast täglichen Nachrichten in den Medien von Datenklau und sonstigen gehackten Diensten, beweisen uns (mir zumindest) das kein Administrator auch nur annähernd perfekt sein kann.
Da ich diesbezüglich über kein ausreichendes Hintergrundwissen verfüge, welches sich mit akademischen Wissen vergleichen ließe, bieten Zeronet und Ipfs die optimalen Alternativen gegenüber den sonst üblichen Server-Client basierenden Diensten.
Funktion
Um es mit einfachen Worten zu beschreiben:
Zuerst legt Zeronet während der Installation einen Schlüssel an. Wenn man eine Webseite (ZeroZite) anlegt, wird diese mit einem zusätzliche generierten Private- Key signiert.
Mittels dem Private- Key ist man als Besitzer und Admin dieser Zeronet Seite oder des Blogs verifiziert und als solches natürlich auch befugt, Änderungen und/oder Ergänzungen vorzunehmen. Da der von Zeronet generierte Schlüssel nur ein einziges mal existiert, muss man sich keine Sorgen machen, das eventuell jemand unberechtigterweise die Seiten Manipulieren könnte.
Wir erinnern uns : Server - Client Dienste versucht man mittels ssh, ssl, tls usw. halbwegs sicher zu machen.
Der Private key wird übrigens in einer json Datei gespeichert. Und zwar in Zeronet/data/users.json Es empfielt sich, diese Datei an einem sicheren Ort aufzubewhren. Private Keys können bei Verlust nicht mehr wiederhergestellt werden.
Content publizieren
Das es im Gegensatz zum clearnet (noch) keine Suchmaschinen wie Startpage oder Duckduckgo gibt, muß man zunächst einmal den eigenen content innerhalb der Zeronet- Gemeine Publizieren.
Dies geschieht am besten wenn man die Zeronet URl des eigenen Blogs durch ein Posting auf 0list.bit veröffentlicht.
Um der breiten Masse, also all denjenigen, welche wie gewohnt im clearnet unterwegs sind, den selben content zugänglich zu machen, bieten sich sogenannte Web -Proxy’s wie zeronet.korso.win an.
Das Urheberrecht
Da Zeronet ein P2P basierendes Netzwerk ist und mit normalen IP-Adresen arbeitet hat es nichts mit dem, was man als Darknet bezeichnet, zu tun. Auch wenn man Zeronet gewissermaßen Torifizieren kann, solltet ihr euch vorher wohl weislich sehr gut darüber im klaren sein, welche Inhalte ihr sharen dürft.
Raspianer
Wer einen Raspi herumliegen hat, setzt eine Tor Instanz, plus einen Mini Webserver auf und publiziert selbigen content zusätzlich noch über das Tor Netzwerk.
Für den Serverstart reicht ein simples
python3 -m http.server
Dabei wird einfach das Python-Modul “SimpleHTTPServer” direkt aufgerufen. Dieses startet dann automatisch einer HTTP-Server, welcher generell (!) erreichbar ist und per dafault auf Port 8000 lauscht. Somit ist der Server auch von außen zu erreichen, sofern der Rechner mit dem Internet verbunden ist. Ausgeliefert werden können alle (und alle heißt wirklich alle!) Dateien, welche im Verzeichnis und allen Unterverzeichnissen liegen, in dem der Befehl ausgeführt wurde. Gibt es in diesem Verzeichnis eine Datei “index.html” so wird diese - wie bei anderen HTTP-Servern auch - standardmäßig ausgeliefert, sofern die die URL des Servers ohne weitere Angaben aufgerufen wird. Zum Testen kann man den Server nur per Browser auf dem gleichen Rechner über die URL http://localhost:8000 erreichen.
WARNUNG:
Wie oben bereits erwähnt, liefert der Server alle Dateien aus, die im gleichen Verzeichnis liegen, vom dem der Aufruf erfolgte, inklusive aller Unterverzeichnissen, also rekursiv. Ruft man den Befehl ausgehend vom Wurzelverzeichnises des Dateisystems auf, so wäre prinzipiell das komplette Dateisystem zum Download oder mindestens zur einsicht für jeder mann “offen”! Daher sollte man immer doppelt prüfen, in welchem Verzeichnis man sich befindet, bevor man diesen Befehl ausführt!
Im Normalfall würde der Python - Webserver aus dem Verzeichnis ~/zeroblog/public heraus gestartet werden.
Zudem ist noch zu beachten, dass der Server immer mit den Rechten des Nutzers läuft, der ihn gestartet hat.
Der Python html Server lässt sich übrigens auch unter angabe eines frei wählbaren ports starten.
python3 -m http.server [port-nummer]