this post was submitted on 18 Jan 2024
130 points (95.8% liked)

Fediverse

28480 readers
851 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 2 years ago
MODERATORS
 

A few months ago I released the Defederation Investigator, a tool to verify the federation status of Lemmy instances. With this new update, I've expanded it to support multiple Fediverse softwares, including:

  • Mastodon
  • Misskey
  • Mbin
  • Pleroma & Akkoma
  • Friendica

This works both ways: you can verify which Mastodon (et al) instances have defederated your Lemmy instance, as well as check the federation status of an instance running any of the supported softwares.

Like most of my works, this tool is FOSS and available on my team's GitHub.

Limitations

Many microblogging platforms, Mastodon included, offer admins the possibility of hiding their blocklists from the public. As it turns out many instances have chosen this approach, so the available information can be pretty limited at times.

Also, this update has increased the pool of instances from a couple hundred to over 2 thousand, so query times have increased significantly. You can reduce them by deselecting some softwares from the query page (hint: most fedi instances are Mastodon ones, so by deselcting them you'll cut out over half of the pool).

What about Kbin?

To my knowledge, Kbin doesn't share its federation status through an API like most softwares do. Furthermore, given recent events, I have little faith in the Kbin project. Instead, I chose to support its community driven fork: Mbin.

What about Peertube and Pixelfed?

I tried looking through their API docs and wasn't able to find any endpoints sharing either federation or defederation statuses. If anyone is familiar with any of these softwares and has any ideas on what to do to retrieve such information feel free to contact me, I'd love to add support for both.

What about ...?

Want more softwares? Feel free to propose them. I'd like for this tool to support as many projects as possible.

you are viewing a single comment's thread
view the rest of the comments
[–] mulcahey@lemmy.world 15 points 10 months ago (1 children)

Thank you for this great tool!

Is there a way I could use this to find a Lemmy instance that let's me interact with desired instances? For example:

  • I want to participate in Instance A, B, and C.
  • A has defederated from B and C
  • can I generate a list of instances that let's me interact with A, B, and C? Then I'll move my account there.

Thank you!

[–] Nerd02@lemmy.basedcount.com 8 points 10 months ago* (last edited 10 months ago)

Yeah sure. Assuming you are only targeting Lemmy instances (other softwares make this a bit more complicated), A "can interact" with B if:

  • A hasn't blocked B
  • B hasn't blocked A
  • Neither A nor B are on allowlist. If either is on allowlist, it must have explicitly added the other one to its allow list (this is very uncommon, the only big instance using allow lists is hexbear.net)

So, to verify this, you could query the Defed Investigator with the instances you care about, one at a time. Only select the softwares you care about (likely only Lemmy) to make the query faster. Say you wanted to verify the compatibility between lemmy.world and sh.itjust.works (just making an example). Go to https://defed.xyz/check?name=sh.itjust.works&software=lemmy

  • lemmy.world doesn't appear in the "Instances defederated from sh.itjust.works" (this means .world hasn't blocked SJW)
  • lemmy.world doesn't appear in the "Instances defederated by sh.itjust.works" (this means SJW hasn't blocked .world)
  • lemmy.world doesn't appear among the "Instances not allowing sh.itjust.works" (this means .world isn't on allowlist or, if it is, it has explicitly allowed SJW. Again, this is very uncommon)

Also make sure the instance you are looking for isn't among the "Instances that returned errors", of course.