Skip to content

core library of mCaptcha a PoW based CAPTCHA system

License

Notifications You must be signed in to change notification settings

ngi-nix/libmcaptcha

 
 

Repository files navigation

libmcaptcha

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

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).

Self-hosted:

Please refer to mCaptcha/mCaptcha for instructions.

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!

Funding

NLnet

NLnet NGIZero logo

2023 development is funded through the NGI0 Entrust Fund, via NLnet. Please see here for more details.

About

core library of mCaptcha a PoW based CAPTCHA system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%