I don’t want to grow up.
- 0 Posts
- 19 Comments
Way back when, my Dad always told me to have at least three copies of everything, because one backup is no backup. So I have a 1TB Storage Box at Hetzner (€4/month, in a different datacenter than my VPSes) I push backups to with Restic. I also backup to a local machine (also with restic), and to my Dad’s NAS (you guessed, with restic), and to my old Debian server until I decommission it (also with restic).
All legs have different retention settings, based on how much space I have at a particular backup site.
algernon@lemmy.mlto
Selfhosted@lemmy.world•what's the simple way to map services to subdomains instead of specifying the port number?English
2·4 months agoCheck their docs, mostly.
algernon@lemmy.mlto
Selfhosted@lemmy.world•what's the simple way to map services to subdomains instead of specifying the port number?English
3·4 months agoIf all your services support binding to a unix socket, I’d bind them to
/run/<servicename>.sockor similar, and set up a reverse proxy that hits/run/$servicename.sockwhen serving$servicename.devicename.lan. If the service can’t bind to a unix socket, you can probably socat it or similar, and keep using the generic reverse proxy. Then, all your router has to do is route port 80 to your Debian machine.
algernon@lemmy.mlto
Selfhosted@lemmy.world•Anyone use Clevis + Tang to protect data on their home server?English
5·4 months agoI’m running Tang on a VPS, outside of my homelab. Servers in my homelab set up networking and a dedicated WireGuard tunnel to the VPS from initrd, to be able to talk to Tang, to help unlock the filesystem. The WireGuard tunnel is only allowed from my home ISP’s ASN. So if anyone picks up all my equipment from my homelab and walks away with them, they will not be able to boot them up, unless they connect from my ISP’s ASN (good luck), or know the passphrase.
Additionally, some of my homelab computers that support TPM also have a TPM pin, so walking away with the disk only, and connecting from my ISP’s ASN would still not be enough. This is rather pointless, anyone who walks away with the disk only will likely take the entire computer instead. But it was fun setting it up.
In the not so distant future, I’ll update this setup to use Shamir Secret Sharing more, where I’ll have three pins: my VPS (via Wireguard), a small computer somewhere else in my apartment, and a third at a neighbour (+ TPM on supporting computers).
No. I’m not dead yet.
Mostly on coffee, not exclusively. Noticable amounts of spite & tortilla chips are also present, yes, but… no shame.
Only when I’m deprived of coffee.
Yes. My Actual Intelligence lives in my head, and runs mostly on coffee.
I’m using a setup similar to what you had in mind: I have a small €4/month VPS as my front, with scrapers taken care of by iocaine (it both blocks them, and firewalls the worst off automatically). That’s over 90% of the HTTP(s) traffic never making it past the VPS, greatly reducing the traffic into my home network. My actual servers are behind a WireGuard tunnel.
It does not protect against a non-HTTP DDoS, but that wasn’t part of my threat model to begin with. My VPS provider (Hetzner) has DDoS protection even for €4/month servers - that doesn’t include the scraper DDoS, but includes other kinds - I have luckily not been a victim of any, so no idea whether it works reliably.
Against the scrapers, a VPS + bot defense + Wireguard works like a charm. Can recommend.
Depends on what kind of DDoS OP wants to defend against. Defending against an AI crawler DDoS is entirely possible with a tiny VPS. I’ve been doing that for the past ~1.5 years on a €4/month CX23 Hetzner VPS.
A simple, but guilty pleasure of mine is reading HackerNews story titles (and titles only, most of the time), and tooting sarcastic reactions about them. It’s very therapeutic. (And for easier browsing, I made a HN-like website (read-only) for said toots of mine).
Scriptability has been a thing since 2.2.0, released on 2025-06-16, but the built-in script appeared in 3.0 (2025-11-14).
Around here. In the default configuration, it is using the built-in handler. The script can be replaced with something like Nam-Shub of Enki (used by pretty much everything I host, and by Codeberg too, for example).
I’m very late to the party, but: no, iocaine does not expect you to detect the bots. It used to, but it does its own detection for quite a while now (you can replace the detection mechanism, though).
algernon@lemmy.mlto
Asklemmy@lemmy.ml•Request to speakers of languages other than English, French and German
0·7 months agoHungarian: “A nap végén kérlek pakoljátok egymásra a székeket.” (Rough translation back to English: “At the end of the day, I ask you (informal) to stack the chairs on top of each other”).
Same thing, but more formal: “A nap végén kérjük pakolják egymásra a székeket.” (~English: “At the end of the day, we ask you (formatl) to stack the chairs on top of each other”).
In an even more formal / authoritative way: “A nap végén kéretik a székeket egymásra pakolni.” (back to English: “At the end of the day, chairs shall be stacked on top of each other”)
algernon@lemmy.mlto
Technology@lemmy.world•AI insiders seek to poison the data that feeds themEnglish
1·10 months agoI… have my doubts. I do not doubt that a wider variety of poisoned data can improve training, by implementing new ways to filter out unusable training data. In itself, this would, indeed, improve the model.
But in many cases, the point of poisoning is not to poison the data, but to deny the crawlers access to the real work (and provide an opportunity to poison their URL queue, which is something I can demonstrate as working). If poison is served instead of the real content, that will hurt the model, because even if it filters out the junk, it will have access to less new data to train on.
algernon@lemmy.mlto
Technology@lemmy.world•AI insiders seek to poison the data that feeds themEnglish
0·10 months agoI had a short tootstorm about this, because oh my god, this is some terribly ineffective, useless piece of nothing.
For one, Poison Fountain tells us to join the war effort and cache responses. Okay…
❯ curl -i https://rnsaffn.com/poison2/ --compressed -s HTTP/2 200 content-disposition: inline content-encoding: gzip content-type: text/plain; charset=utf-8 x-content-type-options: nosniff content-length: 959 date: Sun, 11 Jan 2026 21:17:36 GMTYeaah… how am I supposed to cache this? Do I cache one response and then continue serving that for the 50+ million crawlers that visit my sites every day? And you think a single, repetitive thing will poison anything at all? Really?
Then, the Poison Fountain explanation goes on to explain that serving garbage to the crawlers will end up in the training data. I’m fairly sure the person who set this up never worked with model training, because this is not what happens. Not even the AI companies are that clueless, they do not train on anything and everything, they do filter it down.
And what this fountain provides, is trivial to filter.
It’s also mighty hard to set up! It’s not just a
reverse_proxy https://rnsaffn.com/posion2, because then you leak all the headers you got. No, you have to make a sanitized request that doesn’t leak data. Good luck!Meanwhile, there are a gazillion of self-hostable garbage generators and tarpits that you can literally shove in a docker container and reverse proxy tarpit URLs to them, safely, locally. Much more efficient, far more effective. And, seeing as this is practically uncacheable, if I were to use it, I’d have to send all the shit that hits my servers, their way. As far as I can tell, this is a single Linode server. It probably wouldn’t crumble under my 50 million requests / day, but if ten more people would join the “war effort” without caching, my well educated guess is that it would fall over and die.
Besides, we have no idea whether poisoning works. We can’t measure that. What we can measure, is the load on our servers, and this helps fuck all in that regard. The bots will still come, they’ll still hit everything, and I’d have additional load due to the network traffic between my server and theirs (remember: the returned response provides no sane indicators that’d allow caching while keeping the responses useful for poisoning purposes).
Not only is this ineffective in poisoning, it’s not usable at all in its current state. And they call for joining the war effort. C’mon.
Most crawlers don’t care - they’re purely downloading. Most garbage will also be filtered out before training, and generating plausible garbage is expensive - not really worth the trouble. What you can do with the garbage, is that you can place unique identifiers in the links you serve, so when a crawler that you can’t recognize otherwise comes visiting a poisoned URL, you can firewall it off. This works because the crawlers use a queue: they get a list of URLs to visit, they download them, and later on, the URLs from those get extracted, and crawlers will visit those URLs.
So if you manage to trap a bot, and overwhelm its queue with poisoned URLs, you can also catch bots that you wouldn’t be able to easily identify otherwise. And that is why serving an endless maze of garbage is so very useful. Because it lets you catch stuff like headless chromes operating through residential proxies: because those too, follow a queue.