8000 GitHub - Ahmed0427/rssy: An RSS feed aggregator in Go
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Ahmed0427/rssy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
< 8000 div class="overflow-hidden">
 
 
 
 
 
 

Repository files navigation

rssy

rssy is a simple command-line RSS Feed Aggregator written in Go that helps you stay on top of your favorite content feeds.

Features

  • Feed Management: Add, list, and manage RSS feeds
  • User System: Register, login, and view other users
  • Social Following: Follow/unfollow feeds discovered from other users
  • Automatic Aggregation: Schedule regular updates of your feeds
  • Terminal Viewing: Browse post summaries directly in your terminal
  • PostgreSQL Storage: Reliable storage for all your feed data

Tools Used

  • Go 1.18 or higher
  • PostgreSQL database
  • goose for database migrations
  • sqlc for generating Go code from SQL
  • Linux

Installation

clone the repository and then run:

go mod download # Install dependencies
go build -o rssy # Build the binary
sudo mv rssy /usr/local/bin/ # Add to your PATH

Database setup

# Create database
psql -U postgres -c "CREATE DATABASE rssy;"

# Apply migrations 
go install github.com/pressly/goose/v3/cmd/goose@latest
goose -dir sql/schema postgres "postgres://username:password@localhost:5432/rssy" up

Configuration

You have to create a configuration file at ~/.rssyconfig:

{
  "conn_str": "postgres://username:password@localhost:5432/rssy?sslmode=disable",
  "username": ""
}

put the connection string in the conn_str and leave the username field empty

Usage

# Get help
rssy help

# Register a new user
rssy register username

# Login (set the username in the config file)
rssy login username

# List all users
rssy users

# Add a new feed
rssy addfeed "Feed Name" https://example.com/feed.xml

# List all feeds
rssy feeds

# Follow a feed from another user
rssy follow https://example.com/feed.xml

# Unfollow a feed
rssy unfollow https://example.com/feed.xml

# List feeds you're following
rssy following

rssy aggregate 1m0s  # fetch new content every 1 min and 0 sec

rssy browse # Browse recent posts (default: 2 posts)
rssy browse 10  # Show 10 recent posts

About

An RSS feed aggregator in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0