A no-nonsense CAPTCHA system with seamless UX | Backend component
actix-webcaptchaddos-mitigationddos-protectionmcaptchaprivacyproof-of-workrustself-hostself-hostedspam-protection
.github/workflows | ||
config | ||
docs | ||
migrations | ||
src | ||
static-assets/img | ||
templates | ||
.gitignore | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
code_of_conduct.md | ||
DEVELOPMENT.md | ||
LICENSE.md | ||
Makefile | ||
openapi.yaml | ||
package.json | ||
README.md | ||
sailfish.yml | ||
tsconfig.json | ||
webpack.common.js | ||
webpack.dev.js | ||
webpack.prod.js | ||
yarn.lock |
Guard is the back-end component of mCaptcha system.
STATUS: UNUSABLE BUT ACTIVE DEVELOPMENT
Development:
See DEVELOPMENT.md
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:
config/default.toml
- 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 |