From 12faa8fa864700950632129ce95c6b23c1071208 Mon Sep 17 00:00:00 2001 From: acetone <63557806+freeacetone@users.noreply.github.com> Date: Sun, 24 Apr 2022 11:58:59 -0400 Subject: [PATCH] first readme --- README.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..9a81466 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# 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.** + +1. 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) + ``` +2. Validate captcha + ``` + -> /validate?answer= [user's answer] &token = [user's token] + <- boolean "valid" + ``` +3. 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 +1. Generate + ``` + Client: /generate?length=4&difficulty=3&output=base64 + Server: + { + "png": "iVBORw0KGgoAAAANSU <...> AAAAAElFTkSuQmCC", + "status": true, + "token":" i2oefBw6mswaORIphgDcY7GwnS" + } + ``` +2. Validate + ``` + Client: /validate?answer=iuda1&token=i2oefBw6mswaORIphgDcY7GwnS + Server: + { + "status": true, + "valid": false + } + ```