2021-02-28 15:05:39 +05:30
|
|
|
<div align="center">
|
2021-06-01 16:41:49 +05:30
|
|
|
<h1>libmcaptcha</h1>
|
2021-02-28 15:05:39 +05:30
|
|
|
<p>
|
|
|
|
<strong>mCaptcha - PoW based DoS protection</strong>
|
|
|
|
</p>
|
|
|
|
|
2021-06-06 14:42:48 +05:30
|
|
|
[![Documentation](https://img.shields.io/badge/docs-master-yellow)](https://mcaptcha.github.io/libmcaptcha/libmcaptcha/index.html)
|
2021-04-10 19:42:00 +05:30
|
|
|
[![Documentation](https://img.shields.io/badge/docs-0.1.3-blue)](https://mcaptcha.org/docs/api/mcaptcha-system)
|
2021-06-01 16:41:49 +05:30
|
|
|
[![dependency status](https://deps.rs/repo/github/mCaptcha/libmcaptcha/status.svg)](https://deps.rs/repo/github/mCaptcha/libmcaptcha)
|
2021-03-09 17:37:46 +05:30
|
|
|
[![AGPL License](https://img.shields.io/badge/license-AGPL-blue.svg)](http://www.gnu.org/licenses/agpl-3.0)
|
2021-06-01 16:41:49 +05:30
|
|
|
![CI (Linux)](<https://github.com/mCaptcha/libmcaptcha/workflows/CI%20(Linux)/badge.svg>)
|
2021-02-28 15:05:39 +05:30
|
|
|
<br />
|
2021-06-01 16:41:49 +05:30
|
|
|
[![codecov](https://codecov.io/gh/mCaptcha/libmcaptcha/branch/master/graph/badge.svg)](https://codecov.io/gh/mCaptcha/libmcaptcha)
|
2021-03-09 17:37:46 +05:30
|
|
|
[![Documentation](https://img.shields.io/badge/matrix-community-purple)](https://matrix.to/#/+mcaptcha:matrix.batsense.net)
|
2021-02-28 15:05:39 +05:30
|
|
|
|
|
|
|
</div>
|
|
|
|
|
2021-03-11 11:53:37 +05:30
|
|
|
mCaptcha uses SHA256 based proof-of-work(PoW) to rate limit users.
|
2021-03-02 18:02:06 +05:30
|
|
|
|
2021-03-09 17:37:46 +05:30
|
|
|
If someone wants to hammer your site, they will have to do more work to
|
2021-03-02 18:02:06 +05:30
|
|
|
send requests than your server will have to do to respond to their
|
2021-03-09 17:37:46 +05:30
|
|
|
request.
|
|
|
|
|
2021-06-03 18:08:43 +05:30
|
|
|
> **NOTE:** `0.1.x` is out, expect breaking changes as ergonomics and
|
2021-03-11 11:53:37 +05:30
|
|
|
> performance is improved. Checkout [changelog](./CHANGELOG.md) for
|
2021-06-03 18:08:43 +05:30
|
|
|
> changes and migration pointers. Breaking changes will be frequent
|
|
|
|
> through `0.1.x`.
|
2021-03-02 18:02:06 +05:30
|
|
|
|
|
|
|
## Why use mCaptcha?
|
2021-03-11 11:53:37 +05:30
|
|
|
|
2021-03-02 18:02:06 +05:30
|
|
|
- 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
|
|
|
|
|
2021-05-13 12:01:25 +05:30
|
|
|
### Demo servers are available at:
|
2021-03-02 18:02:06 +05:30
|
|
|
|
2021-05-13 12:01:25 +05:30
|
|
|
- https://demo.mcaptcha.org/
|
|
|
|
- https://demo2.mcaptcha.org/ (runs on a Raspberry Pi!)
|
|
|
|
|
|
|
|
> 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:
|
|
|
|
|
2021-06-01 16:41:49 +05:30
|
|
|
Please refer to [mCaptcha/mCaptcha](https://github.com/mCaptcha/mCaptcha) for
|
2021-05-13 12:01:25 +05:30
|
|
|
instructions.
|
2021-02-28 15:05:39 +05:30
|
|
|
|
2021-03-11 11:53:37 +05:30
|
|
|
## Documentation
|
|
|
|
|
2021-06-01 16:41:49 +05:30
|
|
|
- [master-branch](https://mcaptcha.github.io/mCaptcha/libmcaptcha/index.html)
|
2021-03-11 11:53:37 +05:30
|
|
|
- [All published versions](https://mcaptcha.org/docs/api/mcaptcha-system)
|
|
|
|
|
|
|
|
## Usage
|
2021-02-28 15:05:39 +05:30
|
|
|
|
2021-03-02 18:02:06 +05:30
|
|
|
mCaptcha is made up of three components:
|
|
|
|
|
|
|
|
#### 1. Front-end library
|
2021-03-11 11:53:37 +05:30
|
|
|
|
2021-03-02 18:02:06 +05:30
|
|
|
We have a WASM library now, Android and iOS libraries soon
|
|
|
|
|
|
|
|
#### 2. Back-end library
|
2021-03-11 11:53:37 +05:30
|
|
|
|
2021-03-02 18:02:06 +05:30
|
|
|
We have Rust library, other languages will have support soon
|
2021-02-28 15:05:39 +05:30
|
|
|
|
2021-03-02 18:02:06 +05:30
|
|
|
#### 3. Rate limiting service
|
2021-03-11 11:53:37 +05:30
|
|
|
|
|
|
|
Under development.
|
2021-02-28 15:05:39 +05:30
|
|
|
|
2021-03-02 18:02:06 +05:30
|
|
|
A paid, managed service will be made available soon but
|
|
|
|
I([@realaravinth](https://batsense.net)) encourage you guys to
|
|
|
|
self-host. Go decentralisation!
|
2021-02-28 15:05:39 +05:30
|
|
|
|
2021-03-02 18:02:06 +05:30
|
|
|
## Contributing
|
2021-03-11 11:53:37 +05:30
|
|
|
|
2021-03-02 18:02:06 +05:30
|
|
|
yes please!
|