captcha/README.md

53 lines
1.6 KiB
Markdown

# tricaptcha
Simple and accessible CAPTCHA system that works without Javascript. [cap.trimill.xyz](https://cap.trimill.xyz/).
## Environment variables
- `RUST_LOG` - set log level (default: `error`)
- `TCAP_ADDR` - set address (default: `localhost:8000`)
## API
### Main page
GET `/`
- `?count=`: number of digits to use in CAPTCHA (clamped between 1 and 16)
- `?userdata=`: arbitrary data that will be saved and returned during verification
### Submission page
POST `/submit`
- `?id=`: the CAPTCHA ID
- `?digits=`: the digits contained in the captcha
### Images
GET `/image/ID`
- `ID`: the CAPTCHA ID
Each image may only be requested once
### Audio
GET `/audio/ID`
- `ID`: the CAPTCHA ID
Each audio may only be requested once
### Verification
GET `/verify`
- `?token=`: the CAPTCHA token provided by the user
- HTTP 400 - invalid token
- HTTP 200 - valid token, JSON output:
- `count`: number of digits in CAPTCHA
- `issued`: time when CAPTCHA was issued to user
- `completed`: time when CAPTCHA was completed by user
- `userdata`: see above
## Dependencies
`ffmpeg` and imagemagick's `convert` tool must be installed to generate the images and audio.
## Licenses
All original work licensed under the [GNU GPLv3](./LICENSE.txt).
Digit images are from the [MNIST handwritten digits dataset](https://github.com/rasbt/mnist-pngs), licensed under the [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/) license.
Digit audio are from the [FSDD spoken digit dataset](https://github.com/Jakobovski/free-spoken-digit-dataset) v1.0.10, licensed under the [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) license.