slipstream-cli 2.2.0

Simple CLI `slipfeed` server, with web support and a TUI reader.
slipstream-cli-2.2.0 is not a library.

Feed fetcher, filterer, and aggregator.

Crates

  • slipstream-cli - Simple CLI slipfeed server and reader utilizing a simple config.
  • slipstream-feeds (slipfeed) - Feed fetcher, filterer, and aggregator library.

Getting Started

slipstream

slipstream is a command-line application for serving filtered/aggregated feeds from existing feeds a la Yahoo Pipes. A simple configuration file (e.g. slipstream.toml) is used to define feeds, relationships, and filters.

Serve

Running slipstream --config <your-config.toml> serve --port <your-port> will start a web server that exposes the following endpoints:

  • /config for viewing the config (toml).
  • /all (or /) for viewing all entries (html).
  • /feed/<feed_name> for viewing a specific feed (html).
  • /tag/<tag_name> for viewing a feed for entries with a specific tag (html).
  • /all/feed for viewing all entries (atom).
  • /feed/<feed_name>/feed for viewing a specific feed (atom).
  • /tag/<tag_name>/feed for viewing a feed for entries with a specific tag (atom).

An example can be found at my personal website feeds.hachha.dev.

web screenshot

Read

Running slipstream --config <your-config.toml> read will launch a local tui. The slipstream reader supports the following features:

  • Custom commands
  • Custom keybindings
  • Custom colors
  • Responsive layout (horizontal and vertical)
  • Hooks

Check out the example config to see additional configuration options.

cli screenshot

Roadmap

While the slipfeed and slipstream APIs may not be stable, they are essentially complete as-is. slipstream development was originally intended to be separate, but it has since been merged into slipknot (now named slipstream).

  • slipfeed
    • Add other built-in feed implementations (e.g. activitypub)
  • slipstream (general)
    • Add more filters (regex/pomsky, allowlists, etc.)
    • OPML conversion support
    • Use sqlite for storing entries and feed definitions
  • slipstream (reader)
    • Support pagination (or make automatic)
    • Indicate pending updates
    • Improve help menu
  • slipstream (api)
    • Allow syncing tags to a slipstream server
    • Add support for a shared secret in an http header

Contributing

Simple bug fixes and suggestions are welcome. At this time, more in-depth contributions will likely be rejected unless discussed ahead-of-time.