lib created
Find a file
2021-03-12 13:52:49 +05:30
.github/workflows doc builds on stable 2021-03-11 12:34:06 +05:30
examples examples, doc and v0.1 prep 2021-03-09 17:37:46 +05:30
src serialize and deserialize impls 2021-03-12 13:52:49 +05:30
.gitignore renamed data to system, hashcache is not 'static 2021-03-09 15:35:33 +05:30
Cargo.lock serialize and deserialize impls 2021-03-12 13:52:49 +05:30
Cargo.toml version bump, clippy on push to master 2021-03-11 12:31:11 +05:30
CHANGELOG.md serialize and deserialize impls 2021-03-12 13:52:49 +05:30
LICENSE.md licence 2021-03-01 20:34:05 +05:30
README.md doc links 2021-03-11 11:53:37 +05:30

mCaptcha

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 is out, expect breaking changes as ergonomics and performance is improved. Checkout changelog for changes and migration pointers.

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

I'll try to write a dedicated demo server but until then you can try Shuttlecraft/identity's sign up page available at https://accounts.shuttlecraft.io/signup. Feel free to provide bogus information while signing up(project under development, database frequently wiped).

Be sure to open dev tools' network tab to witness the magic!

Documentation

Usage

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!

Contributing

yes please!