IPFSを使用したサーバーレス静的サイト

TL; DR :IPFSを使用すると、訪問者向けのプログラムをインストールすることなく、インターネット上のパブリックキャッシュゲート(透明なリバースプロキシ)からアクセスできる静的サイトを分散的にホストできます。 このようなサイトは、ルーティング可能な(「ホワイト」)静的IPアドレスなしで配布できます(NATで機能します)。ゲート上のキャッシュにより、短時間(数時間)配信サイトが存在しない場合でも動作します。 必要に応じてドメインをゲートにバインドできます。また、複数のゲートにDNSレコードを同時に追加して、信頼性と負荷分散を向上させることができます。 他のIPFSユーザーは、サイトをダウンロードして配布を支援できます。

IPFSは、静的なブログ、単純なサイト、ファイルアーカイブ(Bittorrentの代わりとして)に最適です。また、最初にサービスにダウンロードせずに大きなファイルを同時に転送する場合にも適しています。



IPFSとは何ですか?

IPFSは、原則としてBitTorrentに似ていますが、Web用にHTTP経由でアクセスする機能を備えた、分散型のピアツーピアファイル転送システムです。 ユーザーがダウンロードしたすべてのファイルは、IPFSデーモンによって一時的にキャッシュされ、それらを要求する他のユーザーに配布されます。 重要なファイルは、IPFSデーモンに「添付」(ピン)できますが、キャッシュから消えることはありません。

IPFSに追加されたファイルは、ファイルが再度追加されても変更されないグローバルハッシュを受け取ります。 ネットワーク内のアドレス指定は、 コンテンツ識別子(CID)によって実行され、その中にはマルチハッシュがあります。 IPFSのコンテキストでは、ファイル、ディレクトリ、メタデータ、またはシンボリックリンクを変更または変更しないことを指します。



開発の現時点では、プロジェクトは静的データのみで完全に動作しますが、パブリッシャー-サブスクライブ(パブリッシュ/サブスクライブ)などのプロトコルの実験的サポート、およびブラウザーで動作するJavascriptでのIPFS実装が既にあり、将来的には動的なサイト(たとえば、リアルタイムインタラクション(チャットなど)を使用した解説ブログ)。



他の同様の技術と比較したIPFSの主な利点の1つは、企業や技術愛好家が設置するゲートを介したインターネットからのリソースへのアクセスです。 IPFSをコンピューターにインストールしなくても、サイトを閲覧してファイルをダウンロードできます。 最大のゲートはCloudflareからのもので、ドメイン用の無料のHTTPS証明書を発行することもできます。



IPFSが必要な理由と使用場所

このネットワークを使用すると、ブラウザなどから効率的にデータを配信および分散して配信およびダウンロードできます。 プロジェクトには次の実際のアプリケーションが表示されます。



  1. 専用IPアドレス(NAT用)、ドメイン、またはドメインなしで、自宅のコンピューターで静的Webサイトを無料でホスティング。
  2. DMCAに基づいて政府または第三者企業によってブロックされる可能性のある、リスクの高いサイトの検閲管理されていないホスティング。
  3. Bittorrentを介して効果的に配信できない定期的に変更または追加するデータの配信(トレントファイルを常に再作成し、すべてのディストリビュータに再度ダウンロードするように依頼する必要があり、シードの断片化につながります);
  4. 「CDNプロバイダー」側の設定を必要としないCDNの代替。


IPFSでサイトを作成する方法は?

これは通常のホスティングよりも簡単です! 単純な静的サイトをホストすることを検討してください。



最も簡単なオプションは、 Siderus Orionグラフィカルユーティリティを使用することです。

ユーティリティをインストールして実行し、[ファイル]→[ディレクトリの追加]をクリックして、サイトファイルのあるディレクトリを選択します。



しばらくすると、インポートされたコンテンツに関する情報を示すウィンドウが表示されます。

画像



[ファイル]タブに移動し、ハッシュを右クリック→ブラウザーで開く:

画像



すべてが正しく行われた場合、サイトはsiderus.comゲートから開きます。

https://siderus.io/ipfs/QmU8rJjkXbfkPqEE3Dr8GiUMKF1vPnnNUKWdaB5DsZDfJ7/



それだけです。プログラムを実行している間、またはゲートキャッシュに残っている間、他のユーザーは静的サイトにアクセスできます。



代替コンソールオプション -公式のgo-ipfsクライアントをダウンロードし、解凍し、サイトに記載されているとおりに初期化して起動します

ipfs init ipfs daemon
      
      





次に、サイトファイルを使用してディレクトリを追加します。

 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
      
      





最後のハッシュはディレクトリのハッシュであり、必要です。



次の形式で、ゲートを介して手動でディレクトリを開くリンクをコンパイルします。

 https:///ipfs/
      
      





例:

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



IPFSハッシュをドメインにバインドする方法は?

長くていリンクではなく、ドメインhttps://uncleoutrage.com/からWebサイトにアクセスできるようにするには、いくつかのDNSレコードを追加する必要があります。



  1. ゲートウェイのIPアドレスを指すAおよびAAAAレコード、またはゲートのドメイン名を指すCNAMEレコード。
  2. TXTレコード「_dnslink」、「dnslink = / ipfs / HASH」などのコンテンツ。


私の場合、cloudflare-ipfs.comのIPアドレスを指すAおよびAAAAレコードと、TXTレコード「_dnslink.uncleoutrage.com」を追加しました。

 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"
      
      





リンクドメインのCloudflareからHTTPS証明書を取得できます証明書を取得するための特別なページで証明書を要求する必要があります

HTTPSサポートが不要な場合は、複数のA / AAAAレコードを異なるゲートに一度に追加できます。現在の作業ゲートのリストは、プロジェクトフォーラムで入手できます。

サイトを更新する場合は、ドメインのTXTレコードも更新する必要があります。



サイトの更新でTXTレコードを更新しない方法

IPFSでは、変化するハッシュ( IP N S)を指す特別な静的ハッシュ識別子を生成できます グラフィカルクライアントで、[ファイル]→[IPNSに公開]をクリックし、ディレクトリの追加時に取得したハッシュではなく、リンクまたはドメインのTXTレコードでピアIDを指定します。 例:

 https://cloudflare-ipfs.com/ipns/QmV97DGqaaTVn54RH9CLTi9hxXfr57gJQ4zGtyHcVbtfH6
      
      





ただし、IPNSレコードは数時間ごとに手動で更新(公開)する必要があり、非常に遅い/ ipfs /を解決します。



ところで、IPNSはCIDだけでなく、ドメインのdnslinkレコードも解決できます-https://cloudflare-ipfs.com/ipns/uncleoutrage.comのようなリンクを使用してサイトを開くことができます



おわりに

IPFSについて詳しく知りたい場合は、 一連の優れた ivan386 記事を読んでください。 彼らはオタクで、普通の人がIPFSを必要とする理由をほとんど教えません(そうでなければ、この記事は必要ありませんでした)。



IPFSサイトの配布を支援したい、またはドメインがIPFSゲートに関連付けられていることを知りたいですか? IPFSサイトをローカルノードにリダイレクトするブラウザーアドオン( FirefoxChrome用 )をインストールします。



Anti-Banは、数か月間、Cloudflareゲートを使用してIPFSを介して1日あたりテラバイトのPACファイルを配信しています。 安定して動作し、サーバーのトラフィックを大幅に節約します。



All Articles