mirror of
https://github.com/xzeldon/emoji-captcha-api.git
synced 2025-07-17 00:06:17 +03:00
Initial commit
This commit is contained in:
35
README.md
Normal file
35
README.md
Normal file
@ -0,0 +1,35 @@
|
||||
# Emoji CAPTCHA
|
||||
|
||||
> 🚨 This is forked from https://github.com/moderent/emoji-captcha and rewrited
|
||||
> with [Axum](https://lib.rs/crates/axum) instead
|
||||
> [Actix-Web](https://lib.rs/crates/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
|
||||
|
||||
1. The client sends an HTTP request to the server.
|
||||
|
||||
2. 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.
|
||||
|
||||
3. 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.
|
||||
|
||||
4. 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](https://t.me/PyrogramLounge).
|
Reference in New Issue
Block a user