Peter Stuifzand

Ekster: a microsub server

Ekster is a Microsub server. As far as I know Ekster was the second implementation of a Microsub server.

Microsub is a protocol for feed reader applications. Ekster fetches web pages and feeds and gathers the entries into channels. A channel contains multiple feeds, these feeds are combined into a timeline.

Ekster can find entries from pages that are marked up with microformats. It uses the go-microformats library to get the MF2 structure and converts these microformat items to JF2. JF2 is a simplified version of MF2, which is easier to display in a Microsub reader.

Ekster also reads RSS and Atom feeds. It does discovery on websites and tries to find the alternate urls. RSS and Atom are simpler feed formats, that don’t contain the likes and replies of websites.

To work in the realtime web, Ekster also supports WebSub. WebSub is a protocol that notifies subscribers of feeds. Ekster subscribes to these feeds when it finds the WebSub hub.

Another way to get entries into Ekster is by using Micropub. Micropub is a protocol for clients applications to create new posts and weblogs. It can also be used in Ekster to send notifications for example.

The storage of the microsub server is built on Redis. Redis is a key-value data structure server. On the wiki there is a description how Ekster keeps the state of feeds and items in Redis.

© 2023 Peter Stuifzand