File

mod_pubsub_feeds/README.markdown @ 5390:f2363e6d9a64

mod_http_oauth2: Advertise the currently supported id_token signing algorithm This field is REQUIRED. The algorithm RS256 MUST be included, but isn't because we don't implement it, as that would require implementing a pile of additional cryptography and JWT stuff. Instead the id_token is signed using the client secret, which allows verification by the client, since it's a shared secret per OpenID Connect Core 1.0 § 10.1 under Symmetric Signatures. OpenID Connect Discovery 1.0 has a lot of REQUIRED and MUST clauses that are not supported here, but that's okay because this is served from the RFC 8414 OAuth 2.0 Authorization Server Metadata .well-known endpoint!
author Kim Alvefur <zash@zash.se>
date Sun, 30 Apr 2023 16:13:40 +0200
parent 5275:3e30799deec2
child 5569:1f8c9e27b625
line wrap: on
line source

---
summary: Subscribe to Atom and RSS feeds over pubsub
rockspec:
  build:
    modules:
      mod_pubsub_feeds.feeds: feeds.lib.lua
---

# Introduction

This module allows Prosody to fetch Atom and RSS feeds for you, and push
new results to subscribers over XMPP.

# Configuration

This module needs to be be loaded together with
[mod\_pubsub][doc:modules:mod\_pubsub].

For example, this is how you could add it to an existing pubsub
component:

``` lua
Component "pubsub.example.com" "pubsub"
modules_enabled = { "pubsub_feeds" }

feeds = {
  -- The part before = is used as PubSub node
  planet_jabber = "http://planet.jabber.org/atom.xml";
  prosody_blog = "http://blog.prosody.im/feed/atom.xml";
}
```

This example creates two nodes, 'planet\_jabber' and 'prosody\_blog'
that clients can subscribe to using
[XEP-0060](http://xmpp.org/extensions/xep-0060.html). Results are in
[ATOM 1.0 format](http://atomenabled.org/) for easy consumption.

# PubSubHubbub

This module also implements a
[PubSubHubbub](http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html)
subscriber. This allows feeds that have an associated "hub" to push
updates when they are published.

Not all feeds support this.

It needs to expose a HTTP callback endpoint to work.

# Option summary

  Option                 Description
  ---------------------- -------------------------------------------------------------------------
  `feeds`                A list of virtual nodes to create and their associated Atom or RSS URL.
  `feed_pull_interval`   Number of minutes between polling for new results (default 15)
  `use_pubsubhubub`      Set to `false` to disable PubSubHubbub

# Compatibility

  ----- -------
  0.9   Works
  ----- -------