PeerWeb: Dezentrales Website-Hosting über WebTorrent
(peerweb.lol)- Ein System zur Verteilung von Websites ohne zentralen Server über ein auf WebTorrent basierendes Peer-to-Peer-Netzwerk
- Nutzer können einen Website-Ordner per Drag-and-Drop hochladen und ihn über einen eindeutigen PeerWeb-Link teilen
- Bleibt der Browser-Tab geöffnet oder wird der Desktop-Client verwendet, bleibt das Hosting dauerhaft aktiv
- Sicherheitsfilterung auf Basis von DOMPurify, Sandbox-Ausführung und smartes Caching erhöhen Sicherheit und Geschwindigkeit
- Ein dezentrales Webhosting-Modell mit Zensurresistenz, geringeren Kosten und globaler Verteilung, das viel Aufmerksamkeit auf sich zieht
Überblick über PeerWeb
- PeerWeb ist ein System zum Hosting von Websites ohne zentralen Server auf Basis der WebTorrent-Technologie
- Die Website wird verteilt im Peer-to-Peer-Netzwerk gespeichert und erreicht dadurch Zensurresistenz und ständige Verfügbarkeit
- Nutzer können statische Websites hochladen, die aus HTML, CSS und JavaScript bestehen
- Nach dem Upload ist die Seite über den erzeugten eindeutigen Hash und die PeerWeb-URL für alle zugänglich
Upload- und Hosting-Verfahren
- Wird ein Website-Ordner per Drag-and-Drop abgelegt, wird er automatisch verarbeitet und hochgeladen
- Nach dem Upload werden ein Hash und eine PeerWeb-URL erzeugt und können sofort geteilt werden
- Solange der Browser-Tab geöffnet bleibt, fungiert dieser Tab als Hosting-Knoten
- Bleibt der Tab offen, können andere Nutzer auf die Website zugreifen
- Mit dem Desktop-Client (Windows, macOS, Linux) ist dauerhaftes Hosting auch ohne geöffneten Tab möglich
Verwendung
- ① Eine statische Website mit HTML/CSS/JS erstellen
- ② Den Ordner auf die PeerWeb-Seite ziehen und per Drag-and-Drop hochladen
- ③ Den erzeugten eindeutigen Link teilen
- ④ Den Browser-Tab geöffnet lassen oder den Client ausführen, um das Hosting fortzusetzen
Bestehende Websites laden
- Um eine bestehende Website zu laden, wird der Torrent-Hash eingegeben
- PeerWeb ergänzt automatisch das Magnet-Link-Präfix und die Tracker-Informationen
- Als Beispieldemos werden SomaFM, Schachspiel und die Texteditor-App angeboten
Funktionen für Entwickler
- Wird
&debug=truezur URL hinzugefügt, wechselt die Anwendung in den Debug-Modus und zeigt den Fortschritt detailliert an - Über den erweiterten Torrent-Generator lassen sich Torrent-Dateien direkt erstellen
- Funktionen zum Leeren des Caches und für erweiterte Einstellungen sind vorhanden
Smartes Caching
- Besuchte Websites werden in IndexedDB gespeichert und können dadurch sofort neu geladen werden
- Der Cache wird nach 7 Tagen automatisch gelöscht
- Es werden nur mit DOMPurify bereinigte Inhalte gespeichert
- Auch offline ist der Zugriff auf gecachte Websites möglich
Sicherheitsfunktionen
- Durch die Integration von DOMPurify wird sämtliches HTML bereinigt, um XSS-Angriffe zu blockieren
- Es werden gefährliche Tags und Attribute entfernt, Sandbox-iframes ausgeführt und Ressourcen verifiziert
- Alle Dateien werden in einer isolierten Umgebung ausgeführt, was die Sicherheit erhöht
Anforderungen an Websites
- index.html muss im Root-Verzeichnis oder in einem Unterordner enthalten sein
- Für alle Ressourcen müssen relative Pfade verwendet werden
- Es sind nur statische Inhalte erlaubt (HTML, CSS, JS, Bilder, Schriftarten usw.)
- Responsives Design wird empfohlen
- Inhalte werden automatisch sicherheitsbereinigt
Wichtige Vorteile
- Zensurresistenz: Kein zentraler Server, daher nicht blockierbar
- Kostensenkung: Keine Hosting-Gebühren
- Globale Verteilung: Automatische Verbreitung zwischen Peers weltweit
- Ständige Verfügbarkeit: Zugänglich, solange Peers online sind
- Sicherheit: Sandbox-Ausführung und XSS-Schutz
- Schnelle Ladezeiten: Dank smartem Caching ist ein sofortiger erneuter Besuch möglich
- Einfache URL-Struktur: Zugriff allein über den Torrent-Hash möglich
- Offline-Zugänglichkeit: Gecachte Websites funktionieren auch ohne Internet
Fazit
- PeerWeb ist eine dezentrale Webhosting-Plattform auf Basis von WebTorrent, die
Zensurresistenz, Kosteneffizienz und Sicherheit zugleich bietet und damit einen neuen Ansatz für die Verteilung von Webinhalten darstellt
3 Kommentare
Ist das nicht IPFS??
Ich habe damit einmal Video-Streaming gebaut. Das hatte tatsächlich Wirkung.
Hacker-News-Kommentare
2020 habe ich einmal einen PoC gebaut, um Linux-Distributionen über WebTorrent zu hosten und zu verteilen; das Protokoll selbst ist wirklich hervorragend designt, steckt in letzter Zeit aber fast vollständig fest
Es gibt nur noch ein paar stabile WebRTC-basierte Tracker
Das zugehörige Projekt ist unter LinuxExchange zu sehen
Wenn Browser einen echten Torrent-Client unterstützt hätten, wäre das eine völlig andere Welt gewesen
Wegen der Einschränkungen von WebRTC konnten alte Probleme nicht gelöst werden
Es nutzte experimentelle Funktionen von libdweb, die inzwischen verworfen wurden
Damals konnte man URLs wie
wtp://tomjwatson.com/blogdirekt im Browser öffnenZum Beispiel habe ich durch die WebTorrent-FAQ etwas Neues gelernt
Ich weiß nicht, worin genau der Unterschied zu WebTorrent selbst liegt, aber allein die Existenz ist interessant
Ich sehe nicht so recht, welchen Vorteil sie gegenüber der Nutzung eines bestehenden Torrent-Clients haben
Wenn es weniger Bugs gibt, könnte es vielleicht irgendwann brauchbar werden
Ich entwerfe gerade Dinge wie ein verteiltes Anti-Abuse-Protokoll, bevorzugte Verteilung populärer Dateien, eine Streaming-UGC-API, mit der man schon während des Uploads direkt teilen kann, eine natürliche Integration mit Website-URLs sowie eine automatische Umschaltung auf ein CDN je nach Latenz
Früher habe ich es eingestellt, aber ich plane, es bald wieder aufzunehmen
Im Moment bleibt es bei „Connecting to peers…“ hängen und funktioniert nicht
Ich sehe oft, dass mit Claude erstellte Projekte eine ähnliche Palette verwenden
Das Frontend von Lovable fühlt sich ähnlich an
Wenn man mit demselben Prompt wiederholt generiert, neigen die Ergebnisse dazu, ähnlich zu werden
Das ist einer der Gründe für die Monotonie des „vibecoded“-Stils
Ich ändere solche Stellen auch immer, wenn ich AI nutze
Ein iframe sandbox allein wäre schon ausreichend, und idealerweise würde man den Torrent-Hash als Subdomain verwenden und die Same-Origin-Policy ausnutzen
Wenn man ein JS-Frontend davorsetzt und die Website P2P hostet, könnte das bei mehr Traffic auch einen DDoS-Abwehreffekt haben
Je höher die Anonymität, desto problematischer, und auch der Grund, warum YouTube ein Monopol hat, liegt hier
Wenn sich AI-basierte Zensurtechnologien weiterentwickeln, könnte es etwas besser werden
Einen noch gepflegten Fork gibt es unter zeronet-conservancy
MDwiki ist eine einzelne HTML-Datei, die Markdown per AJAX lädt und mit JS rendert
Das Ergebnis ist unter diesem Link zu sehen