Epicurean Revolutionary Libertarian Socialist

I make FOSS things:

wiki-user: db0

This profile is from a federated server and may be incomplete. Browse more on the original instance.

db0,
@db0@lemmy.dbzer0.com avatar

Note, my tools is the only solution that exists (currently) for this in regards to csam

github.com/db0/lemmy-safety

db0,
@db0@lemmy.dbzer0.com avatar

can you elaborate on what an obfuscation overlay is?

db0,
@db0@lemmy.dbzer0.com avatar

I don’t think random trolls like that would be be that sophisticated, but in any case we can deal with that once we get to that point.

db0,
@db0@lemmy.dbzer0.com avatar

theoretically this tool could be adjusted to go via scp and read your filesystem pict-rs storage as well, Just someone has to code it.

Visions of a larger plunder

Mateys! We have plundered the shores of tv shows and movies as these corporations flounder in stopping us seed and spread their files without regard for the flag of copyright. We have long plundered the shores of gaming and broke DRM that have been plaguing modern games, and allowing accessibility to games in countries where a...

db0,
@db0@lemmy.dbzer0.com avatar

I don’t know. It depends on your jurisdiction. However this is an automated tool and most detected images will be false positives. Requirements for reporting are necessary for validated CSAM but IANAL.

The IP is not visible from the object storage. I do store the OS path, so one would need to trace that to the pict-rs ID, and from the to the lemmy post id, and from there to the user.

db0,
@db0@lemmy.dbzer0.com avatar

It will be atrocious. You can run it, but you’ll likely be waiting for weeks if not months.

db0,
@db0@lemmy.dbzer0.com avatar

sure, or a .cpp. But it will still not be anywhere near as good as a GPU. However it might be sufficient for something just checking new images

db0,
@db0@lemmy.dbzer0.com avatar

I don’t speak docker, but anyone can send a PR

db0,
@db0@lemmy.dbzer0.com avatar

Currently I delete on PIL exceptions. I assume if someone uploaded a .zip to your image storage, you’d want it deleted

db0,
@db0@lemmy.dbzer0.com avatar

Exactly. If the pict-rs dev allowed us to run an executable on each image before accepting it, it would make things much easier

db0,
@db0@lemmy.dbzer0.com avatar

Not currently supported. It’s on my to-do

db0,
@db0@lemmy.dbzer0.com avatar

You might be able however integrate with my AI Horde endpoint for NSFW checking between nginx and Lemmy.

https://aihorde.net/api/v2/interrogate/async

This might allow you to detect NSFW images before they are hosted

Just send a payload like this


<span style="color:#323232;">curl -X 'POST' 
</span><span style="color:#323232;">  'https://aihorde.net/api/v2/interrogate/async' 
</span><span style="color:#323232;">  -H 'accept: application/json' 
</span><span style="color:#323232;">  -H 'apikey: 0000000000' 
</span><span style="color:#323232;">  -H 'Client-Agent: unknown:0:unknown' 
</span><span style="color:#323232;">  -H 'Content-Type: application/json' 
</span><span style="color:#323232;">  -d '{
</span><span style="color:#323232;">  "forms": [
</span><span style="color:#323232;">    {
</span><span style="color:#323232;">      "name": "nsfw"
</span><span style="color:#323232;">      }
</span><span style="color:#323232;">  ],
</span><span style="color:#323232;">  "source_image": "https://lemmy.dbzer0.com/pictrs/image/46c177f0-a7f8-43a3-a67b-7d2e4d696ced.jpeg?format=webp&amp;thumbnail=256"
</span><span style="color:#323232;">}'
</span>

Then retrieve the results asynchronously like this


<span style="color:#323232;">{
</span><span style="color:#323232;">  "state": "done",
</span><span style="color:#323232;">  "forms": [
</span><span style="color:#323232;">    {
</span><span style="color:#323232;">      "form": "nsfw",
</span><span style="color:#323232;">      "state": "done",
</span><span style="color:#323232;">      "result": {
</span><span style="color:#323232;">        "nsfw": false
</span><span style="color:#323232;">      }
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">  ]
</span><span style="color:#323232;">}
</span>

or you could just run the nsfw model locally if you don’t have so many uploads.

if you know a way to pre-process uploads before nginx sends them to lemmy, it might be useful

db0,
@db0@lemmy.dbzer0.com avatar

Opened a relevant issue: github.com/LemmyNet/lemmy/issues/3920

db0,
@db0@lemmy.dbzer0.com avatar

No but it will record the object storage We then need a way to connect that path to the pict-rs image ID, and once we do that, connect the pict-rs image ID to the comment or post which uploaded it. I don’t know how to do the last two steps however, so hopefully someone else will step up for this

db0,
@db0@lemmy.dbzer0.com avatar

If it’s using object storage, yes

db0,
@db0@lemmy.dbzer0.com avatar

In that case, PIL should be able to read it, so no worries

db0,
@db0@lemmy.dbzer0.com avatar

my pict-rs already re-encodes everything. This is already a possibility for lemmy admins

db0,
@db0@lemmy.dbzer0.com avatar

For scanning all existing images, trust me a good GPU is necessary. I’m scanning all my backend on a 4090 with 400 threads and I’m still only halfway through after 4 hours.

For scanning newly uploaded images, a CPU might be sufficient but the users might get annoyed at the wait times.

db0, (edited )
@db0@lemmy.dbzer0.com avatar

Note that the script I posted is not transmitting the images to the AI Horde.

Also keep in mind this tool is fully automated and catches a lot of false positives (due to the nature of the scan, it couldn’t be otherwise). So one could argue it’s a generic filtering operation, not an explicit knowledge of CSAM hosting. But IANAL of course.

This is unlike cloudflare or other services which compare with known CSAM.

EDIT: That is to mean, if you use this tool to forward these images to the govt, they are going to come after you for spamming them with garbage

db0,
@db0@lemmy.dbzer0.com avatar

One can easily hook this script to forward to whoever is needed, but I think they might be a bit annoyed after you send them a couple hundred thousand false positives without any csam.

db0,
@db0@lemmy.dbzer0.com avatar

This is normal . You should be worried if it wasn’t catching any false positives as it would mean a lot of false negatives would slip though. I am planning to add args to make it more or less severe, but I it will never be perfect. So long as it’s not catching most images, and of the false positives most are porn or contain children, I consider with worthwhile.

I’ll let you know when the functionality for he severity is updated

db0,
@db0@lemmy.dbzer0.com avatar

Ah thanks. I’ll add them

db0,
@db0@lemmy.dbzer0.com avatar

It’s software agnostic. So long as you’re storing you’re images in object storage, it should work

db0,
@db0@lemmy.dbzer0.com avatar

Honestly, I thinking you’re grossly overstating the legal danger a random small lemmy sysadmin is going to get into for running an automated tool like this.

In any case, you’ve made your point, people can now make their own decisions on whether it’s better to pretend nothing is wrong on their instance, or if they want at least this sort of blanket cleanup. Far be it from me to tell anyone what to do.

I don’t even know why you think I was recommending for your system to forward the reports to the authorities

You may not have meant it, but you strongly implied something of the sort. But since this is not what you’re suggesting I’m curious to hear what your optimal approach to those problem would be here.

db0,
@db0@lemmy.dbzer0.com avatar

I look forward to see your success with that approach. Godspeed

db0,
@db0@lemmy.dbzer0.com avatar

The GPU doesn’t have to be high-end, and can run on someone’s PC

db0, (edited )
@db0@lemmy.dbzer0.com avatar

I’m not training it. Im using publicly available clip models.

The false positive rate is acceptable. But my method is open source so feel free to validate on your end

db0,
@db0@lemmy.dbzer0.com avatar

This shouldn’t run on your lemmy server (unless your lemmy server has a gpu)

db0, (edited )
@db0@lemmy.dbzer0.com avatar

Have you already registered for this services and using them on your lemmy? If so the success is something displayed in time.

db0,
@db0@lemmy.dbzer0.com avatar

Nah. It will just not find those images to serve

db0,
@db0@lemmy.dbzer0.com avatar

I don’t know your setup, but unless it’s a very cheap GPU, it would be a bit of a waste to use it only for this purpose. But up to you

db0,
@db0@lemmy.dbzer0.com avatar

There’s better approaches than hashing. For comparing images I am calculating “distance” in tensors between them. This can match even when compression artifacts are involved or the images are slightly altered.

db0,
@db0@lemmy.dbzer0.com avatar

Well you can clearly see images still here ;)

db0,
@db0@lemmy.dbzer0.com avatar

the sled db is not touched. It’s just that when pict-rs is trying to download the file pointed by the sleddb, it’s get a 404

db0,
@db0@lemmy.dbzer0.com avatar

Widdershins needs to make a comeback. It’s a cool word

db0,
@db0@lemmy.dbzer0.com avatar

So close to to unauthorized bread.

db0,
@db0@lemmy.dbzer0.com avatar

Which can also be lovely further embellished such as “πάρε φορά και κλάσε μου τ’αρχιδια” (“take momentum and fart my testicles”) or “θα μου κλάσεις μια μάντρα αρχίδια” (“You’ll fart me a yard of testicles”, usually utilized as a defiant answer to a physical threat)

db0,
@db0@lemmy.dbzer0.com avatar

Nowhere close. The massive companies with massive models are losing steam due to the cost needed to run them, but the freedom in the open source world is growing in leaps and bounds based on models on can run on consumer gpus

People bitching about Lemmy.world blocking piracy instances sound like spoiled teenagers with no consideration of consequences

Humans who run instances are real people who have jobs and mortgages and kids. I also like having piracy communities around to balance the greedy ass corporations trying to control media and copyright…I’m glad to know they are there if I need them or feel like screwing around with it. I just wonder if the people ranting all...

db0,
@db0@lemmy.dbzer0.com avatar

Not very easy to open an LLC in a different country

db0,
@db0@lemmy.dbzer0.com avatar

Don’t know. USA I guess? Why does it matter

db0,
@db0@lemmy.dbzer0.com avatar

Ye but people in Europe can’t just open an llc in the USA

db0,
@db0@lemmy.dbzer0.com avatar

I am aware and this is what my original comment was referring to. It’s not always easy to open one of these.

Tumblr says it’s going to “fix” its “core experience” to appeal to new users (www.theverge.com)

Tumblr plans to make changes to appeal to new users and improve growth. The post states that Tumblr is currently difficult for new users to use and curates content poorly. Tumblr aims to improve how users discover and sign up, encourage frequent engagement, and boost creators’ ability to attract audiences. Specific changes...

db0,
@db0@lemmy.dbzer0.com avatar

Yes ofc. I’ll switch to the new jpeg as default as soon as feasible

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • KamenRider
  • TheResearchGuardian
  • KbinCafe
  • Socialism
  • oklahoma
  • SuperSentai
  • feritale
  • All magazines