I make and sell BusKill laptop kill cords. Monero is accepted.
- 16 Posts
- 10 Comments
maltfield@monero.townOPtoLemmy Support@lemmy.ml•How to purge an image on Lemmy? (GDPR Data Erasure)
1·2 years agoThis seems to suggest that you have to get it from lemmy when you first uploaded the image
maltfield@monero.townOPtoLemmy Support@lemmy.ml•How to purge an image on Lemmy? (GDPR Data Erasure)
5·2 years agoThanks, but I’m asking because I didn’t find the reference documentation especially helpful.
It says I need the “delete token” or “alias”. How do I get that for a given URL?
I’m looking for an example that describes how to construct the commands for the API calls knowing only the URL of the image.
maltfield@monero.townOPto
Technology@lemmy.world•BusKill (Open-Source Hardware Dead Man Switch) Announces Bitcoin Black Friday DealEnglish
512·2 years agoYou associate everything that can be bought with cryptocurrency as a scam? It sounds like you haven’t even read the post. I spent a lot of time making it easily accessible here on Lemmy. You don’t even have to click the link. Just scroll-up and read :)
maltfield@monero.townOPto
Technology@lemmy.world•BusKill (Open-Source Hardware Dead Man Switch) Announces Bitcoin Black Friday DealEnglish
514·2 years agoHow exactly did you come to the conclusion that this is a scam? We’re a fully open-source hardware & software project that’s been around for a few years. If you don’t want to buy from us, we go out of our way to help users build their own 3D-printed BusKill cables (currently in prototype stage).
Our software is free as in speech and free as in beer under the CC BY-SA and GNU GPL licenses.
maltfield@monero.townOPto
Privacy@lemmy.ml•BusKill Dead Man Switch now available in a brick-and-mortar in Germany 🧱🛡️
45·2 years agoIt’s run by the folks at dys2p.
Besides running ProxyStore in Leipzig, they have published some pretty great articles:
- Random Mosaic – Detecting unauthorized physical access with beans, lentils and colored rice
- Revealing Traces in printouts and scans
- On the security of the Linux disk encryption LUKS
You can follow them on Mastodon here https://chaos.social/@dys2p
maltfield@monero.townOPto
Privacy@lemmy.ml•BusKill Dead Man Switch now available in a brick-and-mortar in Germany 🧱🛡️
94·2 years agoYes BusKill works similarly – any USB drive can use the BusKill software
The BusKill cable is just nice because it includes a magnetic breakaway, so it works when the laptop is snatched-away at any angle. There’s actually a ton of anti-forensics software like usbkill and BusKill; we enumerate them all on our documentation’s Similar Projects section
You may want to check ^ it out :)
maltfield@monero.townOPto
Privacy@lemmy.ml•BusKill Dead Man Switch now available in a brick-and-mortar in Germany 🧱🛡️
123·2 years agoI made a video of this (demo in Windows, MacOS, Linux, TAILS, and QubesOS) with the old DIY model here (sorry for the terrible audio quality)
We’re currently working on an updated video with someone who is much better at video production than me; it should be finished in early 2024.
maltfield@monero.townOPto
Linux@lemmy.ml•BusKill (Linux Dead Man Switch) v0.7.0 released 💾English
7·3 years agoGood bot
maltfield@monero.townOPto
Technology@lemmy.world•BusKill (USB Dead Man Switch) v0.7.0 released 💾English
123·3 years agoTheft of high-risk users’ data. Data could include private keys (eg theft of cryptocurrency assets), contacts of correspondence (eg sources of a journalist – such as whistleblowers), etc.
For more information, see the Who Uses BusKill? section of the documentation.
















This is a big problem. At the time of writing:
How to purge images in Lemmy
pict-rs is a third-party simple image hosting service that runs along-side Lemmy for instances that allow users to upload media.
At the time of writing, there is no WUI for admins to find and delete images. You have to manually query the pict-rs database and execute an API call from the command-line. Worse: Lemmy has no documentation telling instance admins how to delete images 🤦
For the purposes of this example, let's assume you're trying to delete the following image
https://monero.town/pictrs/image/001665df-3b25-415f-8a59-3d836bb68dd1.webpThere are two API endpoints in pict-rs that can be used to delete an image
Method One: /image/delete/{delete_token}/{alias}
This API call is publicly-accessible, but it first requires you to obtain the image's `
delete_token`The `
delete_token` is first returned by Lemmy when POSTing to the `/pictrs/image` endpoint{ "msg":"ok", "files":[ { "file":"001665df-3b25-415f-8a59-3d836bb68dd1.webp", "delete_token":"d88b7f32-a56f-4679-bd93-4f334764d381" } ] }Two pieces of information are returned here:
Of course, if you didn't capture this image's `
delete_token` at upload-time, then you must fetch it from the postgres DB.First, open a shell on your running postgres container. If you installed Lemmy with docker compose, use `
docker compose ps` to get the "SERVICE" name of your postgres host, and then enter it with `docker exec`docker compose ps --format "table {{.Service}}\t{{.Image}}\t{{.Name}}" docker compose exec <docker_service_name> /bin/bashFor example:
user@host:/home/user/lemmy# docker compose ps --format "table {{.Service}}\t{{.Image}}\t{{.Name}}" SERVICE IMAGE NAME lemmy dessalines/lemmy:0.19.3 lemmy-lemmy-1 lemmy-ui dessalines/lemmy-ui:0.19.3 lemmy-lemmy-ui-1 pictrs docker.io/asonix/pictrs:0.5.4 lemmy-pictrs-1 postfix docker.io/mwader/postfix-relay lemmy-postfix-1 postgres docker.io/postgres:15-alpine lemmy-postgres-1 proxy docker.io/library/nginx lemmy-proxy-1 user@host:/home/user/lemmy# user@host:/home/user/lemmy# docker compose exec postgres /bin/bash postgres:/#Connect to the database as the `
lemmy` userFor example
postgres:/# psql -U lemmy psql (15.5) Type "help" for help. lemmy=#Query for the image by the "alias" (the filename)
select * from image_upload where pictrs_alias = '<image_filename>';For example
lemmy=# select * from image_upload where pictrs_alias = '001665df-3b25-415f-8a59-3d836bb68dd1.webp'; local_user_id | pictrs_alias | pictrs_delete_token | published ---------------+--------------+---------------------+----------- 1149 | 001665df-3b25-415f-8a59-3d836bb68dd1.webp | d88b7f32-a56f-4679-bd93-4f334764d381 | 2024-02-07 11:10:17.158741+00 (1 row) lemmy=#Now, take the `
pictrs_delete_token` from the above output, and use it to delete the image.The following command should be able to be run on any computer connected to the internet.
curl -i "https://<instance_domain>/pictrs/image/delete/<pictrs_delete_token>/<image_filename>"For example:
user@disp9140:~$ curl -i "https://monero.town/pictrs/image/delete/d88b7f32-a56f-4679-bd93-4f334764d381/001665df-3b25-415f-8a59-3d836bb68dd1.webp" HTTP/2 204 No Content server: nginx date: Fri, 09 Feb 2024 15:37:48 GMT vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers cache-control: private referrer-policy: same-origin x-content-type-options: nosniff x-frame-options: DENY x-xss-protection: 1; mode=block X-Firefox-Spdy: h2 user@disp9140:~$The image should be deleted.
Method Two: /internal/purge?alias={alias}
Alternatively, you could execute the deletion directly inside the pictrs container. This eliminates the need to fetch the `
delete_token`.First, open a shell on your running `
pictrs` container. If you installed Lemmy with docker compose, use `docker compose ps` to get the "SERVICE" name of your postgres host, and then enter it with `docker exec`docker compose ps --format "table {{.Service}}\t{{.Image}}\t{{.Name}}" docker compose exec <docker_service_name> /bin/shFor example:
user@host:/home/user/lemmy# docker compose ps --format "table {{.Service}}\t{{.Image}}\t{{.Name}}" SERVICE IMAGE NAME lemmy dessalines/lemmy:0.19.3 lemmy-lemmy-1 lemmy-ui dessalines/lemmy-ui:0.19.3 lemmy-lemmy-ui-1 pictrs docker.io/asonix/pictrs:0.5.4 lemmy-pictrs-1 postfix docker.io/mwader/postfix-relay lemmy-postfix-1 postgres docker.io/postgres:15-alpine lemmy-postgres-1 proxy docker.io/library/nginx lemmy-proxy-1 user@host:/home/user/lemmy# user@host:/home/user/lemmy# docker compose exec pictrs /bin/sh ~ $Execute the following command inside the `
pictrs` container.wget --server-response --post-data "" --header "X-Api-Token: ${PICTRS__SERVER__API_KEY}" "http://127.0.0.1:8080/internal/purge?alias=<image_filename>"For example:
~ $ wget --server-response --post-data "" --header "X-Api-Token: ${PICTRS__SERVER__API_KEY}" "http://127.0.0.1:8080/internal/purge?alias=001665df-3b25-415f-8a59-3d836bb68dd1.webp" Connecting to 127.0.0.1:8080 (127.0.0.1:8080) HTTP/1.1 200 OK content-length: 67 connection: close content-type: application/json date: Wed, 14 Feb 2024 12:56:24 GMT saving to 'purge?alias=001665df-3b25-415f-8a59-3d836bb68dd1.webp' purge?alias=001665df 100% |*****************************************************************************************************************************************************************************************************************************| 67 0:00:00 ETA 'purge?alias=001665df-3b25-415f-8a59-3d836bb68dd1.webp' saved ~ $The image should be deleted
Further Reading
Unfortunately, it seems that the Lemmy develoeprs are not taking these moral and legal (GDPR) risks seriously (they said it may take years before they address them), and they threatened to ban me for trying to highlight the severity of this risk, get them to tag GDPR-related bugs, and to prioritize them.
If GDPR-compliance is important to you on the fediverse, then please provide feedback to the Lemmy developers in the GitHub links above.
Attribution
This comment was copied from the following article: Nightmare on Lemmy Street (A Fediverse GDPR Horror Story)