[feat] Support RSS 2.0 cloud and Atom 1.0 rel="hub" link elements in feeds #389
Labels
No labels
approved, awaiting change
bug
configuration
documentation
duplicate
enhancement
extremely low priority
feature request
Fix it yourself
help wanted
invalid
mastodon_api
needs docs
needs tests
not a bug
planned
pleroma_api
privacy
question
static_fe
triage
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: AkkomaGang/akkoma#389
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The idea
Provide an implementation of RSSCloud and WebSub protocols, so that subscribers can be notified of updates to user and tag RSS feeds in near realtime.
Then add server configuration options to potentially expose each protocol:
cloud
element of Akkoma's RSS 2.0 user and tag feeds, for readers to discover the RSS Cloud hub server.link rel="hub"
element of Atom 1.0 user and tag feeds, for readers to discover the WebSub hub server.Two configuration options, one for RSS Cloud and the other for WebSub should be provided under the
:feed
config option. For example (in config/description.exs):A configuration value of a valid URL (with scheme, host, port and path items) would expose an external hub URL in the feeds, and the corresponding internal hub endpoints would return 404 status.
A configuration value of "local" would expose the URL of the internal RSS Cloud or Websub hub implementation in the feeds.
Any other configuration value (
nil
, "", "none", or an invalid URL) means that no hub would be exposed in the feeds, and the corresponding internal hub endpoints would return 404 status.REST access to the internal hub server
Should the internal hub server support the subscribing and publishing endpoints for any HTTP REST client and any "topic" URL, or only for valid topics (feeds) on the same server, and/or only for users who can authenticate to the server for any topic, or not exposing a publishing endpoint at all (only accept the publishing of topics from the server via direct function calls)?
Leaving the internal hub server completely open to publishing invites DDOS attacks. Similarly, if unauthenticated subscribers are allowed to use the hub server, some kind of rate limiting might need to be implemented.
The reasoning
Dave Winer, the creator of RSS 2.0 is very interested in getting Fediverse systems to support notifications via RSS Cloud, so that they can interoperate in two-way communications). He is building demos and other tools around these capabilities, and is urging that Mastodon servers supply the necesary elements in the their public RSS feeds.
RSSCloud is fully supported in Wordpress.com, and an RSSCloud plugin is available for Wordpress.org sites.
A WebSub plugin is also available for Wordpress.org.
StatusNet also provides an RSSCloud server plugin, implemented in PHP, in its distribution.
Have you searched for this feature request?