- WebTorrentベースのピアツーピアネットワークを利用して、Webサイトを中央サーバーなしで配信するシステム
- ユーザーはWebサイトフォルダをドラッグ&ドロップしてアップロードし、固有のPeerWebリンクを通じて共有可能
- ブラウザタブを開いたままにするか、デスクトップクライアントを使うことで継続的なホスティングを維持
- DOMPurifyベースのセキュリティフィルタリング、サンドボックス実行、スマートキャッシュなどで安全性と速度を強化
- 検閲耐性、コスト削減、グローバル分散性を備えた分散型Webホスティングモデルとして注目
PeerWeb概要
- PeerWebはWebTorrent技術を利用して、Webサイトを中央サーバーなしでホスティングするシステム
- Webサイトはピアツーピアネットワークを通じて分散保存され、検閲耐性と常時可用性を確保
- ユーザーはHTML、CSS、JavaScriptなどで構成された静的Webサイトをアップロード可能
- アップロード後に生成される固有ハッシュとPeerWeb URLを通じて誰でもアクセス可能
アップロードとホスティング方式
- Webサイトフォルダをドラッグ&ドロップすると自動的に処理され、アップロード完了
- アップロード後、ハッシュ(Hash) と PeerWeb URLが生成され、すぐに共有可能
- ブラウザタブを開いたままにすると、そのタブがホスティングノードの役割を果たす
- タブを閉じずに維持すれば、ほかのユーザーがサイトにアクセス可能
- デスクトップクライアント(Windows, macOS, Linux) を利用すると、タブを開かなくても継続的ホスティングが可能
使い方
- ① HTML/CSS/JSで静的サイトを作成
- ② PeerWebページにフォルダをドラッグ&ドロップしてアップロード
- ③ 生成された固有リンクを共有
- ④ ブラウザタブを維持するかクライアントを実行してホスティングを継続
既存サイトの読み込み
- 既存のWebサイトを読み込むにはTorrentハッシュを入力
- PeerWebが自動的にマグネットリンク接頭辞とトラッカー情報を追加
- サンプルデモとして**SomaFM、チェスゲーム、テキストエディタ アプリ**などを提供
開発者向け機能
- URLに
&debug=true を追加するとデバッグモードに切り替わり、進行状況を詳細表示
- 高度なTorrentジェネレーターを通じて直接Torrentファイルを作成可能
- キャッシュ初期化および高度な設定機能を提供
スマートキャッシュ
- 訪問したサイトをIndexedDBに保存し、即時リロードをサポート
- キャッシュは7日後に自動削除
- DOMPurifyでサニタイズされたコンテンツのみ保存
- オフライン状態でもキャッシュ済みサイトにアクセス可能
セキュリティ機能
- DOMPurify統合により、すべてのHTMLをサニタイズしてXSS攻撃を遮断
- 危険なタグおよび属性の削除、サンドボックスiframe実行、リソース検証を実施
- すべてのファイルは隔離された環境で実行され、セキュリティを強化
サイト要件
- ルートまたはサブフォルダにindex.htmlを含めることが必須
- すべてのリソースは相対パスを使用
- 静的コンテンツのみ許可 (HTML, CSS, JS, 画像, フォントなど)
- レスポンシブデザインを推奨
- コンテンツは自動的にセキュリティサニタイズ処理される
主な利点
- 検閲耐性: 中央サーバーがないためブロック不能
- コスト削減: ホスティング料金なし
- グローバル分散性: 世界中のピア間で自動配信
- 常時可用性: ピアがオンラインである限りアクセス可能
- 安全性: サンドボックス実行とXSS保護
- 高速読み込み: スマートキャッシュにより即座に再訪可能
- シンプルなURL構造: Torrentハッシュだけでアクセス可能
- オフラインアクセス性: キャッシュ済みサイトはインターネットなしで動作
結論
- PeerWebはWebTorrentベースの分散型Webホスティングプラットフォームであり、
検閲耐性・コスト効率・安全性を同時に提供する新しいWeb配信方式
3件のコメント
IPFSってこれではないんですか??
これを使って動画ストリーミングを作ったことがありました。効果はありました。
Hacker Newsの意見
2020年にLinuxディストリビューションをWebTorrentでホスティング・配布するPoCを作ってみたが、プロトコル自体は本当に優れた設計なのに、最近はほとんど停滞状態だ
WebRTCベースのトラッカーも、安定して残っているものはわずかしかない
関連プロジェクトはLinuxExchangeで見られる
ブラウザが本物のトレントクライアントをサポートしていたら、まったく違う世界になっていただろう
WebRTCの制約のせいで、古い問題が解決されないままになっている
libdwebの実験機能を使っていたが、今は廃止されている
当時は
wtp://tomjwatson.com/blogのようなURLをブラウザでそのまま開けたたとえばWebTorrent FAQを見て新しく学んだ
WebTorrent自体と比べてどんな差別化があるのかは分からないが、存在するだけでも興味深い
既存のトレントクライアントを使うのと比べてどんな利点があるのかよく分からない
バグが減れば、いつか実用的になるかもしれない
分散型のanti-abuseプロトコル、人気ファイルの優先配信、アップロード中でもすぐ共有できるストリーミングUGC API、サイトURLとの自然な統合、さらに遅延に応じてCDNへ自動切り替えする機能などを設計中だ
以前はいったん中断したが、まもなく再開するつもりだ
今は「Connecting to peers...」で止まって動かない
Claudeで作ったプロジェクトが似たパレットを使っているのをよく見る
Lovableのフロントエンドも似たような感じだ
同じプロンプトで繰り返し生成すると、結果が似通う傾向がある
これが“vibecoded”スタイルの単調さを生む原因のひとつだ
自分もAIを使うときは、そういう部分をいつも修正している
単にiframe sandboxだけ使えば十分で、理想的にはトレントハッシュをサブドメインに使ってsame-originポリシーを活用するのがよい
JSフロントエンドを付けてサイトをP2Pでホスティングすれば、トラフィックが多いほどDDoS防御の効果もありそうだ
匿名性が高いほどさらに問題で、YouTubeが独占している理由もそこにある
AIベースの検閲技術が進歩すれば、少しは改善するかもしれない
まだ維持されているフォークがzeronet-conservancyにある
MDwikiは単一のHTMLファイルで、AJAXでMarkdownを読み込み、JSでレンダリングする
結果はこのリンクで見られる