Gator — a simple, fast RSS aggregator and feed-fetcher written in Go.
gator is designed to fetch, parse, and store RSS/Atom feeds so you can build feed-based applications, personal readers, or micro-services that need a reliable feed ingestion pipeline.
- Fetch and parse RSS / Atom feeds.
- Store feed metadata and items (compatible with PostgreSQL).
- Background fetching with configurable intervals and backoff.
- Simple CLI for common tasks (add-feed, fetch-now, list-feeds).
- REST API to serve stored posts (optional, configurable).
- Designed to be small, testable and production-ready.
# clone
git clone https://github.com/flyingbrain/gator.git
cd gator
# build
go build
# run (example)
export DATABASE_URL=postgres://postgres:postgres@localhost:5432/gator?sslmode=disable
./gatorThe examples assume a PostgreSQL database — adjust
DATABASE_URLfor your environment.
- Go 1.20+ (or the version specified in
go.mod). - PostgreSQL (recommended) or any DB supported by the project (see docs).
Gator reads configuration from environment variables and CLI flags. The most important variables:
DATABASE_URL— connection string for your database (required for persistence).FETCH_INTERVAL— default interval (in minutes) between background fetches for feeds.
Gator includes a small CLI to manage feeds and trigger fetches manually.
login name
register name
reset
users
agg
addfeed "name" "url"
feeds
follow url
following
unfollow url
browse n(count)