FreshRSSを自前のフィード収集基盤として読む
無料で自己ホスト可能なニュース アグリゲーター…。 FreshRSS は、RSS / Atom フィードを提供しない Web サイト向けに、XPath に基づいた基本的な Web スクレイピングをネイティブにサポートします。
ひと目でわかる
- これは何?
- FreshRSS/FreshRSSのRSS集約、XPathによる簡易スクレイピング、認証、APIをREADMEから整理する。PHP要件と公開ディレクトリの指定が導入判断を左右する。
- 誰に向いている?
- FreshRSSは、LinuxまたはWindowsの軽量サーバーで複数人のフィードを自分で管理したい利用者に向く。PHP 8.1以上、対応データベース、p/だけを公開する構成を先に確認し、150フィードでの応答値はREADME上の自己申告として扱う。
- 商用利用できる?
- 厳しい条件付きでできます。AGPL-3.0 はネットワーク型コピーレフトのライセンスで、改変版をホスティングサービスなどとしてネットワーク越しに利用させる場合、その利用者にソースコードを同じライセンスで提供する必要があります。
- 今もメンテナンスされている?
- されています。最後のコミットは 1 日前です。
- 何の言語で書かれている?
- 主に PHP です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
プロジェクトの範囲、FreshRSSを自前のフィード収集基盤として読む
FreshRSS/FreshRSS の README はプロジェクトを「A free, self-hostable news aggregator…」と説明しています。ここではリポジトリで確認できる事実だけを整理します。star 数やバッジは注目度の手掛かりであり、品質の証明ではありません。「FreshRSS」には次の説明があります。FreshRSS is a self-hosted RSS feed aggregator.。これは範囲の説明であり、本番検証の結果ではありません。
FreshRSSの強みは、RSSやAtomを待つだけでなく、XPathによる基本的なWebスクレイピングとJSON文書にも対応する点にある。これはフィードを提供しないサイトを読む手段になる一方、サイト側のHTML変更で抽出が壊れる境界でもある。`./data/`に個人データが入るため、READMEの指示どおりWebへ公開するのは`./p/`だけに限定する必要がある。
導入条件はかなり具体的だ。Apache 2.4以上、nginx、lighttpdのいずれか、PHP 8.1以上、SQLite、PostgreSQL、MariaDB、MySQLのいずれかが必要になる。手動導入では`./data/`へのWebサーバー書込み権限、`data/config.php`、Apacheの`AllowEncodedSlashes`を確認する。単一ユーザーのローカル閲覧だけなら、多機能な認証と拡張機構が管理負担になる可能性もある。(この節ではFreshRSSを自前のフィード収集基盤として読むの第1項目として扱う。)
FreshRSSを自前のフィード収集基盤として読むの第1節では、READMEに記載された固有の入口と制約をこの節の確認対象として扱う。
向いている用途、FreshRSSを自前のフィード収集基盤として読む
README の「Requirements」にある内容から、用途が合うかを先に判断できます。A recent browser like Firefox / IceCat, Edge, Chromium / Chrome, Opera, Safari.。目的が違うなら、人気だけで採用する理由にはなりません。プロジェクト名やコマンドは原文のまま残し、一次資料へ戻って用語を確認できるようにしています。 README には次の確認可能な項目もあります。Read this document on github.com/FreshRSS/FreshRSS/ to get the correct links and pictures.。初回テストの材料にはなりますが、実際の環境での確認を省略する理由にはなりません。
導入条件はかなり具体的だ。Apache 2.4以上、nginx、lighttpdのいずれか、PHP 8.1以上、SQLite、PostgreSQL、MariaDB、MySQLのいずれかが必要になる。手動導入では`./data/`へのWebサーバー書込み権限、`data/config.php`、Apacheの`AllowEncodedSlashes`を確認する。単一ユーザーのローカル閲覧だけなら、多機能な認証と拡張機構が管理負担になる可能性もある。
FreshRSSの強みは、RSSやAtomを待つだけでなく、XPathによる基本的なWebスクレイピングとJSON文書にも対応する点にある。これはフィードを提供しないサイトを読む手段になる一方、サイト側のHTML変更で抽出が壊れる境界でもある。`./data/`に個人データが入るため、READMEの指示どおりWebへ公開するのは`./p/`だけに限定する必要がある。(この節ではFreshRSSを自前のフィード収集基盤として読むの第2項目として扱う。)
FreshRSSを自前のフィード収集基盤として読むの第2節では、READMEに記載された固有の入口と制約をこの節の確認対象として扱う。
動作の考え方、FreshRSSを自前のフィード収集基盤として読む
動作の説明は「FreshRSS」など複数の箇所に分かれています。確認できる情報は次の通りです。It is a multi-user application with an anonymous reading mode. It supports custom tags. There is an API for (mobile) clients, and a Command-Line Interface.。書かれていない構成、性能、セキュリティを推測で補いません。導入時はディレクトリ、設定ファイル、release 履歴を確認してください。
導入条件はかなり具体的だ。Apache 2.4以上、nginx、lighttpdのいずれか、PHP 8.1以上、SQLite、PostgreSQL、MariaDB、MySQLのいずれかが必要になる。手動導入では`./data/`へのWebサーバー書込み権限、`data/config.php`、Apacheの`AllowEncodedSlashes`を確認する。単一ユーザーのローカル閲覧だけなら、多機能な認証と拡張機構が管理負担になる可能性もある。(この節ではFreshRSSを自前のフィード収集基盤として読むの第3項目として扱う。)
FreshRSSを自前のフィード収集基盤として読むの第3節では、READMEに記載された固有の入口と制約をこの節の確認対象として扱う。
インストールと初回起動、FreshRSSを自前のフィード収集基盤として読む
初回導入は README の入口から始めます。確認できるコマンドは次の通りです。
READMEにはコピーして実行する導入コマンドが掲載されていない。公式の導入ページで依存関係と初回設定を確認する必要がある。
実行可能なコマンドがない場合は手順を作らず、「Feedback and contributions」で依存関係、待受ポート、初回設定を確認します。
FreshRSSの強みは、RSSやAtomを待つだけでなく、XPathによる基本的なWebスクレイピングとJSON文書にも対応する点にある。これはフィードを提供しないサイトを読む手段になる一方、サイト側のHTML変更で抽出が壊れる境界でもある。`./data/`に個人データが入るため、READMEの指示どおりWebへ公開するのは`./p/`だけに限定する必要がある。(この節ではFreshRSSを自前のフィード収集基盤として読むの第4項目として扱う。)
FreshRSSを自前のフィード収集基盤として読むの第4節では、READMEに記載された固有の入口と制約をこの節の確認対象として扱う。
設定と日常運用、FreshRSSを自前のフィード収集基盤として読む
日常運用は公式文書の範囲に限ります。「FreshRSS」にはFreshRSS natively supports basic Web scraping, for Web sites not providing any RSS / Atom feed. Also supports JSON documents.とあります。設定、環境変数、権限、データ保存先は明記されたものだけを扱います。未記載の既定値は隔離環境で確認し、戻せる設定を保存してください。 同じ資料にはIt even works on Raspberry Pi 1 with response time under a second (tested with 150 feeds, 22k articles)ともあります。
導入条件はかなり具体的だ。Apache 2.4以上、nginx、lighttpdのいずれか、PHP 8.1以上、SQLite、PostgreSQL、MariaDB、MySQLのいずれかが必要になる。手動導入では`./data/`へのWebサーバー書込み権限、`data/config.php`、Apacheの`AllowEncodedSlashes`を確認する。単一ユーザーのローカル閲覧だけなら、多機能な認証と拡張機構が管理負担になる可能性もある。(この節ではFreshRSSを自前のフィード収集基盤として読むの第5項目として扱う。)
FreshRSSを自前のフィード収集基盤として読むの第5節では、READMEに記載された固有の入口と制約をこの節の確認対象として扱う。
README で確認できる制約、FreshRSSを自前のフィード収集基盤として読む
制約も確認が必要です。現在の資料からは、FreshRSS/FreshRSS の互換表、性能基準、サービス保証、長期サポートを確認できません。README の記載は「FreshRSS offers the ability to reshare selections of articles by HTML, RSS, and OPML.」です。不明点は採用記録の検証項目として残し、断定に変えないでください。
FreshRSSの強みは、RSSやAtomを待つだけでなく、XPathによる基本的なWebスクレイピングとJSON文書にも対応する点にある。これはフィードを提供しないサイトを読む手段になる一方、サイト側のHTML変更で抽出が壊れる境界でもある。`./data/`に個人データが入るため、READMEの指示どおりWebへ公開するのは`./p/`だけに限定する必要がある。(この節ではFreshRSSを自前のフィード収集基盤として読むの第6項目として扱う。)
FreshRSSを自前のフィード収集基盤として読むの第6節では、READMEに記載された固有の入口と制約をこの節の確認対象として扱う。
編集部の結論
FreshRSSは、LinuxまたはWindowsの軽量サーバーで複数人のフィードを自分で管理したい利用者に向く。PHP 8.1以上、対応データベース、p/だけを公開する構成を先に確認し、150フィードでの応答値はREADME上の自己申告として扱う。匿名閲覧やWebSubが必要ないなら、単純なRSSリーダーの方が管理対象は少ない。
コミュニティノート