You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Aravinth Manivannan 48220d78e7
rm MCaptcha::decrement_visitor
2 years ago
.github added donation links 2 years ago
examples handle errors within System methods 2 years ago
src rm MCaptcha::decrement_visitor 2 years ago
.gitignore renamed data to system, hashcache is not 'static 3 years ago rm MCaptcha::decrement_visitor 2 years ago
Cargo.lock bump redis version and address clippy lints 2 years ago
Cargo.toml bump redis version and address clippy lints 2 years ago licence 3 years ago update docs link 2 years ago added 2 years ago


mCaptcha - PoW based DoS protection

Documentation Documentation dependency status AGPL License CI (Linux)
codecov Documentation

mCaptcha uses SHA256 based proof-of-work(PoW) to rate limit users.

If someone wants to hammer your site, they will have to do more work to send requests than your server will have to do to respond to their request.

NOTE: 0.1.x is out, expect breaking changes as ergonomics and performance is improved. Checkout changelog for changes and migration pointers. Breaking changes will be frequent through 0.1.x.

Why use mCaptcha?

  • Free software, privacy focused
  • Seamless UX - No more annoying captchas!
  • IP address independent(sort of) - your users are behind a NAT? We got you covered!
  • Automatic bot throttling
  • Resistant to replay attacks - bye-bye captcha farms!


Demo servers are available at:

Core functionality is working but it's still very much work-in-progress.

Feel free to provide bogus information while signing up(project under development, database frequently wiped).


Please refer to mCaptcha/mCaptcha for instructions.



mCaptcha is made up of three components:

1. Front-end library

We have a WASM library now, Android and iOS libraries soon

2. Back-end library

We have Rust library, other languages will have support soon

3. Rate limiting service

Under development.

A paid, managed service will be made available soon but I(@realaravinth) encourage you guys to self-host. Go decentralisation!


yes please!