Skip to content

flyingbrain/gator

Repository files navigation

Gator

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.


Features

  • 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.

Table of Contents


Quick start

# 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
./gator

The examples assume a PostgreSQL database — adjust DATABASE_URL for your environment.


Prerequisites

  • Go 1.20+ (or the version specified in go.mod).
  • PostgreSQL (recommended) or any DB supported by the project (see docs).

Configuration

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.

Usage

CLI

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)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages