I make and sell BusKill laptop kill cords. Monero is accepted.
- 21 Posts
- 24 Comments
maltfield@monero.townto Open Source@lemmy.ml•Anyone know what happened to open source ecology?211·1 year agoHi, Michael Altfield here. I was the sysadmin for OSE from 2017-2020.
Everything OSE does is transparent, so you can just check the OSE websites to see what everyone is currently working-on. OSE contributors log their hours in a worklog called “OSE Dev”. There you can quickly see who is working on what.
The above graphs show 4 contributors in the past ~10 weeks (one is me; we had some issues with the apache config recently). There’s no direct link, but you can then check the wiki to see people’s work logs (just search for the person’s name and
Log
):- https://wiki.opensourceecology.org/wiki/Marcin_Log
- https://wiki.opensourceecology.org/wiki/Catarina_Log
- https://wiki.opensourceecology.org/wiki/Alexa_Log
- https://wiki.opensourceecology.org/wiki/Maltfield_Log
I also like to look at the MediaWiki “Recent Changes” page to peak at what people are up-to as well:
I told Marcin about Lemmy back in June 2023. Another OSE contributor even created an OSE community on the slrpnk.net instance, but it appears to have been abandoned. I’ll email him about this thread to see if he’ll bite and publish updates in this community since there’s clearly interest :)
Also, shameless plug: I started an org that’s very similar in spirit to OSE called Eco-Libre, with a focus on projects to sustainably enfranchise human rights in smaller communities. We’re currently accepting volunteers ;)
Can you mention this in your article?
Personally I wouldn’t run a lemmy instance because of this (and also many other concerns)
I recommend [a] letting the lemmy devs know (eg on GitHub) that this issue is preventing you from running a lemmy instance and [b] donating to alternative projects that actually care about data privacy rights.
The fines usually are a percent of revenue or millions of Euros, whichever is higher.
So if your revenue is 0 EUR then they can fine you the millions of Euros instead. The point of the “percent of revenue” alternative was for larger corporations that can get fined tens or hundreds of millions of Euros (or, as it happened to Meta, in some cases – billions of Euros for a single GDPR violation).
The fines usually are a percent of revenue or millions of Euros, whichever is higher.
So if your revenue is 0 EUR then they can fine you the millions of Euros instead. The point of the “percent of revenue” alternative was for larger corporations that can get fined tens or hundreds of millions of Euros (or, as it happened to Meta, in some cases – billions of Euros for a single GDPR violation).
That would be true if their instance wasn’t federating. If the instance is federating, then it’s downloading content from other users, even if the user isn’t registered on the instance. And that content is publicly available.
So if someone discovers their content on their instance and sends them a GDPR request (eg Erasure), then they are legally required to process it.
It’s definitely not impossible to contact all instances; it’s a finite list. But we should have a tool to make this easier. Something that can take a given username or post, do a search, find out all the instances that it federated-to, get the contact for all of those instances, and then send-out a formal “GDPR Erasure Request” to all of the relevant admins.
maltfield@monero.townOPto Fediverse@lemmy.ml•PSA: you can't delete photos uploaded to #lemmy. So don't (accidentally) upload a nude to lemmy. That would be bad 😱42·1 year agoDid you read the article and the feedback that you’ve received from your other users?
Any FOSS platform has capacity issues. I run my own FOSS projects with zero grant funds and where I’m the only developer. I understand this issue.
What we’re talking about here is prioritization. My point is that you should not prioritize “new features” when existing features are a legal, moral, and grave financial risk to your community. And this isn’t just “my priority” – it’s clearly been shown that this is the desired priority of your community.
Please prioritize your GDPR issues.
maltfield@monero.townOPto Fediverse@lemmy.ml•PSA: you can't delete photos uploaded to #lemmy. So don't (accidentally) upload a nude to lemmy. That would be bad 😱84·1 year agoUnfortunately, the Lemmy devs literally said it would take years to fix this issue. If you think this should be a priority for them, please advocate for them to prioritize it on GitHub:
maltfield@monero.townOPtoLemmy Support@lemmy.ml•How to purge an image on Lemmy? (GDPR Data Erasure)1·1 year agoThis is a big problem. At the time of writing:
- Users cannot delete their images on Lemmy
- If a user deletes their account, their images don’t get deleted
- There is no WUI for admins to delete images on Lemmy
- It is very difficult for admins to find & delete images on Lemmy (via the CLI)
- The Lemmy team didn’t bother documenting how admins can delete images on Lemmy
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.webp
There 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:
- file (aka the "alias") is the server filename of the uploaded image
- delete_token is the token needed to delete the image
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/bash
For 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
` userpsql -U lemmy
For 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:~$
ⓘ Note: If you get an `
incorrect_login
` error, then try [a] logging into the instance in your web browser and then [b] pasting the "https://<instance_domain>/pictrs/image/delete/<pictrs_delete_token>/<image_filename>
" URL into your web browser.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/sh
For 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 ~ $
ⓘ Note: There's an error in the pict-rs reference documentation. It says you can POST to `/internal/delete`, but that just returns
404 Not Found
.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.
- lemmy #4433: Deleted Account should delete uploaded media (pictures) too
- lemmy #4441: Users unable to delete their images (pictrs API)
- lemmy #4434: Unapproved users cannot delete their accounts/data
- lemmy #3973: Banned users cannot delete their accounts/data
- lemmy #4445: Create an interface for local users to view and remove images
- lemmy-ui #2359: Allow users to delete images they uploaded
- lemmy-ui #2360: Allow admins to view & delete uploaded images
- lemmy-ui #2361: private_message_disclaimer to include user's matrix handle
- jerboa #1361: UI for deleting uploaded files
- jerboa #1362: Setting to hide "upload media" button
- jerboa #1363: Add "confirm upload" step to UX
- lemmy-docs #293: Document image moderation
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)
Nightmare on Lemmy Street (A Fediverse GDPR Horror Story)
maltfield@monero.townOPtoLemmy Support@lemmy.ml•How to purge an image on Lemmy? (GDPR Data Erasure)1·1 year 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·1 year 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.
You definitely can do that, but if you’re afraid that you might stand-up and forget you’re using it, then you probably shouldn’t.
It’s probably enough to just use the default trigger that locks your screen. Or, once you get comfortable with it, set it to shut down your computer. Most people don’t need to shred their FDE keys, unless they’re facing torture.
In fact, we make it difficult to use “destructive” triggers (like the LUKS Header Shredder that wipes the FDE header) and intentionally do not include the ability to switch to it in the app. To use it, you have to do a lot of extra work. So most users don’t have this issue.
Why? It defaults to just locking your screen. So you stand-up, the magnetic breakaway cable separates, and then you just have to type your password…
If you’re the type of person that would forget to lock your computer before standing up and walking away, then it’s exactly what you’d want.
maltfield@monero.townOPto Technology@lemmy.world•BusKill (Open-Source Hardware Dead Man Switch) Announces Bitcoin Black Friday DealEnglish514·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 DealEnglish516·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.
Yeah, it’s dangerous for a community to tolerate and adopt closed-source software. We should have done a better job pressuring them to license it openly.
The OSM wiki pointed me to Maperitive first, but I wish it pointed me to qgis first. We should probably edit the wiki with a huge warning banner that the code is closed, the app is full of bugs, and that it is not (and can not be) updated.
Edit: I took my own advice and added a big red box to the top of the article warning the user and pointing them to QGIS instead.
Edit 2: Do we have any way to know when the latest version of Maperitive (v2.4.3) was released? Usually I’d check the git repo, but…
Edit 3:
stat
on theMaperitive-latest.zip
file says that it’s last modified2018-02-27 17:25:07
, so it’s at least 6 years old.