bin | ||
build/archlinux | ||
cmd/justcaptchad | ||
init/systemd | ||
internal | ||
pkg | ||
.gitignore | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
README.md |
justcaptcha ver. 1.2.0
A simple CAPTCHA service implementation.
Usage
justcaptchad -expiry 5m -listen /var/run/justcaptchad/j.sock
-expiry
takes time for CAPTCHA to be valid for in format X{s,m,h}.
-listen
is ip:port
or /path/to/unix.sock
to listen on.
API
Get a new CAPTCHA
GET /
It will return an ID of a new CAPTCHA in plain text.
HTTP codes
200
if created (and it always being created)
Get an image for a CAPTCHA
GET /:captcha_id/image?style=
Responds with an image in JPEG format.
An optional URL query parameter style=
set a name of a CAPTCHA style if
implemented by used CAPTCHA implementation.
HTTP codes
200
if exists404
if doesn't exist500
if for some reason an image wasn't created
Submit an answer
POST /:captcha_id
Accepts application/x-www-form-urlencoded
content type.
It takes one parameter answer=123456
.
Responds with an empty body and one of the HTTP codes.
HTTP codes
200
if solved403
if not solved404
if doesn't exist
Check if captcha is solved
GET /:captcha_id?remove
Responds with an empty body and one of the HTTP codes.
If an optional remove
URL query parameter without a value supplied. CAPTCHA
will be removed without check if it is solved and a HTTP code 200
will be sent.
Otherwise, a 403
HTTP code will be sent, and, e.g. browser will print an error
message to console. So, in this case it helps to keep a browser's console cleaner.
If CAPTCHA doesn't exist a 404
HTTP code still will be returned.
This can be useful to remove an unused CAPTCHA from a DB without waiting for it to be expired. E.g. when a visitor requests for a new CAPTCHA because he struggle to solve it.
HTTP codes
200
if solved403
if not solved404
if doesn't exist