RSSFFS

command module
v1.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2026 License: GPL-3.0 Imports: 1 Imported by: 0

README

RSSFFS

GitHub go.mod Go version Go Report Card GitHub Actions Workflow Status Docker Pulls GitHub Downloads (all assets, all releases)

RSS Feed Finder [and] Subscriber finds RSS feeds on the user-inputted URL, and subscribes to them in your Miniflux RSS feed reader instance.

RSSFFS provides both a command-line interface and a web-based interface for discovering and subscribing to RSS feeds.

Usage

Command Line Interface

RSSFFS operates in two modes:

  • Traversal Mode (default): Discovers RSS feeds on the provided URL and follows links to find feeds on other domains mentioned on the page
  • Single URL Mode: Only searches for RSS feeds on the specific domain of the provided URL, without following links to other domains

Find and subscribe to RSS feeds from a URL:

# Basic usage (traversal mode - checks all domains found on page)
./RSSFFS https://example.com

# Single URL mode - only check the provided domain
./RSSFFS --single-url https://example.com/blog/post
./RSSFFS -s https://blog.example.com

# With category assignment
./RSSFFS -c "Tech Blogs" https://example.com

# Single URL mode with category
./RSSFFS -s -c "Tech Blogs" https://blog.example.com

# With debug logging
./RSSFFS -d https://example.com

# Clear existing feeds in category before adding new ones
./RSSFFS -r -c "News" https://example.com

# Combine single URL mode with other options
./RSSFFS -s -r -c "News" https://news.example.com
Web Interface

Start the web server for browser-based RSS feed discovery:

# Start web server on default port (8080)
./RSSFFS serve

# Start on custom host and port
./RSSFFS serve --host 0.0.0.0 --port 3000

# Start with debug logging
./RSSFFS serve -d

The web interface will be available at http://localhost:8080 (or your configured host/port). The web UI provides:

  • Mobile-friendly interface: Responsive design optimized for mobile devices
  • Simple form: Enter URL and optional category through an easy-to-use form
  • Real-time feedback: Toast notifications show success/error messages
  • Input validation: Client-side and server-side URL validation
  • Loading indicators: Visual feedback during RSS feed processing
Web Server Configuration

The serve command supports the following options:

  • --host, -H: Host address to bind the server to (default: 127.0.0.1)
  • --port, -p: Port number to listen on (default: 8080)
  • --debug, -d: Enable debug-level logging
  • --config: Path to configuration file (inherits from root command)

Examples:

# Bind to all interfaces on port 8080
./RSSFFS serve --host 0.0.0.0

# Use custom port
./RSSFFS serve --port 9000

# Enable debug mode for troubleshooting
./RSSFFS serve --debug

# Combine options
./RSSFFS serve --host 0.0.0.0 --port 3000 --debug

Configuration

RSSFFS requires configuration for your RSS reader API. Create a config.yaml file or set environment variables:

Configuration File (config.yaml)
rss_reader_endpoint: "https://your-miniflux-instance.com"
rss_reader_api_key: "your-api-token"

# Optional: Enable single URL mode by default
rssffs_single_url_mode: false
Environment Variables
export RSS_READER_ENDPOINT="https://your-miniflux-instance.com"
export RSS_READER_API_KEY="your-api-token"

# Optional: Enable single URL mode by default
export RSSFFS_SINGLE_URL_MODE="true"
Configuration Precedence

RSSFFS follows this precedence order for configuration values (highest to lowest priority):

  1. CLI Flags: Command-line flags always take highest precedence
    • --single-url / -s flag overrides all other single URL mode settings
  2. Environment Variables: Environment variables override config file values
    • RSSFFS_SINGLE_URL_MODE environment variable
  3. Configuration File: Values from config.yaml (lowest priority)
    • rssffs_single_url_mode setting

Example precedence scenarios:

# CLI flag takes precedence over environment variable
export RSSFFS_SINGLE_URL_MODE="false"
./RSSFFS --single-url https://example.com  # Uses single URL mode

# Environment variable takes precedence over config file
# config.yaml: rssffs_single_url_mode: false
export RSSFFS_SINGLE_URL_MODE="true"
./RSSFFS https://example.com  # Uses single URL mode

The web interface uses the same configuration as the command-line interface, so no additional setup is required.

Development

For development and building from source:

# Full local development workflow
make local

# Build binary locally
make local-build

# Run with config.yaml
make local-run

# Run tests with coverage
make local-test

# Live reload development
make local-iterate

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
RSSFFS
Package cmd provides command-line interface functionality for the RSSFFS application.
Package cmd provides command-line interface functionality for the RSSFFS application.
diagrams command
Package main provides diagram generation utilities for the RSSFFS project.
Package main provides diagram generation utilities for the RSSFFS project.
internal
web
pkg
config
Package config provides secure configuration management for the RSSFFS application.
Package config provides secure configuration management for the RSSFFS application.
man
Package man provides manual page generation functionality for the RSSFFS application.
Package man provides manual page generation functionality for the RSSFFS application.
version
Package version provides build and version information for the RSSFFS application.
Package version provides build and version information for the RSSFFS application.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL