セルフホスト型サービス
FreshRSS/FreshRSS avatar
FreshRSS/FreshRSS

FreshRSSを自前のフィード収集基盤として読む

無料で自己ホスト可能なニュース アグリゲーター…。 FreshRSS は、RSS / Atom フィードを提供しない Web サイト向けに、XPath に基づいた基本的な Web スクレイピングをネイティブにサポートします。

スター 16,025フォーク 1,279PHPAGPL-3.0

ひと目でわかる

これは何?
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リーダーの方が管理対象は少ない。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート