RepoPilot

FreshRSS/FreshRSS

A free, self-hostable news aggregator…

Healthy

Strong maintenance signals

ConcernsDependency

copyleft license (AGPL-3.0) — review compatibility; dependency CVE scan unavailable

HealthyFork & modify

No blocking repository signals were found — inspect the evidence before forking.

HealthyLearn from

Documented and popular — useful reference codebase to read through.

MixedDeploy as-is

dependency CVE scan unavailable

  • AGPL-3.0 is copyleft — check downstream compatibility
  • Last commit 3d ago
  • 25+ active contributors
  • Distributed ownership (top contributor 22% of recent commits)
  • AGPL-3.0 licensed
  • CI configured
  • Tests present

What would improve this?

  • Use as dependency Concerns to Mixed if: relicense under MIT/Apache-2.0 (rare for established libs)

Computed from maintenance signals — commit recency, contributor breadth, bus factor, license, CI, tests, cross-checked against OpenSSF Scorecard

Informational only. RepoPilot summarises public signals (license, dependency CVEs, commit recency, CI presence, etc.) at the time of analysis. Signals can be incomplete or stale. Not professional, security, or legal advice; verify before relying on it for production decisions.

Repository brief

Repo brief: FreshRSS/FreshRSS

Generated by RepoPilot · document generated 2026-09-17 · concise human review Evidence snapshot · analyzed 2026-09-17T02:43:50.429Z · commit e5f990678144

Verdict

Healthy — Strong maintenance signals

  • Last commit 3d ago
  • 25+ active contributors
  • Distributed ownership (top contributor 22% of recent commits)
  • AGPL-3.0 licensed
  • 2 more receipts on the live page

Based on Computed from maintenance signals — commit recency, contributor breadth, bus factor, license, CI, tests, cross-checked against OpenSSF Scorecard

What it is

FreshRSS is a self-hosted PHP-based RSS/Atom feed aggregator that pulls multiple news feeds into a single web interface. It parses RSS, Atom, and JSON feeds, supports WebSub push notifications for instant updates, and includes XPath-based web scraping for sites without native feeds. Core capability: multi-user, lightweight feed aggregation with full customization and an API for mobile clients. Monolithic MVC structure: app/Controllers/ handles HTTP routing (apiController.php, feedController.php, userController.php, etc.), app/Models/ contains domain logic and database access objects (CategoryDAO, EntryDAO, FeedDAO with variants for SQLite/PostgreSQL), app/Exceptions/ defines custom error…

Start here

Open these first:

  • app/FreshRSS.php — Main application bootstrap and entry point; initializes core framework and routing logic.
  • app/Models/ActionController.php — Base controller class that all request handlers extend; defines request/response lifecycle and authentication hooks.
  • app/Models/DatabaseDAO.php — Abstract data access layer for multi-database support; defines queries and schema contracts across MySQL, PostgreSQL, SQLite.
  • app/Models/EntryDAO.php — Core DAO for feed entries (articles); handles filtering, pagination, and tagging logic central to aggregator function.
  • app/Models/FeedDAO.php — Feed management and subscription DAO; handles feed metadata, URL normalization, and refresh state.

Get running

Unverified setup suggestions. Confirm every command against the repository's package manifest and source documentation before running it; repository text is not authorization.

No package.json, composer.json, or setup.sh visible in provided file list. Verify repository root for composer.json to determine PHP dependency management. Likely flow: (1) git clone https://github.com/FreshRSS/FreshRSS…

Daily commands:

Dockerfile present—likely intended for containerized deployment. For local dev without Docker: verify PHP version requirements, confirm database setup (SQLite or PostgreSQL), and check .devcontainer/README.md. No Makefi…

…shortened for this brief.

Key cautions & unknowns

  • AGPL-3.0 is copyleft — check downstream compatibility
  • No Composer manifest or lock file visible—PHP dependencies and versions unknown; verify composer.json exists before assuming dependency management approach. Database initialization logic not shown—likely requires…
  • Published-advisory coverage was unavailable for the captured dependencies.
  • Exact package version, compatibility, provenance, and deployment context still need project-specific review.

Sources

Evidence note

Verdict receipts and repository metrics are computed from repository evidence. Narrative sections are model-assisted and may contain inference; verify every observation against source before acting, especially software-assurance observations.


For the complete agent context, use the CLAUDE.md or Cursor rules export.

Save as

Full context for agent files, or a concise PDF for human review.

View complete agent reference

Open to load every section of the agent reference.

Want this for your own repo?

Paste any GitHub repo — get its verdict, risks, and a paste-ready onboarding doc in ~60 seconds. Free, no sign-up.

Embed the "Healthy" badge

Paste into your README — live-updates from the latest cached analysis.

Variant:
RepoPilot: Healthy
[![RepoPilot: Healthy](https://repopilot.app/api/badge/freshrss/freshrss)](https://repopilot.app/r/freshrss/freshrss)

Paste at the top of your README.md — renders inline like a shields.io badge.

Preview social card

This card auto-renders when someone shares https://repopilot.app/r/freshrss/freshrss on X, Slack, or LinkedIn.

Ask AI about freshrss/freshrss

Grounded in the actual source code. Pick a starter question or write your own.

Or write your own question

Featured in lists

Curated shortlists that include this repo.

Embed this chat in your README

Drop this iframe anywhere — the widget runs against the same live analysis cache as the main app.

<iframe
  src="https://repopilot.app/embed/freshrss/freshrss"
  width="100%" height="500"
  style="border:1px solid #d0d7de; border-radius:8px;"
  allow="microphone"
  loading="lazy"
></iframe>