Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on lemmy.world
youshouldknow·You Should KnowbyGemAlarm

YSK: Tesseract hides any post containing the phrase "censoring me"

cross-posted from: https://lemmy.world/post/49778353

Also /c/modabuse. Also /c/yepowertrippinbastards. Also lemmy.ml/c/worldnews, comrade, ACAB, and 552 individual accounts across 67 instances, about half of them on lemmy.world.

None of this is in the source code. It's downloaded at runtime from a file nobody has ever looked at.

If you're just tuning in

Tesseract is a third-party web frontend for Lemmy, maintained by asimons04 and licensed AGPL-3.0. Admins deploy it on their own servers alongside or instead of lemmy-ui, and there are public instances of it people use to browse Lemmy generally. If you've used a Lemmy site that didn't look like stock Lemmy, there's a fair chance it was this.

Last week db0 posted a PSA: Tesseract contains a blacklist of instance domains compiled directly into the application. 32 of them. Admins can't see it, can't configure it, and aren't told it's there. Connect to a listed instance and the app tells you it's "incompatible," which is not true.

I went through the code to see how that was implemented. The hardcoded list turns out to be the small half of the system.

There's a second filter policy fetched over HTTP every time the app loads. It isn't in the git repository. It's unauthenticated and world-readable, so anyone can pull it. Right now it carries 552 user accounts, 2,275 username patterns, 54 instances, 97 communities, 289 keyword patterns and 351 domains, with every category set to hide matches rather than flag them. Not collapsed behind a click. Simply absent, with no indication anything was removed.

Verify all of it in ten seconds

curl -s https://tesseract.dubvee.org/tesseract/api/system/policy \
  | base64 -d | gunzip > policy.json

That's the live policy, base64-wrapped gzip, 111KB of JSON when it unpacks. There's a stale fallback copy at /data/policy.dat as well.

It filters criticism of moderators

  • lemmy.sdf.org/c/modabuse — listed
  • lemmy.dbzer0.com/c/yepowertrippinbastards — listed
  • lemmy.dbzer0.com/c/YPTBcirclejerk — listed
  • community regex power ?tripping?
  • keyword censoring me

Call the rest of it whatever you like. This part is not spam defence.

It filters words

The 32 community name patterns include Communis(t|m), Conservativ(e|es|ism), Leftis(t|m), Libertarian(ism)?, ^Green Part(y|ies), Zionis(t|m), (Police|Cops), guillotine and billionaire.

Keywords include comrade, ACAB, neoliberal, proletaria(n|t) and death to.

Filtered communities on instances that aren't blocked: lemmy.ml/c/worldnews, lemmy.today/c/news, lemmy.ca/c/politicalnewscanada, lemmy.ca/c/usa, infosec.pub/c/strategic_unions.

The 552 users aren't bots

67 instances. 272 on lemmy.world alone, 40 on sh.itjust.works, 19 on lemmy.ca, and 28 instances contributing exactly one person each.

355 of the 552 usernames are plain alphabetic, twelve characters or under, median length eight. Only 36 look like spam registrations. A bot list looks like the opposite of that.

Seven of them aren't even Lemmy. There are Mastodon and Friendica accounts in there: people who have never used Lemmy, hidden by a Lemmy frontend, with no possible way of finding out.

I have the list and I'm not posting it. Most of these are ordinary people who got pattern-matched, and 552 names on this comm is a harassment target inside an hour. Run the command above and grep for yourself.

And it lies about it

When the instance block fires you get: "Incompatible Instance. Not Supported. $instance is not compatible with Tesseract."

Nothing is incompatible. It's a policy decision dressed as an API error, and it's what had db0 chasing a version mismatch that never existed.

For the hidden users, communities and keywords, you get no message at all.

Admins can't switch it off

Tesseract has env vars for PUBLIC_DOMAIN_BLACKLIST, PUBLIC_FAKE_NEWS_BLACKLIST and the shortener lists. There is none for either blocklist. enableToxicMode bypasses the other filters and explicitly not this one.

Self-host it and you cannot disable this, nothing in your config admits it exists, and the contents can change without you pulling a commit.

Before someone says it

A lot of that domain list is real spam defence. It filters conservatism as well as communism. "It targets the left" doesn't survive the data and I'm not going to pretend it does.

The problem is that spam filtering and political editorial got welded into one undocumented, remotely-updatable blob, shipped hidden, to admins who've never read it and users who don't know it's there. The spam work is what makes the rest unauditable: "it's a spam list" answers every individual question and none of the whole.

And /c/modabuse is not spam.

Asks

  1. Publish the runtime policy in the repo, or kill the endpoint.
  2. Stop reporting a policy block as a technical incompatibility.
  3. Tell users when something's been hidden. One line.
  4. Give operators an off switch, like every other blacklist in the codebase has.

It's AGPL-3.0 and db0 already forked it. That's the licence working as designed. But forking isn't disclosure, and the admins who need this are precisely the ones with no reason to go looking.

If you run Tesseract, you are relaying a 111KB moderation policy you have never read, under your instance's name, to users who don't know it exists.

Full contents of every list, unedited, in the comments.

View original on lemmy.world
955

337 replies

Tesseract and asimons04 are also protecting pedophiles with this shadowlist. Literally covering up any and all references to them or their crimes. This is from the keyword list.

50
lemmy.world

Censoring the phrase ACAB is just wild. Way to tell on yourselves.

96
Echo Dotreply
feddit.uk

I originally read that as ACDC and I was wondering what they had done

12
lemmy.zip

I love how making it onto this snowflake's list is quickly turning into a lemmy badge of honor.

41

I have been ACAB'ing so fucking hard but failed to make the damn list

RECOGNIZE ME, YOU SCUM. I want to be SEEN for the trans anarchist scourge to the system that I am damnit

16
lemmy.world

It's almost like an exclusive club. We should get a little icon to place next to our usernames to commemorate this. "Verified Quality Shitposter" or something like that to make fun of this BS.

8

I'm on the list!!! I'm number 1611. What did I do besides some stuff I said!? and some communities that I created?!

Some users have assumed I'm a bot because of my username but you can't prove that I'm a bot. I don't say bot things!

12

I was having a genuinely good day until i saw i wasn't on the list. jesus fucking christ to completion in the hand holes and then wiping himself off in the spear wound what kind of blasphemy does a dude have to commit to get on a list nowadays

55
sp3ctr4lreply
lemmy.dbzer0.com

... well that's some damn fine blasphemy right there, if I do say so myself.

I'm apparently on the list.

Honestly, surprised the file is still up for me to pull, t+24 or t+48 hours on.

They bothered to end cap the regex with an $... can't have anything with 'sp3ctr4l' anywhere in the name... I don't have alts, so... I don't know what the point of that is...

Oh well.

Not my first time.

I got shadow banned and also just actually banned from half of reddit for calling out mods on their bullshit despite being one of the earliest/oldest users there. Obligatory fuck Spez.

I'm reasonably confident that the twitter account I created soley to scream insults and baseless threats at Elon, when he accidentally bought it, ... reasonably confident he personally banned me, as ... there weren't really any other actual support staff at that point time, Elon had revoked their credentials.

I like to think I contributed, at least in a small way, to his subsequent insane crashout telling advertisers to 'go fuck yourselves'.

... this?

This reminds me of literal petty children running Gmod servers, hardcoding steamid blocklists in hashed files... the hilarious part about that is that they actually bothered to properly encrypt them, so you couldn't read them without a valid server key.

So this? Actually laughable, I've literally seen 14 year olds do this in a more clever way.

Fuckin oi vei, man.

21
lemmy.world

I'm so envious, dude. I am not sure how to explain this drama to my wife. She just knows I've been giggling into my coffee all day. The best analogy I could think up was kids running Minecraft servers.

15

Minecraft servers are often extremely, extremely similar, that is a very close comparison, both technically, and in terms of uh... lets say the 'character' of those involved.

Yep.

This is where we're at.

... trying real hard right now to not go get a pack of smokes, god damnit.

EDIT: Modded Mincraft servers, I should say, are very similar to custom GMod servers/communities.

10

Great info, but I'm not sure how anyone could claim is doesn't target the left

17
lemmy.dbzer0.com

This tells me the project cannot be trusted at all. The dev is clearly willing to ship undisclosed block lists... What's next, a crypto miner? Credential harvesting? Who knows.

299
BillyClarkreply
piefed.social

Is your account just for this sort of trolling? I'd hate to think you were being honest, but trolls tend to be a tiny bit subtler.

47
quokk.au

Yes, I am another user on the same server. Thank you for noticing. My reasons for doing this shall remain inscrutable.

-28
prolereply
lemmy.blahaj.zone

Yes, I am another user on the same server

Totally normal behavior.

3
ripcordreply
lemmy.world

Because you desperately need attention?

Oh well, it's easy enough to set a personal block on you and deprive you of attention.

13
ayyyreply
sh.itjust.works

Libs are cryptofascists?

You need an internet break, your brain is currently melting.

5
lemmy.world

I think he just doesn’t know the difference between liberal and libertarian

4

I'm always confused when someone knee jerks "liberal". Are they trying to talk about leftists? Or pro corporate free market people? Or...?

2

i don't think most people do, tbh. Pretty sure i see people who self-identify as either of them call themselves the other, not even realizing they said a different word.

2
piefed.zip

Don't care about your ideological bent, engaging this clearly in bad faith with the fediverse should be unwelcome here.

Its blatantly dishonest. That is unacceptable; this project and the people building it should have no home here.

170

Had a feeling it was AdmiralPatrick the second I opened this thread, as I saw he blocked me from communities with zero reason or explanation within my first months on Lemmy.

61

Admiral Patrick was never a real admiral in the first place! He was a genetically modified man with severe social issues

7
teslekovareply
sh.itjust.works

Here here. Freedom of speech online, combined with the ability to control what you see, is the absolute core of a free internet, and this fucker has violated that.

35

Yep and this case is exactly the strength of the fediverse: transparency and choice for the users and the admins. And those developers tried to break both.

37

Tessaract be censoring me

asimons04 be censoring me

Tessaract users suck big fat gay cock

asimons04 sucks big fat gay cock

Why do gay reddit mods try and ruin lemmy too?

Go back to reddit, big gay reddit mods

11

So there seems to be 2 lists, the first under "users" with full links, then another list under "userRegexes" with just names. Whats the difference?

I was happy i made it, but i appear on the second much longer and thus not as cool list if its even the same thing.

21

I know, let's fix cancel culture with more cancel culture.

7
"enableKeywordFiltering": true,
  "hideKeywordMatches": true,
  "keywords": [
    "🥺?👉👈",
    "0811( |-)?4555588",
    "@juicypinkrose",
    "^Article is paywalled.?$",

???

70
piefed.zip

genuinely who the fuck is juicypinkrose. they don't show up in search.

2

Huh. I'm on the list. I've always considered myself too insignificant, but I guess this guy has a vendetta and way too much time on their hands.

21
lemmy.world

If you wanted to, it would be good to know which maintainers made the commits and approved PRs, and what other projects they run or contribute to.

What happened with Tesseract could happen with any of those.

29
ScrooLewsereply
lemmy.myserv.one

Isn't that the rub with the spooky off-site list, though? No documentation to point a definitive finger at who did precisely what. I suppose we could scapegoat the person who wrote the original call for the list, but if they aren't the only maintainer then the rest of the plotters get to slip through our fingers.

4

Ahh yes. I had seen the instance list was part of the source, but didn't catch that the rest was off site.

3
lemmy.world

Oh god, I'm in the user regexes. Should this be an achievement of mine?

71
mirshafiereply
europe.pub

I don't know who you are but if you made it into their filters you're probably a very well-rounded person who should treat yourself to something nice.

35

Checked out the creator's other projects, those who remove the anime girl (the secondary-line defense) from Anubis can't be good people.

32

I'm pretty sure he went by making the broad lists of banned shit, and then ran a query on all the users that came up with saying that stuff.

I'm also on there, so I feel significant.

Or, he hates modern heavy metal, Devin Townsend and Colin Marston in particular.

18

Put it in your bio text with a link to this thread!

10

Tons of political shit on that list and then midway through it just decides to ban yuri. Not porn, not furry content, and not hentai. Just yuri

83
Wildmimicreply
anarchist.nexus

Seems to dislike women who don't need men in their life. Par for the course.

54
mirshafiereply
europe.pub

"Don't need men" is such a weird thing to say though. I don't need men in my life but that's not going to stop me from having men in my life.

19
Wildmimicreply
anarchist.nexus

Lets define it clearer: are not sexually dependent on someone with a penis. That's probably what his subconscious problem is.

20
roofuskitreply
lemmy.world

To the people who reported this comment as transphobic... Tripping over phrasing is not transphobia. People need a chance to learn, I will not be removing this comment. If people are trying to advocate for gender neutral or trans inclusive language don't be dicks about it to the person who made a mistake. This person was willing to rephrase but kept getting shit on. This is not the way to handle this.

My daughter is trans so don't come at me with your shit.

5

Damn, i knew i would miss something. But I think you know where i was going with all of this, and are simply teasing me lol ;-)

12
Wildmimicreply
anarchist.nexus

Btw i started out with saying "man" - that wasn't good enough for [email protected], so i went with "someone with a penis", and that wasn't good enough either (interestingly, since we are talking about yuri, which is specifically WLW content).

I sincerely await your response what i should use to not upset anyone - i am neither transphobic or against homosexuality (i think love has no preference regarding body parts and expressed gender, it's simply personal preference), but articulating these things is not my forte, since i am personally pretty isolated and don't have any contact with people who move in these circles. (i don't have contact with straight/cis people too, just to make that clear lol)

9

'Not attracted to men' is probably what you're trying to say. Lesbians can still have men in their lives that they depend on, just not in a romantic/sexual sense.

13

Yeah, I introduced my lesbian friends to Gary, my handyman. We all depend on him. I mean it's slightly sexual, he's our handyman. But like not that kind of sexual. he plays with the goober when he visits

8
sh.itjust.works

Some people will get upset with you no matter what term you use. I saw some mod get upset recently about the term 'human'. Blocked and noped out of THAT comm in a hurry.

7

Because they're implying something that exists in the sad devs imagination, not a reality.

1

The developer behind Tesseract is the same user who has displayed the habit of preemptively banning users who have never participated in or even visited his communities, particularly those that were on dubvee.org. Apparently for ideological reasons, or simply for being associated with a particular Lemmy instance.

So at the risk of stirring up even more Fediverse drama by saying it, it seems like the findings above are squarely on brand.

Not to come over all Graham Chapman about it or anything, but I always found that type of behavior to be very silly.

Edit!

I got curious and pulled down the data to have a look. If you want to do this on Windows (don't @ me about it, alright?) ::: spoiler spoiler you can just point your browser to https://tesseract.dubvee.org/tesseract/api/system/policy and save it someplace or, if you insist on doing it from a commandline, curl --output [filename] https://tesseract.dubvee.org/tesseract/api/system/policy.

Then to decode from base64:

certutil -decode [inputfile] policy.gz

And extract:

tar -xf policy.gz

Or, you know, just open it in Explorer. The resultant file is just plain text. :::

Anyway, guess what! I'm on the list. I'm a celebrity, ma! I ought to be on TV.

107
jaybonereply
lemmy.zip

dubvee has insane ban policies. Like they find people to ban based on posts in coms that have nothing to do with them. It’s almost like SRS on reddit.

24
Wildmimicreply
anarchist.nexus

I'm somewhat disappointed that i am not on the list. But i rarely post even if i do comment on the regular, and i tend to be not attracting drama (deserved or not) while doing so.

Still, i would have found it great if a leftist chump like me made the list lol. I am in awe of your popularity mate ;-)

10

Yes, I have no idea what the rationale is. My posts are largely about silly knives, birds, motorcycles, and occasionally cameras. Other than very occasionally engaging with idiots in the comments until I inevitably remember that it's a waste of time, I don't think I've incited or attracted too much if any drama around here.

My site itself does not have a hardcoded ban in the list, though!

13

Other than very occasionally engaging with idiots in the comments until I inevitably remember that it’s a waste of time,

awwww you remember meeeeee :3333

WAIT silly knives? hold on

edit i think i might have just talked the wife into a gardening sword. she is pretty cool.

5

I kind of want to k ow if any of my accounts (5 accounts over 4 instances) are on it, but I don't care enough to find out for myself, and I understand not wanting to post username lists like the OP says.

7

Same. Apparently I don't say enough woke things that make the snowflake pissed off?

18

Should've tried harder, like one of the two people from my instance who were blocked that...idk...drew some Sonic characters a couple of times and posted them in relevant communities? Should've been a real rebel like them!

13

tfw not in the cool kids club either

i mean, i expected as much, but still disappointing

8
lemmy.dbzer0.com
    "^Paywall(ed|s|\"d)?(…|\\.+)?$",
    "^Paywalled,? ?sorry?\\.? Can’t read it\\.?$",
    "pedophile",
    "Perchance",
    "pis+rael",

35
JackbyDevreply
programming.dev

pissssssssrael

It's just such a weird group. Why is the y in "paywalled sorry can't read it" optional? Lol

5

Yeah that's the kind of thing I noticed, too - some of it just appears to be random phrases, not targeted speech. To be clear, definitely some of it is targeted, and examples are all over this post, but there are also things that seem like it's just something that is a personal hangup of the program authors. Like the authors of the program might just really dislike if someone says, "To be clear" (not present, it's just an example), or they're overreacting to a comment that pissed them off one time.

1

I wonder if this is someone taking their personal block list and just slapping it into their app? I've blocked a lot of users/communities/instances, but I certainly don't want to block them for anyone else.

3

I'll gladly take the downvotes of shame for my previous comment on another thread. Tesseract dev has gone looney

48

So a system named after a hypothetical, hyper-dimensional solid turns out to have hidden depths, secret facets that we can't see from our universe?

50
lemmy.blahaj.zone

I took a look at it earlier today and the addition of instances to be blocked was super shady and sloppy on part of the maintainer. Some high profile instances were added to the blocklist alongside unrelated changes and not mentioned in the git commit message, for example this commit: https://github.com/asimons04/tesseract/commit/fcd71e01e9f64d5ff40dbee9b815971bc00e9a2a

Also apparently the error you'd get when going to the blocked instance was a generic error which makes the user think there's a network issue or incompatibility with the API or something and the idea of a hard coded blocklist is never presented to the user as the source of the issue.

60

Some high profile instances were added to the blocklist alongside unrelated changes and not mentioned in the git commit message… Also apparently the error you'd get when going to the blocked instance was a generic error…

Yeah, the combination of those two issues are exactly why the hidden blocklist was noticed in the first place. The site admin for db0 noticed that their frontend was broken after they updated their Lemmy stack. But the “incompatible” version of Lemmy they had just updated to was supported. So what was causing the incompatibility? Maybe an API issue? Nope, API is fine.

After some digging, they eventually realized that it was happening due to an instance block at the frontend’s level. But they didn’t have their own instance blocked in the frontend, so why was it being blocked? Turns out, it was because they were previously running an old version of Tesseract from before the blocklist was implemented. When they updated their stack (which also updated Tesseract), the new version suddenly included the hidden blocklist code. So when they tried to start their stack after updating, the new version of Tesseract quietly downloaded the hidden blocklist (which can’t be disabled) and blocked the instance it was currently running on. This effectively broke the frontend for db0, which is what led to the investigation and subsequent hidden blocklist discovery.

69

Lol. "Hide NSFW communities by default" and in the same commit totally blocks blahaj.

7

That Github is a fun read in general. Some of these variables and function names are sending me. They even seem to be blocking proton email addresses.

::: spoiler Tap for blacklists.ts https://github.com/asimons04/tesseract/blob/main/src/lib/blacklists.ts

My personal highlights:


// Domains that have been identified as frequent spam
export const SPAM_SITES = [
    'gofund.me',
    'gofundme.com',

// ...

const SHIT_KNOWN_BAD_LEMMY_ACTORS_SPAM

// ...

// Very non-comprehensive list of domains that host disposable/temporary/throwaway email aliases. Basically just the low-hanging fruit to aid in decision making.
export const THROWAWAY_EMAIL_DOMAINS = [
    'proton.me',
    
// ...

export const BLACKLISTED_INSTANCES: string[] = [
        "abolish.capital",
        "altmedia.house",
        "anarchist.nexus",
        "chapo.chat",
        "chatgptjailbreak.tech",
        "diggita.com",
        "hexbear.com",
		"hexbear.net",
        "ibbit.at",
        "test.hexbear.net",
        "www.hexbear.net",
        "hilariouschaos.com",
        "lemmy.bestiver.se",
        "lemmy.blahaj.zone",
        "lemmy.dbzer0.com",
        "lemmy.doesnotexist.club",
        "lemmy.durstig.online",
        "lemmy.ml",
        "lemmy.razbot.xyz",
        "lemmybefree.net",
        "lemmygrad.ml",
        "lemmyusa.com",
        "lemy.lol",
        "maga.place",
        "multiverse.soulism.net",
        "news.abolish.capital",
        "nnia.space",
        "noauthority.social",
        "r.nf",
        "realbitcoin.cash",
        "redlemmy.com",
        "welppp.com"
]

// ...

// Fake news sites that MBFC doesn't have on file or are known disinformation campaignss
export const FAKE_NEWS = [
    ...RUSSIAN_GRU_INFOROS,
    ...RUSSIAN_NEWS_DOPPLEGANGER,
    ...RUSSIAN_OPERATION_UNDERCUT,
    ...RUSSIAN_PORTAL_KOMBAT_PRAVDA_NETWORK,
    ...RT_ALIASES,
    ...STOP_NEWS,
    ...OTHER_RUSSIAN_CAMPAIGNS,
    ...JOHN_MARK_DOUGAN,
    ...SHIT_KNOWN_BAD_LEMMY_ACTORS_SPAM,
    ...MAGA_PROPAGANDA,

    // Admin-extended list from env vars
    ...BLACKLIST_CONFIG.FAKE_NEWS_BLACKLIST
]

// ...

export const isFakeNewsSite()

// ...

    if ( get(userSettings).enableToxicMode) return false
    

:::

::: spoiler Tap for filtering.ts

https://github.com/asimons04/tesseract/blob/main/src/lib/filtering.ts

They seem to be filtering out a lot of political keywords!

// Initialize a default blank policy
export const defaultFilterPolicy: FilterPolicy = {
    name: 'Default Policy',

    communityRegexes: [
        "^Ban ",
        "^Boycott",
        "(Elon|(Elon )?Musk)",
        "^Fuck",
        "Palestine",
        "Iran",
        "Israel",
        "Musk",
        "^News|News$",
        "^Politic(a|s|al)|^Politik",
        "Trump",
    ],
    communityInstances: [
        "ani.social",
        "pawb.social"
    ],

:::

::: spoiler Tap for data.json https://raw.githubusercontent.com/asimons04/tesseract/refs/heads/main/src/lib/MBFC/data/data.json

Some juicy comments in this one. It's a list of news sources with their "bias" (left/right/centre/etc). They didn't write this, they copied it from https://github.com/drmikecrowe/mbfcext/blob/main/docs/v5/data/combined.json

"Official Media Bias/Fact Check Extension"

Be informed as you read your Facebook feed. We are the most comprehensive media bias resource on the internet. There are currently 1100+ media sources listed in our database and growing every day. Don’t be fooled by Fake News sources. This extension is completely open source, and the source code is hosted here.

politico.com
bbc.com
cbsnews.com
front.moveon.org

These media sources are moderately to strongly biased toward liberal causes

:::

10
sopuli.xyz

This is very upsetting. I could see an argument if it was made a user toggle for a "more friendly experience" or something like that (Like the enable toxic mode toggle), but hiding the blacklist and then an opaque error message is cowardly. Having it be pulled every time from another website instead of built into the software is also a very clear accountability dodge.

Also reading over the file, I think it's biased, especially towards unfairly heavy moderation.

Edit: Just noticed I'm on the blocklist. What he said fuck me for?

55

Edit: Just noticed I'm on the blocklist. What he said fuck me for?

Figuring this out has been interesting, but then again based on that user could have just said something they didn't like in a random thread so they put you on the list

5
lemmy.zip

Why do you keep repeating this throughout these comments chief?

Being self important is not a political act and so far there is no indication of a political motivation, just that the dev somehow got the idea of appointing themselves secret online discourse admin. If it turns out there is some financial goal behind it i'm with you tho.

34
quokk.au

being self important is not a political act

Citation needed.

financial goal

I didn't say capitalism I said liberalism.

-28

American style "liberalism" (aka Neoliberalism) is exactly the opposite of that:

  • Everything must be behind a money-gate (everything must be private, nothing public) and only if you have enough money can you pass such a gate
  • Unless you're born on the right side of the gate or from parents with enough money, you can only get the money to pass most money-gates (even just the ones for food and for shelter) by working for the people with enough money to pass ownership-of-means-of-production & land-ownership money-gates.

It's a structure to heavilly reduce freedom in the most important aspects of one's life including things necessary for survival (like food and shelter), not to increase it, so it's the very opposite of increasing Liberty or Freedom.

I reckon that's the kind of "Liberalism" (which is the only one with political power anywhere in the World at the moment as far as I can tell, since there sure aren't any politicians in power anywhere which both claim to be Liberal and are against core liberty-reducing legislation such as Private Land Ownership) that the previous poster is talking about.

Mainstream politicians out there who call themselves "Liberal" are 100% liars and frauds.

2
piefed.blahaj.zone

Liberals are nothing more then centrists and can suck eggs for all I care but jeez, could you offer comments that were any more useless and rage-baity then this?

3

Ikept getting told to 'shut up cunt' in this thread and mods seemed fine with it. So I'm explaining myself in detail.

And libs aren't centrists, except maybe between Ronald Reagan and the Thule society.

0
prolereply
lemmy.blahaj.zone

I'm curious what makes them liberal not conservative? Why do you immediately jump to liberal, when every thing I've seen that's been blocked has been shit that triggers conservatives.

I get that you have to shoe horn your "everything bad is liberal" shit into everything, but this ain't it chief.

Before you accuse me of the same bullshit, I'm on the block list.

2
prolereply
lemmy.blahaj.zone

Liberals are a kind of conservative

It's funny because a statement like this would simply break the brains of my Fox News drip-fed parents lol

1

Doubt. Modern understandings of physics say you can't get fragments smaller than 2.6121×10−70 m²

0
teslekovareply
sh.itjust.works

No, it's a particular type of liberalism. Freedom of speech is actually a core liberal value, and while some who think themselves liberal will use censorship, (usually political hacks doing it for political ratfuckery, like the dev of Tesseract) most do not.

8
quokk.au

No. They say that shit, they say they have values beyond the class system and terror and feeling good about themselves for doing it, but shitlibs are liars.

Every single one, when pressed, is an authoritarian first. They fucking fetishize that shit. Everything else is just painted on.

-6
quokk.au

I know you are bit what am I? Seriously? You've got nothing else? Is your position really so hollow and hypocritical that you can't even criticize anything I actually believe?

-4

I barely even post and im on the list, WTF did I do wrong?!

Edit: Oh I guess we're too based for the dev to handle.

11
ikt
aussie.zone

How does a forum with such few users have so much drama?

45

I think we just notice it more because we have less content, so you're more likely to hear about each bit of drama that comes up and you're more likely to know one of the parties involved. There was lots of drama on reddit too, but I didn't subscribe to the communities that talked about it and I often didn't know enough about each incident to judge anyone

It's still annoying though 🫤

42
teslekovareply
sh.itjust.works

In this case, I think it's part of a general effort by left-liberal refugees from Reddit, who genuinely believe that the fediverse will be the new future of Redditesque forums one day.

Unfortunately, they have learned the wrong(imo) lesson from spez becoming a Nazi and pushing his political agenda onto every Redditor. They want the politics of this new medium to be no further left than AOC, and no further right than Chuck Schumer, while seeming to be completely free and open and information must be free, etc.

You can see that in their choice of bans.

I am glad this particular effort was so incompletent. It will not be the only one.

Edit: Oh man, spelling "incompetent" incorrectly there and getting everything else right deserves to be preserved.

27
sunniereply
slrpnk.net

Edit: Oh man, spelling "incompetent" incorrectly there and getting everything else right deserves to be preserved.

I noticed that too and it’s a thing of beauty! There should be a special prize for that.

10
lemmy.zip

Right?? I expect this kind of crap on reddit, but Lemmy? Really?

6
Zorquereply
lemmy.world

The thing is Lemmy is populated almost entirely by people who made a conscious choice to not be somewhere else. So the majority of them are those who hold strong beliefs and are generally anti-establishment or just contrarian by nature.

Basically people most likely to argue about arbitrary bullshit a lot. Which isnt to say that all of them will, just that there 2ill be a higher incidence of it happening.

44

You're ALL contrarian, but not me, I've never contradicted anything even once!

11
sopuli.xyz

fwiw I'd recommend photon, it's fantastic and the dev seems to work really hard on it. Hope they aren't doing something shady either!

36
Xylight‮reply
lemdro.id

it's not my job to moderate the fediverse, you won't need to worry about seeing any of this in photon

50
lemmy.world

Do you know if either of them support user tagging? Currently on the default lemmy UI but I'd jump in a heartbeat for user tagging.

3
db0reply
lemmy.dbzer0.com

Tbf @[email protected] was the one that found the original commit. I just discovered something was initially wrong, then did the fork and the PSA

30

probably gonna get shit on for not using a VPN for literally everything all the time but I didn't realize that I was going to need to attach my terminal to a VPN to download that file! All that and I'm not even on the list as far as I can tell. I'm almost offended that I haven't offended this person.

21

Lmao I think the majority a significant fraction of users who regularly talk politics are on that block list. You can go into any post in a political com and search usernames at random and most lots of them will be on there. I went to a random post on [email protected] and 5 out of 6 of the first top-level comments were users on the block list.

*ok the first post I tried that on was absolutely not representative, I just struck a rich vein apparently

26

Wow, I'm famous enough to have made the list. Nice!

I kinda wonder if I wasn't on the list, but now I am because of my previous comment on this post.

19
lemmy.world

I do sort of appreciate the irony on this one, but in general fuck this dev.

26

It seems none of the communities I mod have made the list this time

10
Ech
lemmy.ca

Lol, I made the list. Didn't this admin have a big ol' crashout and "retire" some time ago?

17

I noticed this a few weeks ago. I blocked the domain and purged the hardcoded ones.

8
feddit.org

Has someone a cyber chef link to share ? I’m to stupid to base64 decode and that way I can check if I’m on the tesseract list

4
lemmy.world

Thanks, but your willingness to block me means you're one of the many I'd prefer not do so.

2

If it makes you feel better I honestly don't know why I am. The only violence I really call for is for the execution of fascists following a fair trial or the occasional self defense. I'm a political extremist in that I'm somewhere between syndicalism and mutualism. And maybe it's because I occasionally talk about being kinky when it's relevant…

2
lemmy.world

This is the beauty and downside to open source. Anybody can force their political views in their software. But once discovered, it can be forked and fixed.

It’s a shame that everything has become so politicized that people feel the need to shove their religious political beliefs down everyone else’s throats. Yeah, we all know who the Bad Guys(TM) are; we don’t need to be constantly reminded.

Give users their voices back (or at least choice in what they want to see and block). It’s the decent thing to do. Anything else makes you a certified asshole.

I said what I said.

10

Give users their voices back (or at least choice in what they want to see and block)

This is why I think that dev is 100% in the wrong. They made it obscure, and default, for a reason: because they can't bear to read a political opinion online, or that they're happy someone responsible for untold number of people (Luigi's alleged victim) is dead (normal, empathetic human response to someone evil dying).

You're right, individuals should be able to choose who to block (which Lemmy already lets you do!)

I'm glad this dev has been exposed.

It’s a shame that everything has become so politicized that people feel the need to shove their religious political beliefs down everyone else’s throats. Yeah, we all know who the Bad Guys(TM) are; we don’t need to be constantly reminded.

A huge problem is widespread political disengagement. It's not a shame everything has gotten so politicised, it's a shame how much worse inequality and consolidation of power has become. And things are getting worse and worse. Sorry, the only solution to this is to build a movement of people to push back, and reverse this. It can't be achieved by a handful of people.

People do need to be reminded. People do need to get their message out there.

We don't need to talk about bad things all day every day, but honestly, the amount of people who talk politics and are geting organised to do something is way, way, way too low.

3
jafrareply
slrpnk.net

Well this is also what the offending dev accuses some mods. I would love to join your stone throwing, but i also think there are some truths. Libs and Commies and Queers all can react overly hostile and not seldomly react disproportionate (all 3 of them, not every last queer person). Aaand i think the dev is butt hurt, but if he chooses an unreasonable way to react we can be glad to leverage FOSS.

2

All propaganda has some element of truth to it, thats how they trick you into thinking its wholly believable.

Surface level honesty does not presuppose that same honesty at depth.

7
lemmy.today

Any particular reason people aren't forking it and adding whatever elements to the shitty dev keeps locking it out?

Not because the product is good or anything. But more of a big fuck you to the dev as this new version gets all of their hard work too.

5
ripcordreply
lemmy.world

I mean it's right there in the post and everything

11
piefed.social

It looks like there is an 'enable toxic mode' setting that DOES switch off the auto-updating blocklist. The LLM that wrote this post claimed that there is no way to turn it off.

from src/lib/policies/system.ts:

export async function updateSystemFilterPolicy() {  
    if (SBDisabled && get(userSettings).enableToxicMode) {  
        SYSTEM_POLICY.set(BLANK_SYSTEM_FILTER_POLICY)  
        return  
    }  
   // auto-update of blocklist continues below  

The original post was written using AI so it's going to have a lot of inaccuracies like that.

Overall though, having gone through the code myself, the LLM is in the right ballpark. The most friendly evaluation I can give is that this does seem poorly documented, too opaque and overly prescriptive. And needlessly encrypting the payload looks very shifty.

-12
prolereply
lemmy.blahaj.zone

Yeah it's the trans people who simply want to exist who are toxic

Edit: no indication any of that post was LLM, but would love to hear why you think that.

Though I suspect that's just a tactic to get people to shift their ire.

37

I didn't know they were an established transphobe, so I wanted to give some benefit of the doubt.

But yeah, all signs pointed to that fact.

10
fedia.io

Hi, not the person you replied to, and (edit: not*) agreeing with any of this blocklist shit, AND my ire is firmly not shifted away from Tesseract, but just wanted to break down the characteristics of the OP that suggest (to me) it was composed mostly with an LLM and fine tuned after. (Though to be clear, that's a pretty unimportant characteristic of the post considering the actual content)

  1. The division of the text into small "sections" of five or fewer short paragraphs separated by headers is probably the most obvious hallmark.

  2. Kind of difficult to put into words, but abrupt / awkward / overly poetic metaphor and... "overconfident"? "sensationalized"? phrasing both give me an LLM vibe. examples:

It's a policy decision dressed as an API error, and it's what had db0 chasing a version mismatch that never existed.

I went through the code to see how that was implemented. The hardcoded list turns out to be the small half of the system.

The spam work is what makes the rest unauditable: "it's a spam list" answers every individual question and none of the whole.

It's downloaded at runtime from a file nobody has ever looked at.

spam filtering and political editorial got welded into one undocumented, remotely-updatable blob, shipped hidden

That's the licence working as designed. But forking isn't disclosure, and the admins who need this are precisely the ones with no reason to go looking.

  1. Overuse of the rule of three. This one is probably the most tenuous, because genuine human writing does make frequent use of the rule of three. But when LLMs do it, it's usually at a high enough density where it starts sounding like it's trying too hard, or it's clickbaity.

Admins can't see it, can't configure it, and aren't told it's there.

That's the live policy, base64-wrapped gzip, 111KB of JSON when it unpacks.

There are Mastodon and Friendica accounts in there: people who have never used Lemmy, hidden by a Lemmy frontend, with no possible way of finding out.

355 of the 552 usernames are plain alphabetic, twelve characters or under, median length eight.

For the hidden users, communities and keywords, you get no message at all.

Self-host it and you cannot disable this, nothing in your config admits it exists, and the contents can change without you pulling a commit.

If you run Tesseract, you are relaying a 111KB moderation policy you have never read, under your instance's name, to users who don't know it exists.

  1. Tonally inconsistent with the intended audience. I realize Lemmy/Fediverse users are more technically savvy than usual, but even then... consider the claim "I went through the code to see how that was implemented." early in the post. A lot of plausible technical jargon is used, and there are plenty examples of the actual filters and filter patterns themselves, but the post makes claims about what is happening without really being specific at all about how.

Could be explained by me just not being familiar enough with the technical side, but saying stuff like "There's a second filter policy fetched over HTTP every time the app loads" without breaking it down any further seems a bit suspicious to me? It doesn't actually call out any function, file, or... i dunno, a logical starting point, for a competent reader to dig into the source themselves. Reads like it's written for either an expert who doesn't need any details, or for an audience with zero skepticism whatsoever.

  1. And least importantly, because my focus is on the presentation of the post moreso than the accuracy, IF rimu's read of the code is correctly calling out a factual error in the OP (and let me be clear that I'm not enough of a programmer to evaluate whether it is), that is pretty strong evidence of an LLM getting something wrong.

Again... this wall of text isn't meant as a refutation of anything you're saying, or a reason to dismiss the contents of the OP uncritically. Seems pretty clear after reading through db0's posts about it that this is seriously fucked up. I hope I've been clear enough about that.

4

Hey, I use the rule of three all the time. Three is the ideal number of clauses. One is not enough to establish a pattern, four is too many, and two is just too few.

1
sh.itjust.works

Could be explained by me just not being familiar enough with the technical side, but saying stuff like “There’s a second filter policy fetched over HTTP every time the app loads” without breaking it down any further seems a bit suspicious to me? It doesn’t actually call out any function, file, or… i dunno, a logical starting point, for a competent reader to dig into the source themselves. Reads like it’s written for either an expert who doesn’t need any details, or for an audience with zero skepticism whatsoever.

It gives you the file directly

curl -s https://tesseract.dubvee.org/tesseract/api/system/policy
| base64 -d | gunzip > policy.json

9
fedia.io

Yeah... but not where in the source code it's actually loaded.

-3
sh.itjust.works

./Dockerfile:14:COPY --chown=node:node static/data/policy.dat /app/system/policy/policy.dat
./src/lib/policies/system.ts:105: res = await fetch('/data/policy.dat')
./src/server/system.ts:27: let file = await open(${policyDir}/policy.dat)
./src/server/system.ts:71: await writeFile(${policyDir}/policy.dat, policy)

6
ripcordreply
lemmy.world

But none of those are the remotely fetched file.

There seems to ALSO be a statically included policy file with a bunch of stuff. That he updates periodically.

1

Give them a little credit, they were only five lines away from a bullseye in their second example. That's much closer to accurate than their overall comprehension of my post was

1
fedia.io

Thanks, but I'm not sure what value you think you're adding by actually going and finding that - if you had understood my post, you would know that my critique of the lack of specifics in the OP was a reason to doubt it was written by a human, not anything to do with whether or not the details of the post were credible or not.

edit: the point is, including the filter enough was enough to make the post contents credible, but if it had specifically followed up with something like "and this is retrieved at src/lib/policies/system.ts:100" it would have seemed like it was written by a human and not an LLM.

-1
BillyClarkreply
piefed.social

On the LLM thing, there are tools that can say the likelihood that any given text was written by an LLM. Apparently, they're a necessity for English teachers these days. So, it's possible that Rimu used a tool like that.

-3

Unfortunately (or hilariously depending on your perspective) those tools are notoriously inaccurate and often driven by LLMs themselves.

13
lazysoci.al

shame that piefed has similar block lists.

I wish developers would try not to play fedi-police

17

The question is how to prevent toxic material that brainwashes people like Facebook did. It irreparably damaged the social fabric in my country.

(Don't know the answer)

2
ikt
aussie.zone

This dude just looks like he's building a fediverse he wants to see?

-21
SatyrSackreply
quokk.au

This looks almost like a personal block list that got added to the full production codebase. To be clear: I do not think this was an accident. But I had plenty of interaction with this dev on the 30 Rock community, and they were clear about personally wanting to use Lemmy as a means of escapism and to ignore politics of all sort. They clearly want to ignore all remotely political discussions, but that shouldn't extend to a hard-coded block list in a frontend they create for other people to use. Creating the tools to allow each user to set up custom block lists for themselves is great. It just shouldn't be a preestablished list that affects literally every user of that frontend.

21

that does make sense! tbh it looks very much like something I would make... for myself... or if I did release it for others it would def be advertised as "lemmy no politics edition" not as just a general front end

4
ripcordreply
lemmy.world

Can you clarify which Lemmy account you are referring to by "this Dev"? I'm a little confused about who maps to what specifically here.

Also I 100% agree with you here.

2
SatyrSackreply
quokk.au

@[email protected]

He is the admin of that instance, which he had set up as a Beehaw-like safe space (the rules/FAQ even called out Beehaw as inspiration). He then developed Tesseract to act as a bandaid to fix issues with Lemmy that could be fixed by creating a custom frontend. And if Tesseract was JUST used for his safe space, this block list stuff would be fine. But in reality, it is designed/intended to be used by ANY Lemmy instance.

7

They were talking about Admiral Patrick, the tesseract dev. The main admin of dubvee

7
slrpnk.net

This looks almost like a personal block list that got added to the full production codebase. To be clear: I do not think this was an accident.

I'm leaning towards accident or sabotage. It's way too obvious and way too far-reaching to believe nobody would notice.

-4
frongtreply
lemmy.zip

They've confirmed it was intentional: https://lemmy.world/post/49817942

I don't know how you could accidentally write a regex list, encode it, secretly reference it, and commit and push it to your repo. That'd be very hard to do.

3

Thanks for providing the link to the rationale, notably posted after my comment went live. As for how it can happen "accidentally," that's easy. Have a file that's referenced that way, and sub in another due to human error. Classic case of pushing test to prod etc. Doesn't take a whole lot of imagination.

Pretending this is normal behavior?

Now that takes imagination.

-7