Zero Storage Captcha selfhosted REST API service.
Qt6 variant, Debian 12
sudo apt install git build-essential qt6-base-dev qmake6
git clone --recursive https://github.com/ZeroStorageCaptcha/api-daemon.git zero-captcha-daemon
cd zero-captcha-daemon
qmake6 && make
Qt5 variant, Debian 11
sudo apt install git build-essential qtdeclarative5-dev
git clone --recursive https://github.com/ZeroStorageCaptcha/api-daemon.git zero-captcha-daemon
cd zero-captcha-daemon
qmake && make
Argument list
-a --address Address to bind (127.0.0.1 by default)
-p --port Port to bind (7697 by default)
-t --threads Working threads (hardware value by default)
Important note: For running on non-gui system use "QT_QPA_PLATFORM=offscreen" in your environment.
For Linux systems with systemd check systemd
folder which contains service file example.
GET request, JSON response
Each response contains a boolean "status" that indicates the logic success of the operation. If !status, read "message" field.
-
Generate captcha
-> /generate <- { "token": "CAPTCHA_TOKEN", "png": "BASE64_ENCODED_PICTURE" }
-
Validate captcha
-> /validate?answer=CAPTCHA_ANSWER&token=CAPTCHA_TOKEN <- { "valid": true|false }
-
Settings
3.1 Tokens case sensitive to captcha answer (
disable
by default):-> /settings?case_sensitive=enable|disable
3.2 Numbers only mode (
disable
by default):-> /settings?number_mode=enable|disable
3.3 Difficulty (
1
by default):-> /settings?difficulty=0|1|2
3.4 Text length (number greater than 0,
5
by default):-> /settings?length=6
3.5 Cache capacity (
2048
by default,0
for disable):-> /settings?cache_capacity=4096
- Generate
Client: /generate Server: { "status": true, "png": "iVBORw0KGgoAAAANSU <...> AAAAAElFTkSuQmCC", "token":" i2oefBw6mswaORIphgDcY7GwnS_Aq" }
- Validate
Client: /validate?answer=iuda1&token=i2oefBw6mswaORIphgDcY7GwnS_Aq Server: { "status": true, "valid": false }