Serverlose statische Site mit IPFS

    TL; DR : IPFS ermöglicht das statische Hosten statischer Sites, auf die über öffentliche Zwischenspeicher (transparente Reverse-Proxies) im Internet zugegriffen werden kann, ohne dass ein Programm für einen Besucher installiert werden muss. Solche Sites können ohne eine routbare ("weiße") statische IP-Adresse verteilt werden (funktionieren für NAT). Sie bleiben betriebsbereit mit einem kurzzeitigen (mehrstündigen) Ausfall von Distributoren aufgrund des Cache an den Toren. Sie können Ihre Domäne optional an Gates binden und DNS-Einträge gleichzeitig zu mehreren Gates hinzufügen, um die Zuverlässigkeit und den Lastausgleich zu erhöhen. Die Site kann andere IPFS-Benutzer herunterladen und bei der Verteilung helfen.
    IPFS eignet sich hervorragend für statische Blogs, einfache Websites, Dateiarchive (als Bittorrent-Ersatz) und auch nur für die einmalige Übertragung großer Dateien, ohne sie zuvor in einen Dienst hochzuladen.

    Was ist IPFS?

    IPFS ist ein dezentralisiertes Peer-to-Peer-Dateiübertragungssystem, das grundsätzlich dem BitTorrent-Prinzip ähnelt, jedoch über HTTP für das Web zugänglich ist. Alle vom Benutzer heruntergeladenen Dateien werden vorübergehend vom IPFS-Dämon zwischengespeichert und an andere Benutzer verteilt, die sie anfragen. Wichtige Dateien können an den IPFS-Dämon angehängt werden (Pin) und werden dann nicht aus dem Cache entfernt.
    Zu IPFS hinzugefügte Dateien erhalten globale Hash-IDs, die sich beim erneuten Hinzufügen der Datei nicht ändern. Die Netzwerkadressierung erfolgt durch Inhaltskennungen (CIDs) , in denen der Multi-Cache enthalten ist . Im Kontext von IPFS geben sie an, dass Dateien, Verzeichnisse, Metadaten oder Symlinks nicht geändert oder geändert werden.

    Zum Zeitpunkt der Entwicklung funktioniert das Projekt nur mit statischen Daten, aber das Publisher-Subscriber-Protokoll (Publish / Subscribe) sowie die Javascript-Implementierung von IPFS, die in einem Browser ausgeführt wird, wird bereits experimentell unterstützt. Dies ermöglicht in Zukunft die Erstellung dynamischer Sites (z. B. Blogs mit Kommentaren) mit der Fähigkeit, in Echtzeit zu interagieren (z. B. Chats).

    Einer der größten Vorteile von IPFS im Vergleich zu anderen ähnlichen Technologien ist der Zugriff auf Ressourcen aus dem Internet durch Gates, die von Unternehmen und Technologieenthusiasten installiert werden. Sie ermöglichen das Durchsuchen von Websites und das Herunterladen von Dateien, ohne dass IPFS auf Ihrem Computer installiert werden muss. Das größte Tor stammt von Cloudflare . Es ermöglicht Ihnen außerdem, ein kostenloses HTTPS-Zertifikat für eine Domäne auszustellen.

    Warum brauche ich IPFS und wo kann ich es einsetzen?

    Das Netzwerk ermöglicht das effiziente Verteilen und Herunterladen von Daten, verteilt und dezent, auch vom Browser aus. Ich sehe die folgenden echten Projektanwendungen:

    1. Kostenloses Homeless Hosting statischer Websites auf einem Heimcomputer, ohne dedizierte IP-Adresse (hinter NAT), ohne Domäne oder mit Domäne;
    2. Nicht zensiertes Hosting von Websites mit hohem Risiko, die möglicherweise vom Staat oder von Drittunternehmen im Rahmen des DMCA blockiert werden;
    3. Verteilung periodisch ändernder oder hinzugefügter Daten, die nicht effizient über Bittorrent verteilt werden können (Sie müssen eine Torrent-Datei ständig neu erstellen und alle Händler bitten, sie erneut herunterzuladen, was zu einer Fragmentierung des Seed führt).
    4. Eine Alternative zu einem CDN, für das keine Einstellungen auf der Seite des CDN-Providers erforderlich sind.

    So erstellen Sie eine Site in IPFS

    Das ist einfacher als bei einem regulären Hosting! Betrachten Sie Obdachlose als Host für eine einfache statische Website.

    Die einfachste Option ist die Verwendung des Grafikdienstprogramms Siderus Orion .
    Installieren Sie das Dienstprogramm, starten Sie es, klicken Sie auf Datei → Verzeichnis hinzufügen, und wählen Sie das Verzeichnis mit den Standortdateien aus.

    Nach einiger Zeit erscheint ein Fenster mit Informationen über den importierten Inhalt:
    Bild

    Gehen Sie zur Registerkarte "Dateien", klicken Sie mit der rechten Maustaste auf den Hash → In Browser öffnen:
    Bild

    Wenn alles richtig gemacht wurde, wird die Website über das Gateway von siderus.com geöffnet:
    https: // siderus. io / ipfs / QmU8rJjkXbfkPqEE3Dr8GiUMKF1vPnnNUKWdaB5DsZDfJ7 /

    Das ist alles, Ihre statische Site steht anderen Benutzern zur Verfügung, während Sie das Programm ausführen oder im Cache des Gates bleiben.

    Alternative Konsolenversion - Laden Sie den offiziellen go-ipfs-Client herunter , entpacken Sie ihn, initialisieren Sie ihn und führen Sie ihn wie auf der Website beschrieben aus :
    ipfs init
    ipfs daemon

    Als nächstes fügen Sie unser Verzeichnis mit den Site-Dateien hinzu:
    ipfs add -r ./www.uncleoutrage.com
    …
    added QmXdaairbPoSGV98sQ3GsEuevVTE1EBUzZ4PhbLfKVh1nX www.uncleoutrage.com/images/fanart
    added QmdFbHdzzB4qBBkn8UsyHnjg1BKEtm9d5LaTyv5aZd8bbE www.uncleoutrage.com/images/gigs/thumbs
    added QmVPJ3Mr8gZL5x15A9XARC1uHASqb2JMsKTT7mWs37UmBo www.uncleoutrage.com/images/gigs
    added Qmd3AbVwMVE9W6ZSEuax96Xnymbnic4XVCdNEKBPZcWi5c www.uncleoutrage.com/images/live/thumbs
    added QmebUfmT2wmZMbJcAmSMS4cZJr4guTqV67xNJ3hiQGsLYx www.uncleoutrage.com/images/live
    added QmaEVaRiUUXfDnjjuXHGGsg7jDaFrCaxS7wi6q83q4N1uu www.uncleoutrage.com/images/misc/thumbs
    added QmW2ZivQF5eh5LHSLet298AhKCHiQsFV6rvUFvMcCkLopo www.uncleoutrage.com/images/misc
    added QmZXXn7abBvj7SvYJoYMAXUeajP6A1UABKENrNwuhKqofk www.uncleoutrage.com/images/promo/thumbs
    added Qmcx6bMKur4Anzh91bJC6o5vMPftzocSMmd7iYxoGwQrNX www.uncleoutrage.com/images/promo
    added QmW8P3ZnvKUytCWJF6y6wvBD8XAkk4bvJoVK8j3apokzLS www.uncleoutrage.com/images
    added QmXG1QjfpCjErQBGZvF6VWBryXe9WFLPqhrsGWtikACVwR www.uncleoutrage.com/js
    added QmYGXwLJBnqXwWYGKVtjZtmwncgwNoqNmnYqo1NTinTGBp www.uncleoutrage.com/theband/misc/pages
    added QmWg4JyZ4ox9hcHt6JGBfzUm5CqWsb6DixUksamFvbirH4 www.uncleoutrage.com/theband/misc
    added QmPtn9XBhWqe7A1z3ikktWExSPSM27LTzUL3US9N5xcAPB www.uncleoutrage.com/theband/redsaug21/pages
    added QmaGV6kfLdL1bKGBBHYJLDVstiejAANayBZt16NMF9g9j9 www.uncleoutrage.com/theband/redsaug21
    added QmScmcUAdC5pinMxaoLuXSy3FDUAX5E68dADnGjYZbPUiY www.uncleoutrage.com/theband
    added QmU8rJjkXbfkPqEE3Dr8GiUMKF1vPnnNUKWdaB5DsZDfJ7 www.uncleoutrage.com

    Der letzte Hash ist das Verzeichnis-Hash, und wir brauchen ihn.

    Wir erstellen einen Link, um das Verzeichnis manuell über das Gate zu öffnen, z.
    https://домен/ipfs/хеш

    Zum Beispiel:
    https://cloudflare-ipfs.com/ipfs/QmU8rJjkXbfkPqEE3Dr8GiUMKF1vPnnNUKWdaB5DsZDfJ7

    Wie binden Sie einen IPFS-Hash an eine Domäne?

    Um eine Website über die Domäne https://uncleoutrage.com/ und nicht über einen langen und hässlichen Link zugänglich zu machen , müssen Sie mehrere DNS-Einträge hinzufügen:

    1. A- und AAAA-Einträge, die auf die IP-Adresse des Gateways zeigen, oder CNAME-Einträge, die auf den Domänennamen des Gateways zeigen.
    2. TXT-Record "_dnslink", mit dem Inhalt der Form "dnslink = / ipfs / HASH".

    In meinem Fall habe ich A- und AAAA-Einträge hinzugefügt, die auf die IP-Adressen von cloudflare-ipfs.com und den TXT-Eintrag "_dnslink.uncleoutrage.com" verweisen:
    uncleoutrage.com.  IN  A 104.18.252.167
    uncleoutrage.com.  IN  A 104.18.255.167
    uncleoutrage.com.  IN  AAAA 2400:cb00:2048:1::6812:fda7
    uncleoutrage.com.  IN  AAAA 2400:cb00:2048:1::6812:40a8
    _dnslink.uncleoutrage.com. IN TXT "dnslink=/ipfs/QmU8rJjkXbfkPqEE3Dr8GiUMKF1vPnnNUKWdaB5DsZDfJ7"

    Sie können ein HTTPS-Zertifikat für eine zugeordnete Domäne von Cloudflare erhalten. Sie müssen es auf einer speziellen Seite für den Zertifikatempfang anfordern .
    Wenn Sie keine HTTPS-Unterstützung benötigen, können Sie mehrere A / AAAA-Datensätze gleichzeitig zu verschiedenen Gattern hinzufügen. Die aktuelle Liste der funktionierenden Gates ist im Projektforum verfügbar .
    Im Falle einer Aktualisierung der Site müssen Sie den Eintrag der TXT-Domäne aktualisieren.

    Wie kann der TXT-Datensatz beim Aktualisieren der Site nicht aktualisiert werden?

    IPFS ermöglicht den Wechsel Hash spezielle statische Hash - Kennung zu erzeugen , das anzeigt - IP N S . Im grafischen Client reicht es aus, auf Datei → In IPNS veröffentlichen zu klicken und im Link oder in den TXT-Datensätzen der Domäne Ihre Peer-ID anzugeben, nicht den beim Hinzufügen des Verzeichnisses erhaltenen Hash. Zum Beispiel:
    https://cloudflare-ipfs.com/ipns/QmV97DGqaaTVn54RH9CLTi9hxXfr57gJQ4zGtyHcVbtfH6

    Der IPNS-Datensatz muss jedoch alle paar Stunden manuell aktualisiert (veröffentlicht) werden, und sie sind viel langsamer / rezolvitsya / ipfs /.

    Übrigens kann IPNS nicht nur CID, sondern auch dnslink-domain-Datensätze rezolvitieren - die Site kann über den Link wie https://cloudflare-ipfs.com/ipns/uncleoutrage.com geöffnet werden .

    Fazit

    Wenn Sie mehr über IPFS erfahren möchten, lesen Sie die ivan386- Serie mit ausgezeichneten Artikeln . Sie sind geeky und können kaum sagen, warum eine gewöhnliche Person IPFS benötigt (sonst wäre dieser Artikel nicht vorhanden). Möchten Sie bei der Verteilung von IPFS-Sites helfen oder informiert werden, dass die Domäne an ein IPFS-Gate gebunden ist? Installieren Sie ein Browser-Add-On (für Firefox für Chrome ), das IPFS-Sites auf Ihren lokalen Knoten umleitet. Anti-ban verteilt seit mehreren Monaten täglich ein Terabyte PAC-Dateien über IPFS mit Cloudflare-Gate. Es arbeitet stabil und spart Server-Verkehr erheblich.




    Jetzt auch beliebt: