2021-03-09 10:28:54 +00:00
|
|
|
<div align="center">
|
|
|
|
<h1>mCaptcha Guard</h1>
|
|
|
|
<p>
|
|
|
|
<strong>Back-end component of mCaptcha</strong>
|
|
|
|
</p>
|
|
|
|
|
2021-03-10 16:25:39 +00:00
|
|
|
[![Documentation](https://img.shields.io/badge/docs-master-blue)](https://mcaptcha.github.io/guard/guard/)
|
2021-03-09 10:28:54 +00:00
|
|
|
![CI (Linux)](<https://github.com/mCaptcha/guard/workflows/CI%20(Linux)/badge.svg>)
|
|
|
|
[![dependency status](https://deps.rs/repo/github/mCaptcha/guard/status.svg)](https://deps.rs/repo/github/mCaptcha/guard)
|
|
|
|
[![codecov](https://codecov.io/gh/mCaptcha/guard/branch/master/graph/badge.svg)](https://codecov.io/gh/mCaptcha/guard)
|
|
|
|
<br />
|
|
|
|
[![AGPL License](https://img.shields.io/badge/license-AGPL-blue.svg)](http://www.gnu.org/licenses/agpl-3.0)
|
2021-03-10 16:25:39 +00:00
|
|
|
|
2021-03-09 10:28:54 +00:00
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
2021-03-10 16:25:39 +00:00
|
|
|
Guard is the back-end component of [mCaptcha](https://mcaptcha.org)
|
|
|
|
system.
|
|
|
|
|
2021-04-11 08:38:14 +00:00
|
|
|
**STATUS: UNUSABLE BUT ACTIVE DEVELOPMENT**
|
|
|
|
|
|
|
|
### Development:
|
|
|
|
|
|
|
|
See [DEVELOPMENT.md](./DEVELOPMENT.md)
|
2021-03-09 10:28:54 +00:00
|
|
|
|
|
|
|
### How to build
|
|
|
|
|
|
|
|
- Install Cargo using [rustup](https://rustup.rs/) 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:
|
|
|
|
|
2021-03-10 16:25:39 +00:00
|
|
|
Guard is highly configurable.
|
2021-03-09 10:28:54 +00:00
|
|
|
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:
|
|
|
|
|
2021-03-10 16:25:39 +00:00
|
|
|
| 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 |
|
2021-03-09 10:28:54 +00:00
|
|
|
|
|
|
|
###### Server:
|
|
|
|
|
2021-03-10 16:25:39 +00:00
|
|
|
| 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 |
|