概要
Redd-Archiver は、Reddit・Voat・Ruqqusなど複数プラットフォームのデータダンプを、 閲覧可能なHTMLアーカイブ へ変換するツール。 オフライン閲覧 や 全文検索対応(Docker必須) など、柔軟なデプロイ方法を提供。 モバイル最適化・マルチプラットフォーム・高性能PostgreSQL全文検索 を特長とする。 API・AI連携 や 統計ダッシュボード などエンタープライズ級機能を搭載。 インターネットの歴史保存 へ貢献したい個人・研究者・団体向けアーカイブ生成ツール。
Redd-Archiverとは
- Reddit (.zst JSON Lines)、Voat (SQL dump)、Ruqqus (.7z JSON Lines) など主要リンクアグリゲータのデータダンプ対応
- 静的HTMLアーカイブ生成 によるオフライン閲覧、または PostgreSQL全文検索 サーバによる高速検索
- モバイルファースト設計 ・マルチプラットフォームサポート
- Dockerデプロイ による簡単セットアップ・Tor/HTTPS両対応
- 2.38B Reddit投稿・3.81M Voat投稿・500K Ruqqus投稿 など大規模データ処理実績
- AI連携用MCPサーバ 搭載:AIアシスタント/Claude Code等から直接クエリ可能
- REST API (30+エンドポイント) :投稿・コメント・ユーザー・統計・検索・集計・エクスポート
- アクセシビリティ(WCAG準拠)・テーマ切替・SEO最適化 など現代的Web要件を網羅
主な対応プラットフォーム・データ
- Reddit :.zst JSON Lines (Pushshift)形式、40,029サブレディット、2.38B投稿(2024年12月31日まで)
- Voat :SQL dump形式、22,637サブバース、3.81M投稿・24.1Mコメント(全アーカイブ)
- Ruqqus :.7z JSON Lines形式、6,217ギルド、500K投稿(全アーカイブ)
- 合計 :68,883コミュニティ、23.84億投稿
- 今後の拡張 :Lemmy、Hacker News等の新データソースも登録・連携可能
特長・機能一覧
- マルチプラットフォームアーカイブ :複数サービスの投稿を1つのアーカイブに統合
- 自動プラットフォーム判定 :拡張子から自動認識
- 統合検索 :全プラットフォーム横断のPostgreSQL全文検索
- MCPサーバ(AI統合) :OpenAPI仕様から29種のMCPツール自動生成
- Claude Desktop/Code等AIから直接操作
- フィールド選択・トークン制御機能 内蔵
- モバイルファーストUI :全端末・タッチ操作対応のレスポンシブデザイン
- JavaScriptフリー :全機能CSSのみで実現、JS不要
- テーマ切替 :ライト/ダークテーマCSSのみで実装
- アクセシビリティ :キーボード操作・スクリーンリーダー対応
- 高パフォーマンス :最適化CSS(29KB)、低帯域ネットワーク対応
- PostgreSQLバックエンド :大規模データも一定メモリで処理
- リアルタイム進捗表示 :転送速度・ETA・DBメトリクス表示
- SEO最適化 :メタタグ・XMLサイトマップ・構造化データ
- ストリーミング処理 :自動レジューム・省メモリ設計
- インスタンスレジストリ :分散アーカイブのランキング・協調保存
デプロイ・利用方法
- ローカル/ホームラボ :HTTPサーバ(2コマンド)、USB・ローカルフォルダ閲覧
- HTTPS本番運用 :Let's Encrypt自動証明書発行(5分)
- Tor Hidden Service :.onionアクセス、ネットワーク設定不要(2分)
- 静的ホスティング :GitHub/Codeberg Pages(小規模アーカイブ向け、閲覧のみ)
- 検索サーバ :PostgreSQL全文検索(Docker必須)、サブ秒検索、Tor互換
- デプロイ例 :
- オフライン閲覧:HTMLファイルを直接開く
- Docker+Tor:プライベート共有、ポート開放不要
- Docker+HTTPS:公開アーカイブ
- 静的ホスティング:無料公開(容量制限あり)
インストール・セットアップ手順
- 前提条件 :
- Python 3.7以上
- PostgreSQL 12以上(v1.0以降必須)
- 4GB以上RAM(PostgreSQLは一定メモリ消費)
- データダンプサイズの1.5~2倍のディスク空き
- 依存パッケージ :
- psycopg[binary,pool](PostgreSQL用)
- zstandard(.zst高速展開)
- jinja2(HTMLテンプレート)
- rcssmin(CSS圧縮)
- orjson(高速JSONパース)
- Docker推奨手順 :
- git clone https://github.com/19-84/redd-archiver.git
- 必要ディレクトリ作成・.env設定
- docker-compose up -d
- pip install -r requirements.txt
- DATABASE_URL環境変数設定
- python reddarc.py /path/to/data/ --output my-archive/
- ローカルPostgreSQL手順 (Ubuntu/macOS対応):
- PostgreSQLインストール・ユーザー/DB作成
- パスワード設定
- Python依存インストール・DATABASE_URL設定
- アーカイブ生成コマンド実行
データ準備・アーカイブ優先度判定
- 対応データフォーマット :
- Reddit:.zst JSON Lines(Pushshift完全データセット)
- Voat:SQL dump(全投稿・コメント)
- Ruqqus:.7z JSON Lines(全ギルド)
- 優先度スキャナーツール :
- 削除率・活動期間・NSFW・制限/隔離/禁止コミュニティ判定
- アーカイブ優先度(スコア0-100)自動算出
- 出力例:subreddits_complete.json, subverses.json, guilds.json
- 活用例 :
- 高リスクコミュニティの優先保存
- ストレージ計画
- 削除・検閲履歴の研究
アーカイブの社会的意義・参加方法
- インターネットの歴史保存 :毎日消えるコンテンツを分散保存
- データダウンロード・ミラー協力 :
- Reddit:3.28TB(Academic Torrents・マグネットリンク)
- Voat:~15GB(Archive.org)
- Ruqqus:~752MB(Archive.org、Dockerで自動展開対応)
- ローカル保存・トレントシード・研究者シェア推奨
- インスタンス登録・連携 :
- 公開リーダーボード参加
- チーム協調保存・重複回避
- テンプレート提出で簡単登録
- 新データソース募集 :
- Lemmy・Hacker News・Reddit代替等
- 発見データセットの共有でアーカイブ網拡大
- 他アーカイバーとの重複防止・発見性向上
画面例・デモ
- ダッシュボード :統計・投稿数・活動指標・ブランドカスタマイズ
- サブレディット一覧 :スコア/コメント/日付別ソート・ページネーション
- 投稿+コメントページ :ネストスレッド・折りたたみUI・ユーザーフレア・アンカーリンク
- モバイル対応UI :タッチ操作・レスポンシブレイアウト
- 検索画面 :Google風演算子・サブレディット/著者/日付/スコア絞り込み、全文検索・抜粋ハイライト
- サンプルアーカイブ :複数プラットフォーム横断の技術系コミュニティ例
- デモ:https://online-archives.github.io/redd-archiver-example/
なぜRedd-Archiverが重要か
- Reddit公式APIは事実上アーカイブ不可 :Pushshiftも度々遮断警告
- 既存データを自分の手元で完全保存・閲覧 :APIキー・レート制限・利用規約変更に左右されない
- エアギャップPC・Raspberry Pi・USB配布 など多様な運用が可能
- Python・PostgreSQL・Jinja2・Docker で構築、AI開発支援も活用
公式リソース
- GitHub :https://github.com/19-84/redd-archiver
- Pushshiftトレント :https://academictorrents.com/details/1614740ac8c94505e4ecb9d...
- ライブデモ :https://online-archives.github.io/redd-archiver-example/
- クイックスタート・ドキュメント :QUICKSTART.md、CHANGELOG.md
Redd-Archiverは、消えゆくインターネットの記憶を、誰でも自分の手で保存・活用できる強力なアーカイブ生成ツール。 個人、研究者、団体の協力で、ネット文化の歴史を未来へ残すプロジェクト。