If you can’t block em, block em harder: Feditext and hard coded client blocklists

Previously, I’ve made other posts about some of the various cancers on the fediverse, be it signed fetches or carpet blocklists. I’ve also made a post about how the marketing efforts of the Mastodon crowd and forced division have created a “what instance should I join/recommend” issue. These 3 posts summarize many of the problems with the fediverse including the lack of transparency behind the blocks, but there’s one more trick that has been done with a few fediverse clients (Tusky is one example) but taken to new extremes. This client summarizes everything wrong with the Mastodon side of the fediverse, but also illustrates why it’s going to fail.

Feditext: when the blocks are built in

Today I heard about drama involving a fediverse client known as Feditext, and what the creator has done to the users of the client. Now on phones, fediverse/social media clients or “apps” are massively popular. These offer the polish of a phone app, linked into your website of choice. In fact, this is one of the reasons Gab moved to a modified Mastodon software stack, the developers wanted to take advantage of the wide array of Mastodon apps that exist (Gab is banned from the app store). This resulted in a giant flamewar in 2019 leading F-Droid to even issue a statement as some developers chose to block “problematic” instances at a client level to “own the chuds”. After all this though two apps stood out for their stance to not block instances, Fedilab and Husky (a pleroma extended fork of Tusky, which did block instances). Server blocklists aren’t enough, you have to block the instances in the clients to get the mean people off the fediverse.

Anyhow, I really don’t know too much about what goes on in the Apple ecosystem and I could care less because I’m not a fan of heavily locked down phones that are literally security theater, but I’ve heard about this new fediverse app called Feditext that is pulling the same behavior. The backstory for this app is this; there was this Mastodon app called Metatext for it and then the developer got sick and it was abandoned. Then someone else made a fork of it and now it’s on Github, even though it hasn’t been touched in 5 months. I never heard of it, so I popped it in the biggest search engine and what do you know, there’s already the usual shibboleths. What a nice start. Something else you should notice is that Pleroma is conspicuously absent, there’s a good reason for this that I will explain why later. Also worth noting is that it’s not even on the app store, but only in test flight/beta mode. Nice.

Now normally this might have been a good app. Maybe it’s not. I don’t know, I don’t own an iPhone and I’d rather not own one. If I wanted to impress trashy women in the parking lot of Wal-Mart, I’d get myself a used BMW on Craigslist or Copart or something. But there’s just one small problem. You see, the developers of this app love to hardcode blocklists in, and this is how I found this app, through a fediverse thread talking about it. The first post is of a screenshot interaction with the developers of this client with the OP of the fediverse thread, puzzled by the fact that a blocklist would be baked into a client.

After being unable to find stereophonic.space in the code itself, a fedi user found out that in “ServiceLayer/Sources/ServiceLayer/Services/InstanceURLService.swift“, there is a bloom filter in the code that compares instances.

Now the bloom filter itself is designed to be “unreadable” so that the darn CHUDS can’t read it. The code itself in the same file is also booby trapped so that you will get an “instance not supported” error if the instance is flagged as problematic. Essentially, the piece of code is a new version of the infamous “AARD code” that was used as evidence in court cases. Of course what happens is the user will end up one starring the app over this.

As it turns out, the obfuscated list reveals that a lot of fediverse instances popular in freer side of the fedi are blocked.

So why did I reveal the best for last (as in who made this client)? Well; here’s where it gets funny. The creator of this has a hard-on for blocking people online. One look at the fedi.software profile for Feditext tells you exactly who made this fork: none other than Vyr.

Now where have we heard the name Vyr before? Well, aside from being mentioned in my previous posts on the issue linked at the beginning, Vyr has a huge obsession with blocking bad people online. From an abandoned list for detecting and blocking Soapbox instances because of years old posts of the developer:

Which unblocks you if you run a fork of it (that might have issues, just because Alex Gleason is a stupid (keemstar.gif)):

To carpet blocking Pleroma instances because Alex Gleason used to be on the team (and the mean people run the instances but Akkoma is fine).

In short, when the control freaks can’t get power from making blocklists, they’ll work on fediverse client software and take the blocklists to the software itself. Even if you build the software itself, you have to strip out and modify the software to remove any sort of lists like this! It makes me wonder if this was the motive behind it, or if politics are just so ingrained in these people that they can’t let it go for 5 minutes. Maybe it’s both honestly.

When “Internet Tough Guys” program

One of the things to note with even FOSS software is that it’s very risky to trust software made by people who openly hate you, want you dead, and think it’s funny over some miniscule dispute online. This is a problem that is widespread and isn’t just limited to a single developer. Rather, it’s both the final form of “politics are everything” in programming while also being a classic longstanding FOSS problem; namely the “internet tough guy” problem. There are a lot of people who will sabotage their code and services or ignore bug reports and contributions to feel like badasses on the internet. Or maybe they want to do it to protest something, at the expense of everything else and their professional career.

Hector Martin, Drew Devault, and whoever is the guy behind GrapheneOS come to mind. Hell, even the XScreenSaver guy could count as one given he’ll send rants if you port his software to Windows (don’t do this, and especially don’t send him thugs kissing if he harasses you). Probably the most notorious example of all of these is the GrapheneOS saga. The guy behind it is notorious for a feud with Louis Rossmann, accusing him of all sorts of things to the point of sending Louis Rossmann hate texts and threats while Louis was making a video talking about this saga. In fact; he deleted GrapheneOS because the developer was such a loose cannon, he didn’t trust software written by him (all over a comment he had left on a video):

Internet tough guys can be really terrible for infrastructure critical projects, as the infamous npm colors saga or the npm package nuking your hard disk if it “thought” you were from Russia saga showed. Why would you trust a piece of software made by someone who will nuke your hard drive because he thinks you’re against the current thing?

Which is the problem with fediverse client software made by untrustworthy developers like this. Would you trust a fediverse client written and maintained by someone who has an inaccurate “bloom filter” done for the sole purpose of keeping mean people from using the client? Or would you trust one made by someone who might post on a problematic instance but has stated that software should just work?

Leave a comment

Design a site like this with WordPress.com
Get started