Syndicationd

Syndicationd(synd) is a TUI feed viewer, based on feed-rs and ratatui.
Features
- Subscribe feeds(RSS1, RSS2, Atom,...) and browse latest entries
- Open the entry in a browser
Install
nix
brew
# or
shell
|
cargo
npm
powershell
Usage
synd will start the TUI application.
Usage: synd [OPTIONS] [COMMAND]
Commands:
clear Clear cache, log
help Print this message or the help of the given subcommand(s)
Options:
--endpoint <ENDPOINT> synd_api endpoint [env: SYND_ENDPOINT=] [default:
https://syndicationd.ymgyt.io:6100/graphql]
--log <LOG> Log file path [env: SYND_LOG=] [default:
/home/ymgyt/.local/share/synd/syndterm.log]
--theme <PALETTE> Color palette [env: SYND_THEME=] [default: slate] [possible values: slate, gray,
zinc, neutral, stone, red, orange, amber, yellow, lime, green, emerald, teal,
cyan, sky, blue, indigo, violet, purple, fuchsia, pink]
-h, --help Print help
-V, --version Print version
Authentication
syndicationd maintains state (such as subscribed feeds) on the backend, and therefore requires authentication to make requests.
Currently, only GitHub is supported. The only scope syndicationd requires is user:email to read the user's email. the user's email is used only as an identifier after being hashed.
Export subscribed feeds
To export subscribed feeds, execute the synd export command.
You can check the JSON schema of the data to be exported with synd export --print-schema
Log file
The log file path is based on ProjectDirs::data_dir().
Please refer to the --log flag in synd --help for the default output destination.
You can modify the log directives using the environment variable SYND_LOG. (for example, SYND_LOG=synd=debug)
Theme
The theme can be changed using the --theme flag. Please refer to the help for the values that can be specified.
Backend api
By default, use https://api.syndicationd.ymgyt.io as the backend api(hosted on my home Raspberry Pi).
To change the endpoint, specify the --endpoint flag
The hosted api is instrumented with OpenTelemetry. Basic signals(traces,metrics,logs) are published on the Grafana dashboard
Clear cache and logs
Authentication credentials are cached. to remove them, execute synd clear.
Check application status
synd check [--format (human|json)] return current application status.
synd check --format json | from json
╭───────┬─────────────────────────────────────────╮
│ │ ╭─────────────┬────────────────────╮ │
│ api │ │ description │ health of synd-api │ │
│ │ │ status │ Pass │ │
│ │ │ version │ 0.1.5 │ │
│ │ ╰─────────────┴────────────────────╯ │
│ cache │ /home/ferris/.cache/synd │
│ log │ /home/ferris/.local/share/synd/synd.log │
╰───────┴─────────────────────────────────────────╯
License
This project is available under the terms of either the Apache 2.0 license or the MIT license.