![]() |
||
---|---|---|
cpp-lib@6df0c4188b | ||
systemd | ||
.gitignore | ||
.gitmodules | ||
LICENSE | ||
README.md | ||
httpserver.cpp | ||
httpserver.h | ||
jsonanswer.cpp | ||
jsonanswer.h | ||
main.cpp | ||
socketrunnable.cpp | ||
socketrunnable.h | ||
zsc-daemon.pro |
README.md
ZSC API daemon
Zero Storage Captcha selfhosted REST API service
Compile
Qt5 and OpenSSL are required
sudo apt install git qt5-default libssl-dev
git clone --recursive https://github.com/ZeroStorageCaptcha/api-daemon.git zero-captcha-daemon
cd zero-captcha-daemon
qmake && make
Run
-a --address Address to bind
-p --port Port to bind (7697 by default)
-t --threads Working threads (hardware value by default)
API
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?length= [>0] &difficulty= [0-5] &output= [base64|file] IF output=file: &filepath= [file system path] <- "token", IF output=base64: "png" (base64 encoded picture)
-
Validate captcha
-> /validate?answer= [user's answer] &token = [user's token] <- boolean "valid"
-
Settings
3.1 Tokens case sensitive to captcha answer:
-> /settings?case_sensitive= [enable|disable]
3.2 Only numbers mode:
-> /settings?number_mode= [enable|disable]
Example
- Generate
Client: /generate?length=4&difficulty=3&output=base64 Server: { "png": "iVBORw0KGgoAAAANSU <...> AAAAAElFTkSuQmCC", "status": true, "token":" i2oefBw6mswaORIphgDcY7GwnS" }
- Validate
Client: /validate?answer=iuda1&token=i2oefBw6mswaORIphgDcY7GwnS Server: { "status": true, "valid": false }