世界を動かす技術を、日本語で。

Peerweb: WebTorrentを利用した分散型ウェブサイトホスティング

概要

PeerWebはWebTorrent技術を活用した分散型ウェブホスティングサービス。 中央サーバー不要で検閲耐性や高可用性を実現。 静的サイトを簡単にアップロード・共有可能。 高度なキャッシュやセキュリティ機能を搭載。 利用・デモ・要件・利点などを以下で詳述。

PeerWebとは

  • PeerWebWebTorrent技術 を利用した 分散型ウェブホスティング サービス
  • 中央サーバー非依存、ピア・ツー・ピア(P2P)による 検閲耐性高可用性
  • 静的ウェブサイト (HTML, CSS, JavaScript等)の 簡単アップロード・共有
    • フォルダをドラッグ&ドロップでアップロード
    • 一意なPeerWebリンクを自動発行
  • タブを開いたまま、または デスクトップクライアント利用継続ホスティング 可能

利用方法

  • 静的ウェブサイト作成 (HTML, CSS, JS, 画像、フォント等)
  • ドラッグ&ドロップ でアップロード
  • PeerWebリンク共有 で世界中からアクセス可能
  • 既存サイトの読み込み も可能
    • トレントハッシュのみ入力(magnetリンクやトラッカーは自動付与)

デモ・サンプル

高度なキャッシュ機能

  • スマートキャッシュ による 高速再読込
    • IndexedDB を活用した 永続保存
    • キャッシュ自動削除 (7日間経過で消去)
    • DOMPurify でサニタイズ後のみキャッシュ保存

セキュリティ機能

  • DOMPurify による XSS対策
    • HTML全体をサニタイズ、危険なタグや属性を削除
  • サンドボックス実行 (iframe隔離)
  • リソース検証 による 安全性確保

サイト要件

  • index.html ファイル必須(ルートまたはサブフォルダ内)
  • リソースは相対パス指定
  • 静的コンテンツのみ 対応(HTML, CSS, JS, 画像等)
  • サンドボックス環境 での提供
  • レスポンシブデザイン 推奨
  • 自動サニタイズ によるセキュリティ確保

利点・特徴

  • 検閲耐性 :中央障害点が存在しない
  • コスト不要 :ホスティング料金ゼロ
  • グローバル配信 :世界中へ自動分散
  • 高可用性 :ピアが存在すれば常時アクセス可能
  • セキュリティ :サンドボックス+XSS対策
  • リアルタイム進捗表示 :ダウンロード状況やピア統計
  • 高速再読込 :スマートキャッシュ機能
  • シンプルURL :トレントハッシュだけでアクセス可能
  • オフライン対応 :キャッシュ済みサイトはネット不要

公式リポジトリ

Hackerたちの意見

これは面白いね!Webtorrentを使った動画配信は特に興味深いと思う。これをフロントエンドとして追加して、サイトをDDOS攻撃から守れるようにしたらいいな。普通のサイトをホストするけど、トラフィックが増えるほどP2Pでサイトをホストする感じで。

ユーザーがアップロードした動画をスケールで配信するのは非常に難しいし、ホストにとって危険だと思う。特にモデレーションの観点からはね。みんなが匿名だと問題はさらに悪化する。YouTubeが個人動画ホスティングでそんなに独占的な理由があるんだよね。AIモデレーションの進展があれば、将来的にはもっと受け入れやすくなるかも。

動画コンテンツにはPeerTubeがあるよ。

楽しい!WebTorrentがもっと広まってほしかったな。現代のP2Pの話題において、ちゃんとした位置を持っていると思ってる。2020年には、WebTorrentを使ってLinuxディストリビューションをホスティング・配布するためのPoCをいじってたんだ。プロトコルプロジェクト全体は素晴らしいデザインだけど、最近はほとんど停滞してるね。アクティブで安定しているWebRTC対応のトレントトラッカーはほんの数個しか残ってない。1. https://github.com/leoherzog/LinuxExchange

http://bittorrented.com

一般的に言って、ウェブトレントは本物のトレントみたいにうまく機能してないから、ちゃんとした仕事ができてないと思う。大規模なビットトレントベースのストリーミングメディアネットワークはたくさんあるけど、確かに違法だけど、実績のある技術だよね。もしブラウザに本物のトレントクライアントがあれば、全然違う話になってたと思う。ウェブトレントの問題番号はすぐには思い出せないけど、webrtcの制限でブロックされてる長年の問題がいくつかあるみたい。

ウェブベースのJigdoってあったのかな?

これクールだね!実は昔似たようなものに取り組んでたんだ: https://github.com/tom-james-watson/wtp-ext。完全に中間のウェブサイトを必要としない仕組みだったよ。面白いのは、実験的なlibdwebサポートを使ってブラウザレベルで動いてたこと。ただ、残念ながらそれはもう放棄されちゃったけど。実際にブラウザでwtp://tomjwatson.com/blogみたいなURLを直接読み込むことができたんだ。

こういう(AI生成っぽい)プロジェクトの価値の一つは、あまり知らなかった技術に気づかせてくれるところだと思う。例えばWebTorrentとかね: https://webtorrent.io/faq すごく面白い!WebTorrent自体に対して何を提供するのかはよく分からないけど、存在を知れて嬉しかったよ。

Peerwebが特定の種類の素材のアップロードを止めるのは難しいんじゃないかな。

誰かが特定の不快な素材を口頭で説明するのを止めることはできないから、音が伝わる媒体を規制して、地球上の酸素を全部吸い取るべきだよ。それが子供たちを救う唯一の方法だ。

小さいサイトは、たぶん小さいフットプリントになるよね。

いいね。壊れたデモについて文句を言ってる人もいたけど、mdwiki.infoのウェブサイトをそのままアップロードしたら、ちゃんと動いてるみたい。[0] MDwikiは、HTMLファイルに対して相対的にカスタムマークダウンをAJAXで取得して、JavaScriptでレンダリングする単一の.htmlファイルだよ。[0]: https://peerweb.lol/?orc=b549f37bb4519d1abd2952483610b8078e6... [1]: https://dynalon.github.io/mdwiki/

なんでMDwikiって呼ばれてるの?明らかにウィキじゃないじゃん。

これを試すたびに、いつも動かないんだよね。これも含めて。トレントクライアントを使うのと何が違うのか、よくわからないな。バグが少なくなったら、流行るかもしれないけど。

最終的には、同じ名前のオープンソースプラットフォーム(peerweb.com)を立ち上げる予定なんだ。もっと使いやすくなることを願ってるよ。分散型のアンチアビューズプロトコルや、高リクエストファイルの自動資産配分優先、ストリーミングUGC API(例えば、動画をアップロードし始めたら、アップロードが完了する前にすぐに共有可能なリンクができる)、サイトURLとの適切な統合(醜いUUIDとかが見えたり必要になったりしない)、ピアの応答が遅くなったときに通常のCDNにフェイルオーバーするための調整可能なレイテンシー閾値を持ってるんだ。数年前にプロジェクトを休止したけど、もうすぐ再開するよ!私のプロジェクトはバイブコードされてなくて、これまでユーザーとサイトオーナーの期待を深く考慮して手動で設計されてきたんだ。

これらの色は、システムの指示としてハードコードされたウォーターマークの一種なのかな?クラウドを使って作られたスロップウェアはほとんど同じカラーパレットを持ってるし。ランダムなトークンジェネレーターがこれほど一貫してるとは思えないな。

うん、こういうサイトは絶対使いたくない。愛らしいフロントエンドやランディングページも似たような感じがする。信頼を失って、試してみようって気が一瞬でなくなるよね。

各行に絵文字があるのはAIのサインだね。AIを使うとき(シーッ…)は、いつもそれを消して言葉をちょっと調整してるよ。

https://en.wikipedia.org/wiki/Mode_collapse 現代の(ポストGPT-2)LLMにランダムな色や名前、都市を何度も聞いてみて。そうすると、実はそんなにランダムじゃないってわかるよ。プロンプトで影響を与えることはできるけど、プロンプトが毎回同じだと、出力はいつもすごく似たようなものになるんだ。特に色パレットが指定されていないバイブコードされたものにはそういう傾向があるよ。この効果は、スロップ(うざいステレオタイプのこと)に大きく関係してる。原理的には修正可能だけど、研究はあまり進んでないし、大きなAI企業が気にしてるとは思えないな。

No Javascript https://github.com/Omodaka9375/peerweb https://github.com/Omodaka9375/peerweb/releases/expanded_ass... アドレスがハッシュなら、公開鍵が含まれてるかもしれないね。