this post was submitted on 28 Nov 2025
611 points (94.6% liked)

Selfhosted

53286 readers
1351 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I got into the self-hosting scene this year when I wanted to start up my own website run on old recycled thinkpad. A lot of time was spent learning about ufw, reverse proxies, header security hardening, fail2ban.

Despite all that I still had a problem with bots knocking on my ports spamming my logs. I tried some hackery getting fail2ban to read caddy logs but that didnt work for me. I nearly considered giving up and going with cloudflare like half the internet does. But my stubbornness for open source self hosting and the recent cloudflare outages this year have encouraged trying alternatives.

Coinciding with that has been an increase in exposure to seeing this thing in the places I frequent like codeberg. This is Anubis, a proxy type firewall that forces the browser client to do a proof-of-work security check and some other nice clever things to stop bots from knocking. I got interested and started thinking about beefing up security.

I'm here to tell you to try it if you have a public facing site and want to break away from cloudflare It was VERY easy to install and configure with caddyfile on a debian distro with systemctl. In an hour its filtered multiple bots and so far it seems the knocks have slowed down.

https://anubis.techaro.lol/

My botspam woes have seemingly been seriously mitigated if not completely eradicated. I'm very happy with tonights little security upgrade project that took no more than an hour of my time to install and read through documentation. Current chain is caddy reverse proxy -> points to Anubis -> points to services

Good place to start for install is here

https://anubis.techaro.lol/docs/admin/native-install/

you are viewing a single comment's thread
view the rest of the comments
[–] 0_o7@lemmy.dbzer0.com 30 points 4 days ago (2 children)

I don't mind Anubis but the challenge page shouldn't really load an image. It's wasting extra bandwidth for nothing.

Just parse the challenge and move on.

[–] Allero@lemmy.today 23 points 4 days ago (1 children)

Afaik, you can set it up not to have any image, or have any other one.

[–] Voroxpete@sh.itjust.works 8 points 4 days ago* (last edited 4 days ago) (1 children)

It's actually a brilliant monetization model. If you want to use it as is, it's free, even for large corporate clients.

If you want to get rid of the puppygirls though, that's when you have to pay.

[–] frongt@lemmy.zip 2 points 4 days ago

It's open source, so you could always just patch it without paying too. But you should support the maintainers if you think they deserve it.

[–] kilgore_trout@feddit.it 18 points 4 days ago* (last edited 4 days ago) (1 children)

It's a palette of 10 colours. I would guess it uses an indexed colorspace, reducing the size to a minimum.
edit: 28 KB on disk

[–] CameronDev@programming.dev 10 points 4 days ago (2 children)

A HTTP get request is a few hundred bytes. The response is 28KB. Thats 280x. If a large botnet wanted to denial of service an Anubis protected site, requesting that image could be enough.

Ideally, Anubis should serve as little data as possible until the POW is completed. Caching the POW algorithm (and the image) to a CDN would also mitigate the issue.

[–] kilgore_trout@feddit.it 1 points 6 hours ago (1 children)

I might agree, still one could argue that brand recognisability is contributing to the service as well.

[–] CameronDev@programming.dev 1 points 6 hours ago

Definitely, which is why i suggested hosting the image + js on a CDN. Keeps brand awareness, and lets the CDN take the brunt of any malicious activity. with a bit of code-golfing, the data served by Anubis directly prior to POW could be a few hundred bytes, without impacting its functionality.

[–] teolan@lemmy.world 9 points 4 days ago (1 children)

The whole point of Anubis is to not have to go through a CDN to sustain scrapping botnets

[–] CameronDev@programming.dev 5 points 4 days ago

I dunno that is true, nothing in the docs indicates that it is explicitly anti-CDN. And using a CDN for a static javascript resource and an image isn't the same as running the entire site through a CDN proxy.