EDIT 3: All good now, the DNS has done its thing and defed.xyz is fully operational! Once again, thank you all for having checked out my tool, it means a lot to me.
Deploy problems, read more
EDIT 2: I’ve managed to fix it as well as add some optimization measures. Now it shouldn’t ramp up bandwith nearly as fast. The DNS records are still propagating for https://defed.xyz so that might not work, in the meantime you can use the free Netlify domain of https://sunny-quokka-c7bc18.netlify.app
EDIT 1: You guys played too much with my site and ended up consuming this entire month’s 100GB limit of free quota, so the site is currently blocked.
This is probably my most succesful project ever, thank you all for checking it out. It will take me some time to find another suitable host and move the project there.
ORIGINAL POST: I couldn’t find any tools to check this, so I built one myself.
This is a little site I built: the Defederation Investigator defed.xyz. With it, you can get a comprehensive view of which instances have blocked yours, as well as which ones you are federated with.
The tool is open source and available on GitHub. Hopefully someone will find it useful, enjoy.
Lmao lemmygrad defederated my instance 🤣 I guess Australians are too “Liberal” for them
Awesome project and the tool looks great - nice work!
There was an existing tool which was similar: https://federation-checker.vercel.app/
Yours is definitely nicer.
Oh didn’t know about that. It doesn’t look too accurate though. My instance was defederated by some guy and it isn’t showing. Anyway thank you, glad you like it!
Does defed.xyz checking other softwares like Akkoma? For my instance, defed.xyz shows only dubvee.org is defederated, which is correct.
But in the other hand, federation-checker shows only matrix.rocks defederated, which is a Akkoma instance. I’m not sure is it correct since IDK where is Akkoma’s defederated list but both sites showing different sites.
To be fair this is the first time I hear about Akkoma, I wasn’t even aware of its existence.
Right now the Investigator queries all instances in the awesome-lemmy-instancecs repo, which means it only queries instances running the Lemmy software. I didn’t really consider this, but evidently this also cuts off Kbin, Mastodon and so on.
To expand on this I would need a list of all fediverse / threadiverse instances, or at least the onest that federate with Lemmy. I don’t know if such a list exists out there.
Alright I don’t really care other than Lemmy anyways. Maybe kbin. IDK your tool is the best among the other ones, so well done 🙏
Thanks a lot! I’ll see if I can make any improvements on this front, but I can’t make any promises.
deleted by creator
You might want to check your data again, lemmygrad is the latest blocked instance on discuss.tchncs.de link :)
It also shows pawb.social defederated from sh.itjust.works but I swear I’ve seen comments by them.
Might be old stuff dating before the defederation? Idk, I don’t think I can get my hands on any historical log. I just know that it happened, can’t know when though.
I was taking about the other one actually. Didn’t get a chance to try yours.
Oh my bad then. Hopefully I’ll be able to fix mine soon enough.
My site is back online (albeit under a different domain for now, see edited post) and indeed it says you guys and pawb.social are federated.
Nice! Thanks for the update.
Umm, I think you used up your quota at Vercel.
402: DEPLOYMENT_DISABLED
This deployment has been disabled, as the fair use policy guidelines have been exceeded.
Yeah I just saw it. Good God, apparently people really enjoyed playing with it.
Sounds like you need to use some caching
That might be a solution, but I think I might get there just by optimizing what’s already there. I started this yesterday and it was to be a one afternoon project, mostly for personal use. I never built anything this quickly and some aspects where definitely rushed.
More importantly, I wasn’t aware Vercel had bandwith limits. I guess I’ve fucked around and found out.
That’s what she said.
Nice one!
baraza.africa is not checked despite being in the awesome lemmy list.
It’s my defed-checker testcase, because they recently went whitelist only and defederated me that way. So the way I understand it, your tool should work there, it’s just not checking this instance for some other reason
Oh interesting. Now that you pointed it out I think I’m only checking instances’ blocklists, not whether they are white list only. But I should fix that, thank you for reporting it.
Update: I’ve written the code to do that, but I think it would require some overhaul of the UI. For instance, my instance has been blocked only by
awful.systems
, but by grouping together under “defederated” both those instances that have blocked me, as well as those that are on allow list only, I end up with over 70 instances in the “defederated” block.I think this makes for a very confusing UI, as I can’t know for sure who of these people hates my guts and who simply hasn’t heard of me. I think I’ll add an additional accordion box for the instances that haven’t included you in their whitelist.
Yeah, here the use cases differ ;)
I only care about instances that won’t send me updates, I don’t care much about the reason they don’t, so I’d be perfectly fine with seeing 70 instances in the defederated block. But I guess this one is pretty simple to solve by making a new block “whitelisted, and you are not in it” ;)
Update: I’ve finished writing that part and have already deployed it. Thank you for the feedback.
Nice, works great!
FYI, I needed to add
@sveltejs/adapter-cloudflare
to the devDependencies to get it to run locally.Yeah I added it to the dependencies minutes ago. I am trying to move it from Vercel (where I just got suspended) to Cloudflare, so that’s why it’s there.
This tool is great! Thanks for creating it and making it public.
Also, is this the first Lemmy Hug of Death? If so, congrats, I think?
Not sure if it’s the first but it’s definitely a first for me. In retrospect I could have written it way better, the logic was a bit rushed, but it should be fixed now.
I love the amount of support I’ve been getting from this and other threads, thank you for using my site.
Today I learned that one of the biggest Spanish instances, Mujico, apparently doesn’t federate with anyone else. Ah well
deleted by creator
Doesn’t support kbin :(
Yeah sorry about that, I couldn’t find a list of instances that also included kbin ones. The best I could find was the awesome-lemmy-instances repo, which as the name suggests is strictly Lemmy.
If you have a list that includes kbin I’ll be happy to add support for it.
There’s this one, but it only includes kbin instances
Thank you. Actually that list is a bit hard to interact with, but I’ve found this API and it works great. I’ll be adding kbin support in the next couple days.
Update: apparently kbin doesn’t support this kind of operation. In other words there’s no way of knowing what instances a kbin instance is federated with. I’m sorry but this really isn’t my fault. I’ll see if I can add it later on, once the kbin devs finish working on this feature.
There is an issue open in the kbin repo.
Cool I need to bookmark this.
The greatest of honours, thank you.
Interesting. Guess, dmz.social defedered my instance, for… unknown reasons.
Never even knew that instance existed.
I am disappointed in you!
LemmyOnline gave your instance a guarantee, and then you defederated it!
Lmao. This is the kind of drama I built this for, let’s have a look at everyone’s dirty laundry :)
Honestly, kind of surprised my instance was only defederated twice. Not, sure what I expected, but… /shrugs.
fedi-block-api already existed and works with any fediverse instance, not only Lemmy.
In my experience, the data on there is significantly outdated/incorrect. The easy way to check is the domain reverse lookup- pick any instance (e.g. sopuli.xyz) and enter it into the reverse lookup. Then compare that to the official published list at sopuli.xyz/instances.
As of right now, FBA lists 9, while the official list is 15. The lists are significantly different as well, with each having multiple entries that are not on the other.
I have no idea how it works under the hood, but I guess there is some caching given how fast results are retrieved.
This appears to be related to kiwi farms? It also has a slur immediately on the page you linked
This appears to be related to kiwi farms?
It was originally developed by Kiwi Farms when they were running their own Mastodon instance.
They built this tool because they were being massively defederated (for obvious reasons) but eventually gave up and closed their Mastodon instance.
Since then, other instances apparently not related to Kiwi Farms (but usually still that kind of “free speech” ones) have reinstantiated the service.It also has a slur immediately on the page you linked
Oh, yes, I haven’t seen that.
Good to know. Feel free to use that if you prefer it, the only reason why I made this was because I wasn’t aware of the existence any other similar tool.
Dracula 🦹♀️
Great app.
Might be nice to also have a section for instances that the searched instance has defederated from.
I know this can be seen elsewhere but would be nice to have all the information in one place.
Sure, I could do that. The only reason why I didn’t was because that info is just one click away, it’s really easy to see that from an instance’s web page (while it isn’t so easy to see the rest of the data I am displaying).
What does returning errors mean? I had a main account that I tried migrating away from lemmy.world, only to have it return errors from lemmy.world. I can’t see two thirds of the comments I can from this programming.dev account.
For some reason when I query
programming.dev
, as well as a couple other instances from my Vercel deployement I get 403s “Forbidden” errors. Not really sure why, it works when I run it from localhost? Maybe them or their provider have somehow blocked request from Vercel because they are afraid of bots? It’s anyone’s guess really.This site is built on top of the lemmy-js-client, which is maintained by the Lemmy developers, unfortunately there isn’t any API documentation to look at, so for those times when the JS client doesn’t work it’s very hard for me to debug it and troubleshoot it.
BTW you can look at these errors yourself in your browser’s “network” tab, all errors return 500s. In the request body you can see the queried URL, in the response you can see the error message. Sometimes it’s “Forbidden”, some other time it’s a timeout (possibly due to the instance being offline or severely overloaded).
Awesome stuff. Thanks!