A no-nonsense CAPTCHA system with seamless UX | Backend component
Find a file
2021-04-11 12:33:32 +05:30
.github/workflows CI: rm linting and mv doc into main config 2021-04-09 23:28:27 +05:30
config m_captcha bump and gc config in settings 2021-03-24 14:31:11 +05:30
docs OAS: yaml to json 2021-04-01 15:23:36 +05:30
migrations user secret 2021-04-10 21:00:30 +05:30
src validation token verify 2021-04-11 12:33:32 +05:30
static registration link correction 2021-04-09 15:03:50 +05:30
templates registration link correction 2021-04-09 15:03:50 +05:30
.gitignore frontend integration 2021-04-09 14:21:43 +05:30
build.rs pow verification 2021-04-10 20:19:59 +05:30
Cargo.lock pow verification 2021-04-10 20:19:59 +05:30
Cargo.toml pow verification 2021-04-10 20:19:59 +05:30
LICENSE.md licence 2021-03-09 17:49:20 +05:30
Makefile registration link correction 2021-04-09 15:03:50 +05:30
openapi.yaml OAS: example payload 2021-03-31 15:27:23 +05:30
package.json frontend integration 2021-04-09 14:21:43 +05:30
README.md readme and env var prefix 2021-03-10 21:55:39 +05:30
sailfish.yml frontend integration 2021-04-09 14:21:43 +05:30
webpack.common.js frontend integration 2021-04-09 14:21:43 +05:30
webpack.dev.js registration link correction 2021-04-09 15:03:50 +05:30
webpack.prod.js frontend integration 2021-04-09 14:21:43 +05:30
yarn.lock frontend integration 2021-04-09 14:21:43 +05:30

mCaptcha Guard

Back-end component of mCaptcha

Documentation CI (Linux) dependency status codecov
AGPL License

Guard is the back-end component of mCaptcha system.

STATUS: UNUSABLE BUT ACTIVE DEVELOPMENT

How to build

  • Install Cargo using rustup with:
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Clone the repository with:
$ git clone https://github.com/mCaptcha/guard
  • Build with Cargo:
$ cd guard && cargo build

Configuration:

Guard is highly configurable. Configuration is applied/merged in the following order:

  1. config/default.toml
  2. environment variables.

Setup

Environment variables:

Setting environment variables are optional. The configuration files have all the necessary parameters listed. By setting environment variables, you will be overriding the values set in the configuration files.

Database:
Name Value
GUARD_DATEBASE_PASSWORD Postgres password
GUARD_DATEBASE_NAME Postgres database name
GUARD_DATEBASE_PORT Postgres port
GUARD_DATEBASE_HOSTNAME Postgres hostmane
GUARD_DATEBASE_USERNAME Postgres username
GUARD_DATEBASE_POOL Postgres database connection pool size
Server:
Name Value
GUARD_SERVER_PORT (or) PORT** The port on which you want wagon to listen to
GUARD_SERVER_IP The IP address on which you want wagon to listen to
GUARD_SERVER_STATIC_FILES_DIR Path to directory containing static files