Ekster

From IndieWeb

Ekster is a Microsub server written in Go.

It was created by Peter Stuifzand on 2018-02-16 and released on 2018-05-16.

Running Ekster

See the README.md on Github.

Features

  • Realtime updates where supported by WebSub.
  • Four different channel types included:
    • sorted-sets: default channel type, based on Redis zsets
    • streams: channel type based on Redis streams
    • null: channel type that drops items, useful to include in other channels
    • postgres: channel type that stores items in a database
  • Include and exclude items. Easily create a Mentions channel, by adding your name to keywords to include. This means that whenever an item matches the keyword it will be posted in that channel.
  • Include can be combined with the null channel type, so you only see matching items.
  • Support for Microsub protocol: channel management, previews and more.
  • Support for Micropub protocol: you can login with Indieauth and post items to a channel. This can be useful for external services.
  • Item search based on full text and JF2 properties, like "name", "published", "author.name".
  • A command-line tool that supports all commands Ekster supports is included to administer the server.

Examples with ek

Follow urls from an OPML file (new method)

   # Connect to your homepage
   ek connect https://example.com/
   
   # Import OPML
   ek import opml hotlist.opml
   
   # Or, export OPML
   ek export opml > subscriptions.opml

See also: Import OPML files in Microsub servers.

Follow all urls from an OPML file (old method)

From: https://p83.nl/posts/701

Follow urls from an OPML file, by combining xmlstarlet and ek.

   # Connect to your homepage by following steps (open url and allow auth)
   ek connect https://example.com/
   
   # Create a channel for the feeds, this will show the ID.
   ek channels "Imported feeds"
   
   # Gather the feeds from the file and pipe these to "ek follow ID"
   xmlstarlet sel -t -v "//outline/@xmlUrl" hotlist.opml  | xargs -n 1 ek follow mtjTXQELiT60Wtm5ArVcLo5G

Retrieve all feeds

If you need to get your subscriptions directly from Aperture (or Ekster) you need "ek" (the microsub command line client) and run the following one liner:

   ek channels | awk '{print $1}' | xargs -n 1 ek follow

See Also