mcaptcha/mcaptcha

Proof of work based, privacy respecting CAPTCHA system with a kickass UX

STATUS: ACTIVE DEVELOPMENT

mCaptcha

Proof of work based, privacy respecting CAPTCHA system with a kickass UX.


STATUS: ACTIVE DEVELOPMENT

Skip to demo

mCaptcha is a privacy respecting, free CAPTCHA system with a kickass UX. Your users no longer have to interact with ridiculous image-based CAPTCHA system, wasting precious mental bandwidth. Instead, your computer will do the work for you, see for yourself!

How does it work?

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

When a user wants to do something on an mCaptcha-protected website,

  1. they will have to generate proof-of-work(a bunch of math that will takes time to compute) and submit it to mCaptcha.

  2. We'll validate the proof:

    • if validation is unsuccessful, they will be prevented from accessing their target website
    • if validation is successful, read on,
  3. They will be issued a token that they should submit along with their request/form submission to the target website.

  4. The target website should validate the user-submitted token with mCaptcha before processing the user's request.

The whole process is automated from the user's POV. All they have to do is click on a button to initiate the process.

mCaptcha makes interacting with websites (computationally)expensive for the user. A well-behaving user will experience a slight delay(no delay when under moderate load to 2s when under attack; PoW difficulty is variable) but 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.

Why use mCaptcha?

Demo

Client-side widget:

mCaptcha's UX is super silent, solving CAPTCHAs have never been more easier. One click and you are on your way. To observe mCaptcha in action, open dev tools and monitor console and network activity.

  1. Link to widget

  2. Video:

Demo servers are available at:

Core functionality is working but it's still very much work-in-progress. Since we don't have a stable release yet, hosted demo servers might be a few versions behind master. Please check footer for build commit.

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

Self-hosted:

Clone the repo and run the following from the root of the repo:

It takes a while to build the image so please be patient :)

See DEPLOYMENT.md detailed alternate deployment methods.

Development:

See HACKING.md

Deployment:

See DEPLOYMENT.md

Configuration:

See CONFIGURATION.md

Issues

Collection of the latest Issues

realaravinth

realaravinth

bug
Comment Icon0

/api/v1/something gets converted to api//something when json is converted into HttpResponse. This seems to happen only in current(3.3.2) version as testing with 4.0.0-beta.4 produced expected result.

Information - Updated Feb 05, 2022

Stars: 42
Forks: 1
Issues: 4

Repositories & Extras

Rust/Actix Example

REST server using the Rust language to give you an idea of how it all works

Rust/Actix Example

Example using Rust Actix-web (web framework) with juniper (Graphql) with diesel (ORM)

Diesel's Getting Started guide using SQLite for Actix web

Example using Rust Actix-web (web framework) with juniper (Graphql) with diesel (ORM)

rust_actixweb_boilerplate

The Rust Actix_Web Boilerplate is a boilerplate for developers who want to get started with Actix_web's web applications faster

rust_actixweb_boilerplate

rust-actix-rest-api-boilerplate

A Rust RESTful API server with actix web and docker

rust-actix-rest-api-boilerplate

Rust actix json request example

Send a json request to actix, and parse it

Rust actix json request example

rust-actix-graphql-sqlx-postgresql

Using GraphQL with Rust and Apollo Federation

rust-actix-graphql-sqlx-postgresql

rust-actix-react-web-starter

A bare Rust web app that uses Diesel and License

rust-actix-react-web-starter

REST-API-with-Rust-and-Actix

This is a simple REST API developed using RUST Actix

REST-API-with-Rust-and-Actix

Trial or micro-service unit of Rust Actix Web framework

Trial or micro-service unit of Actix Web framework

Trial or micro-service unit of Rust Actix Web framework

A minimalist static webserver/fileserver written in Rust + Actix

WARNING: DO NOT USE IN PRODUCTION, IT IS MEANT FOR THE DEV !

A minimalist static webserver/fileserver written in Rust + Actix

rust-actix-microblog

A simple microblog starter template in Rust with Actix, Diesel and PostgreSQL

rust-actix-microblog

Backend Api of my personal blog using rust + actix

create secret key by command:

Backend Api of my personal blog using rust + actix