| src/feather | ||
| .dockerignore | ||
| .gitignore | ||
| .python-version | ||
| Dockerfile | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Feather: file-based RSS reader client
Usage
start with pictures/gif each time
Navigating feeds
Directories, sorting/searching by date/title (a.k.a. using a file manager)
Reading an article
opening an article
Marking articles as read
Delete
Handling read articles
See read articles in the trash can.
Or ask feather to keep read articles:
server.only_sync_unread_articles = false
html.filename_template = "{% if unread %}☐{% else %}☑{% endif %} [{{ feed_title }}]\t{{ title }} ({{ published }}).html"
Updating with the server
Call feather sync to synchronize all local data with the server (read articles, new articles from the server, etc.).
feather daemon
Configuration
After changing the configuration, you can call feather regenerate to regenerate all local files with the new configuration (to reflect the changes in the HTML template, filenames, etc.).
feather clear-data
Theoretical use-cases
Processing with scripts
Syncthing
Installation
Docker
docker run -d -v ./config.toml:/feather/config.toml -v feather-data:/feather/data -v ./reader:/feather/reader --name feather feather daemon
Raw
You need Python 3.12 or newer. Then pip it up, as the kids say.
uv run feather
FAQ
Why
Name
What should I eat tonight
TODO
- Write documentation
- Use inotify for real-time article mark-as-read action
- Share the fun somewhere
- Get article attachments
- Test with FreshRSS