Show HN: Shapow – Nginx module to block bots with PoW

https://github.com/markozajc/shapow
by mzajc • 5 months ago
2 3 5 months ago

Hi HN!

Since my cgit instance has been getting hammered by botnets for a while now, I've decided put a little more effort into my blocking strategy.

In practice this meant putting a JS proof-of-work challenge on the site as these less unobtrusive than traditional CAPTCHAs and seem difficult to solve in bulk. I also wanted

* Support for users who block cookies

* Something I could easily integrate into my existing configuration

* Something simple, I need it to do one thing well

I looked at a few existing solutions but wasn't satisfied (and admittedly I wanted an excuse to make something with Nginx), so I made my own!

Source: https://github.com/markozajc/shapow

Demo: https://zajc.tel/shapow-demo-diff25 (you stay whitelisted for 5s)

Demo with a more reasonable difficulty: https://zajc.tel/shapow-demo

Binaries are only available for Debian stable amd64, and I've also uploaded an AUR package. Build instructions for others are in the README.

Related Stories

Loading related stories...

Source preview

github.com