Adding feeds from an OPML file to a Microsub server with xmlstarlet and Ekster (ek)

xmlstarlet sel -t -v "//outline/@xmlUrl" hotlist.opml  | xargs -n 1 ek follow mtjTXQELiT60Wtm5ArVcLo5G

The first part parses the xmlUrls from the OPML file. This won't work if you have feeds seperated in Channels, but it will work with the list from http://feedbase.io, because all feeds are on the first level.

xmlstarlet sel -t -v "//outline/@xmlUrl" hotlist.opml

Then the next part pipes all url to microsub command line client one at a time.

| xargs -n 1

And the command line client will add the feeds to the microsub server on the channel with id mtjTXQELiT60Wtm5ArVcLo5G. You should use the id of your own channel.

ek follow mtjTXQELiT60Wtm5ArVcLo5G

Other steps are

Connection to your microsub server - Connect with URL = your homepage url.

ek connect URL

Go to the url it shows and allow the connection it will save a token and the endpoints in ~/.config/microsub.

Then create or find the channel where you want to add the urls.

ek channels   # to find the channels, it will lists the available channels

Or

ek channels NAME   # to create a channel with NAME.
Just took a look at Aperture, a Microsub server. It has a nice UI for managing your channels and sources, and even better documentation for someone to get started. Really nice.
I just added "vanity" urls for go get to my website. Now you can download ekster by calling:

go get p83.nl/go/ekster/...
Q: I have nothing to hide
A: Because no one is trying to hurt you

https://keybase.io/blog/keybase-exploding-messages
Currently reading: A Dance with Dragons by George R. R. Martin
Want to read: Skin in the Game by Nassim Nicholas Taleb
I released Ekster a few days ago. I already helped one person use it. Who's next?
The multiple accounts works pretty well. I do have to merge the code for bookmarks and likes so they work with the multiple accounts as well.
I can now select an account when the app starts. It will use this account when you post a message.
Test from first account

Load more