pstuifzand / ekster

microsub server
GNU General Public License v3.0
27 stars 4 forks source link

Unable to add feeds #34

Closed jk-na closed 4 years ago

jk-na commented 4 years ago

Hi, this is very much a user input issue no doubt but I am having issues with eksterd and ek

When I sign in to my eksterd site it authenticates fine but it doesn't read any feeds from the site (which I didn't expect to be automatic) but I don't see any way through the web interface of adding feeds, just regex for blocking or tracking.

When I try to connect to my URL using ek (over ssh on a headless raspberry pi server) I am prompted to browse to an indieauth url which has a redirect_uri of localhost: which I'm failing to do over a number of different methods.

I thought perhaps I'd just update the backend.json directly but I'm not sure what fields need to be assigned and in what format.

Would it be possible to advise how feeds should be added to the backend.json?

pstuifzand commented 4 years ago

I think you have problems with adding feeds to Eksterd and authenticating with Ek.

Adding feeds

Ekster is a Microsub server that should be used with a Microsub client. The web interface of Ekster is only there to support some administration that is not possible through the Microsub protocol.

So to add feeds you need a Microsub client (see https://indieweb.org/Microsub#Clients). At the moment I would suggest you take a look at Together or Monocle, which are both Web clients. These clients will try to find your microsub server using the "microsub" <link rel="microsub" ...> on your homepage (See When Ekster is running).

Configure backend.json

See Configuration for how to configure backend.json. You can generate the first default file with the new command. After that you have to replace fill in Me with the URL of your homepage and TokenEndpoint with the URL of your TokenEndpoint. The TokenEndpoint will be used to check if the logged in person is allowed to call the commands.

Authenticating with Ek

Ek is also a Microsub client. When you have it installed, you can use the connect command to connect to your microsub server. The URL should be your homepage with Indieauth and Microsub <link>

ek connect URL

to connect the client. It will save your indieauth information and endpoints in ~/.config/microsub/client.json and ~/.config/microsub/endpoints.json or similar for your platform.

Adding feeds with Ek

First create a channel (replace NAME with the name of the channel ex. "Indieweb", "Mentions", "Software")

ek channels NAME

Ek will show the generated channel id when creating a channel. Use it in place of ID.

ek follow ID URL

Ek also allows to preview a URL to see if it will be to view the items on the URL.

    ek preview URL

If you have any other questions, just let me know in this issue.

jk-na commented 4 years ago

Hi, sorry, the notification for your update got lost in my mail.

I had tried adding the feeds as per the instructions above prior to opening the ticket.

When I try to authenticate with Ek, I get a link to authenticate via indieauth which has a localhost address in it.. I am unable to connect via my ssh session on my headless SBC where I've deployed ekster and as the response address is a localhost one, I'm unable to authenticate via the browser on my desktop.

Could you advise, perhaps with an example, the correct way of adding the feeds to the backend.json directly?

pstuifzand commented 4 years ago

There is no correct way of adding feeds to the backend.json directly. The whole idea is to use clients like ek, Monocle, or Together to add feeds.

I haven't tested the following example, but it is from my backend.json file.

{
    "Channels": {
        "000000000034": {
            "uid": "000000000034",
            "name": "Feeds",
            "unread": 0
        },
    },
   "Feeds": {
        "000000000034": [
            {
                "type": "feed",
                "url": "http://example.com/rss.xml",
                "author": {}
            }
        ]
   },
    "NextUID": 12392,
    "Me": "https://example.com/",
    "TokenEndpoint": "https://example.com/authtoken"
}
pstuifzand commented 4 years ago

I see the problem with authentication using ek. Normally you would use ek on your local computer (localhost) and have eksterd running in "the cloud" (or on an SBC). When running ek on the same computer as eksterd, this doesn't make much sense.

It's not a use case that's supported at the moment. I need to think about this.

jk-na commented 4 years ago

Ah OK, I'll try running ek on my laptop first then and if no dice will experiment with the backend.json, thanks!

On July 5, 2020 9:25:21 AM UTC, Peter Stuifzand notifications@github.com wrote:

I see the problem with authentication using ek. Normally you would use ek on your local computer (localhost) and have eksterd running in "the cloud" (or on an SBC). When running ek on the same computer as eksterd, this doesn't make much sense.

It's not a use case that's supported at the moment. I need to think about this.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/pstuifzand/ekster/issues/34#issuecomment-653863714

jk-na commented 4 years ago

I was able to add feeds via indigenous after installing ek on my laptop and authenticating that way. Thanks for the clarification.