Timofey Gelazoniya fce2286c69 | ||
---|---|---|
docker_utils | ||
emojis/png/160 | ||
src | ||
.dockerignore | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
allowed-emojis.txt | ||
rustfmt.toml |
README.md
Emoji CAPTCHA
🚨 This is forked from https://github.com/moderent/emoji-captcha and rewrited with Axum instead Actix-Web (2x perfomance boost in most scenarious unexpected reason)
A CAPTCHA implementation based on identifying emojis
This was exclusively developed to be used in Telegram, but might be used anywhere else.
Brief Description
-
The client sends an HTTP request to the server.
-
The server returns a generated photo that has 6 emojis inside it, along with:
-
A custom header called
x-emojis
that includes the code points of the six emojis in the photo plus 2 random ones in hex, shuffled, splitted by ";", and the parts of each of them splitted by "-". -
A custom header called
x-correct-emojis
that only includes the code points of the 6 emojis in the photo.
-
-
The client displays the photo returned by the server, along with the emojis provided in the
x-emojis
in a way the user can pick them. -
The client compares the first six emojis that the user picked with
x-correct-emojis
.
Credits
This wouldn't be possible without the inspirations from the CAPTCHA system at @PyrogramLounge.