FediFetcher icon indicating copy to clipboard operation
FediFetcher copied to clipboard

Check out any other software that might be worth supporting

Open nanos opened this issue 1 year ago • 29 comments

See here for list of software: https://fedidb.org/software

nanos avatar Jul 02 '24 09:07 nanos

The following are the ones that I encounter the most frequently on my own instance's home timeline:

GoToSocial:

  • Has an API fairly similar to Mastodon https://docs.gotosocial.org/en/latest/api/swagger/
  • But requires authentication for everything https://github.com/superseriousbusiness/gotosocial/issues/2038
  • Cannot be supported.

Friendica

  • I supposed to have a Mastodon compatible API https://wiki.friendi.ca/docs/api-mastodon
  • But I get either a 404 or other error when I try to fetch context.
  • The documentation seems to imply (although this is not explicit) that all methods require authentication.
  • Therefore we probably can't implement it.

WordPress

  • My Googleing fails me - I cannot find their API docs

nanos avatar Jul 03 '24 07:07 nanos

I found a friendica post that seems to properly fetch when I search for it in masto web (doesn't work in Ivory however): https://friendica.myportal.social/display/e65e1095-2066-778e-a9b1-719897452963 Not sure why friendica is so hard to explore / seems so locked down, not sure if that's just an instance configuration thing or what.

colinstu12 avatar Jul 03 '24 07:07 colinstu12

Thanks @colinstu12

I did try this. According to the docs, the API to get context should be the same as Mastodon: GET /api/v1/statuses/:id/context. However, when I try to get https://friendica.myportal.social/api/v1/statuses/e65e1095-2066-778e-a9b1-719897452963/context I only get back a 404. So I'm not sure if I need to convert that UUID into a different ID, or if the docs are wring, or if the endpoint requires auth, and the 404 is just a masked 403.

All very confusing 🤔

nanos avatar Jul 03 '24 08:07 nanos

OK, so I'm a little bit closer here: Looking at the source code I find a reference to a numeric ID for this post, and if I use that it works:

https://friendica.myportal.social/api/v1/statuses/45055616/context

But how can I convert the GUID to a numeric ID?

nanos avatar Jul 03 '24 08:07 nanos

For WordPress, are you looking at ActivityPub powered ones, or just regular blogs?

edent avatar Jul 03 '24 09:07 edent

@edent Yes, ActivityPub ones. Here is a node info example response:

{
  "version": "2.0",
  "software": {
    "name": "wordpress",
    "version": "6.5"
  },
  "usage": {
    "users": {
      "total": 1,
      "activeMonth": 1,
      "activeHalfyear": 1
    },
    "localPosts": 340,
    "localComments": 11
  },
  "openRegistrations": true,
  "services": {
    "inbound": [
      "atom1.0",
      "rss2.0",
      "pop3"
    ],
    "outbound": [
      "atom1.0",
      "rss2.0",
      "wordpress",
      "smtp"
    ]
  },
  "protocols": [
    "activitypub"
  ],
  "metadata": {
    "generator": {
      "name": "NodeInfo WordPress-Plugin",
      "version": "2.3.1",
      "repository": "https://github.com/pfefferle/wordpress-nodeinfo/"
    },
    "nodeName": "Symfony Station / The Payload Newsletter",
    "nodeDescription": "The Symfony Station Fediverse Account and Newsletter",
    "nodeIcon": "https://newsletter.mobileatom.net/wp-content/uploads/2023/12/cropped-Symfony-Station-No-Text-Astronaught-2C.png"
  }
}

nanos avatar Jul 03 '24 10:07 nanos

Sorry if I've misunderstood this, but I think this is the way to do it.

If you look at my blog's WebFinger - https://shkspr.mobi/blog/.well-known/webfinger?resource=acct:[email protected] - that points to https://shkspr.mobi/blog/@blog

If you request that with Accept: application/activity+json, you'll get back a standard AP document which says the outbox is https://shkspr.mobi/blog/wp-json/activitypub/1.0/actors/0/outbox

That's paginated, so should let you backfill all the contents.

edent avatar Jul 03 '24 19:07 edent

Thanks @edent very helpful.

And would you know how I can fetch replies/context using ActivityPub? I think I looked into that a while ago, but didn’t get very far as it seemed extremely complicated (and iirc mastodon doesn’t even implement it, or something like that, which is why we now got the mess of implementing various APIs, rather than ‘just’ ActivityPub)

nanos avatar Jul 03 '24 21:07 nanos

Any chance you can add partial support for the iceshrimp.net beta? It has mastodon compatible api but is missing features currently.

https://is.ready.social/swagger/ for a list of the api. You can select mastodon from the dropdown in the top right.

SimplyCorbett avatar Aug 01 '24 17:08 SimplyCorbett

FediFetcher does already support ice shrimp. Is there any specific issue you’ve encountered?

nanos avatar Aug 01 '24 17:08 nanos

FediFetcher does already support ice shrimp. Is there any specific issue you’ve encountered?

I wasn’t able to get it to work with iceshrimp.net but could with mastodon. Are you talking about iceshrimp.js? I’m talking about their new codebase on the beta/dev channel at iceshrimp.net. The software isn’t finished yet.

SimplyCorbett avatar Aug 01 '24 18:08 SimplyCorbett

@SimplyCorbett I'm talking about the software IceShrimp, rather than about a specific server.

As of today, iceshrimp.net doesn't appear to be hosting a Fediverse instance. The .well-known/nodeinfo endpoint is a simple redirect to a code repo, as is host-meta

curl -i https://iceshrimp.net/.well-known/nodeinfo                                                                                                                                                                                                                                                                                                               
HTTP/2 301
alt-svc: h3=":443"; ma=2592000
location: https://iceshrimp.dev/iceshrimp/iceshrimp.net
server: Caddy

nanos avatar Aug 02 '24 09:08 nanos

What about https://next.iceshrimp.dev ?

colinstu12 avatar Aug 02 '24 15:08 colinstu12

Thanks @colinstu12

if they do support the mastodon api then it should be really straightforward to implement. I’ll have a look at it some time next week

nanos avatar Aug 02 '24 19:08 nanos

@SimplyCorbett @colinstu12 can one of you test if #153 works correctly with Iceshrimp.NET?

nanos avatar Aug 03 '24 10:08 nanos

@SimplyCorbett @colinstu12 can one of you test if #153 works correctly with Iceshrimp.NET?

They appear to still be in closed beta stage. But it sounded like late 2024 or early 2025 there'd be a release. All of the Iceshrimp.js team has swapped over to the .net one it sounds like so it's good to support it, but can't quite test yet. If those iceshrimp.net folks run across this or if they're reached out to on fedi maybe they can assist further.

colinstu12 avatar Aug 03 '24 10:08 colinstu12

They appear to still be in closed beta stage.

then why did @SimplyCorbett ask for support? 🤔😁

nanos avatar Aug 03 '24 10:08 nanos

It’s open beta. They are targeting an official release by the end of 2024.

I’m asking for support because I use iceshrimp.net as my daily driver.

I will give #153 a shot, thanks!

SimplyCorbett avatar Aug 03 '24 11:08 SimplyCorbett

Thanks for the clarification @SimplyCorbett

if your feedback is positive I’ll be happy to merge.

nanos avatar Aug 03 '24 11:08 nanos

Thanks for the clarification @SimplyCorbett

if your feedback is positive I’ll be happy to merge.

I didn’t run into any issues and it finished successfully, but I also dont have a lot of things setup in the config.

So it appears to work, thanks!

SimplyCorbett avatar Aug 03 '24 13:08 SimplyCorbett

Great, thanks for the feedback @SimplyCorbett

nanos avatar Aug 03 '24 13:08 nanos

Hello @nanos , why exactly can GoToSocial not be supported? I have a friend on a GTS instance now and I notice in my fedifetcher logs this now: unknown server api for social.bateleur.org I seem to be able to pull up context just fine from Masto Web UI and from Ivory client (when using both the gotosocial post link or my instance's local copy of the post too)? Why can't fedifetcher perform the same context retrieves etc? Thank you

colinstu12 avatar Nov 27 '24 03:11 colinstu12

@colinstu12 see the 2nd comment in this thread: GTS requires authentication for their api, so we cannot support them. In the linked issue the maintainer explains their rationale..

nanos avatar Nov 27 '24 09:11 nanos

@colinstu12 see the 2nd comment in this thread: GTS requires authentication for their api, so we cannot support them. In the linked issue the maintainer explains their rationale..

Would #183 help at all with this?

colinstu12 avatar Dec 05 '24 11:12 colinstu12

No, sadly not. #183 means that you can run (some parts of) FediFetcher if your home instance is GoToSocial.

But it does nothing for fetching stuff from remote instances.

nanos avatar Dec 05 '24 11:12 nanos

@colinstu12 see the 2nd comment in this thread: GTS requires authentication for their api, so we cannot support them. In the linked issue the maintainer explains their rationale..

The link is dead and not available on web archive. Is it on codeberg?

mio-19 avatar Jun 26 '25 01:06 mio-19

The link is dead and not available on web archive. Is it on codeberg?

@mio-19 I haven't been able to find it, no.

nanos avatar Jun 26 '25 06:06 nanos

@colinstu12 see the 2nd comment in this thread: GTS requires authentication for their api, so we cannot support them. In the linked issue the maintainer explains their rationale..

The link is dead and not available on web archive. Is it on codeberg?

they moved to codeberg, thankfully the issue numbers did not change. https://codeberg.org/superseriousbusiness/gotosocial/issues/2038

colinstu12 avatar Jun 26 '25 06:06 colinstu12

Thanks @colinstu12! When I searched their codeberg it didn't come up.

To quote the maintainer:

It's unlikely we would expose those APIs without authentication, since that would make it far easier for just anyone to come along and scrape those APIs. The client API of GtS is designed for authenticated client applications, not for callers who aren't clients to glean info about the instance and accounts on the instance. In that sense it's similar to Mastodon with secure mode enabled (I assume fedifetcher also doesn't work with secure mode mastodon, right?).

nanos avatar Jun 26 '25 06:06 nanos