rss-kakapo
Turn Mastodon into your feed reader, for small private instances. A fork of RSS Parrot.
curl -O https://sources.profpatsch.de/rss-kakapo.bundle git clone rss-kakapo.bundle rss-kakapo
The clone keeps the bundle as its origin; replace the file and git fetch to update.
nix run https://sources.profpatsch.de/rss-kakapo.tar.gz#<package>
The archive is a Nix flake; nix flake show https://sources.profpatsch.de/rss-kakapo.tar.gz lists its packages.
- deploy/ 775 B · 2 files
- src/ 715.6 KiB · 16 dirs, 109 files
- .gitignore 75 B
- .source-forge 155 B
- LICENSE 1.0 KiB
- README.md 2.2 KiB
- build-mac.sh 386 B
- build.sh 449 B
- flake.lock 564 B
- flake.nix 894 B
- package.nix 1.7 KiB
rss-kakapo
A Fediverse service that turns Mastodon into your feed reader: mention the birb with a website's address, and it creates an account that toots every new post of that site's RSS or Atom feed.
rss-kakapo is a fork of RSS Parrot by Gabor L Ugray, taken at v0.0.99. It is meant for small, private instances rather than one big public one. Please don't report problems with rss-kakapo to RSS Parrot.
Differences from RSS Parrot
- Who may request feeds can be restricted. With
restrict_requests: true, only the monikers (@user@host) listed inallowed_requesters_filemay ask the birb for new feeds; everyone else gets a polite refusal. An empty or missing list then denies everyone. Off by default. - Feeds are polled politely. A check sends the
ETagandLast-Modifiedof the last successful response back asIf-None-Match/If-Modified-Since, so an unchanged feed costs a304with no body. Each consecutive failed check doubles the wait before the next one, and aRetry-Afterfrom the server is honoured. A server can't silence a feed this way, though: the wait after a failure is capped atmax_retry_delay_hours(default 24) — soRetry-After: 3024000still means "try again tomorrow". A feed whose normal interval is longer than the cap just stays on its normal schedule, so a failing feed is never polled more often than a healthy one. - Logs always go to stderr, through a small stdlib logger instead of
charmbracelet/log, which drops eleven modules from the dependency tree.log_fileis ignored. - No rss-parrot.net branding in the web pages and the birb's texts: the instance's own host is shown, and there are no analytics.
- Nix:
package.nixbuilds the server and itswww/tree with any nixpkgs (callPackage);flake.nixwraps it.
The binary is rss-kakapo, but the Go module is still called rss_parrot,
to keep upstream commits easy to cherry-pick.
Source
https://sources.profpatsch.de/rss-kakapo/
Upstream history is kept intact; the fork's commits sit on top of upstream's
v0.0.99 tag.
License
MIT, see LICENSE. Copyright for the original work remains with Gabor L Ugray.