https://github.com/xzeldon/emoji-captcha-api
A CAPTCHA implementation based on identifying emojis
https://github.com/xzeldon/emoji-captcha-api
captcha rust telegram
Last synced: 2 months ago
JSON representation
A CAPTCHA implementation based on identifying emojis
- Host: GitHub
- URL: https://github.com/xzeldon/emoji-captcha-api
- Owner: xzeldon
- License: agpl-3.0
- Created: 2023-05-04T01:07:50.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-05-04T01:22:36.000Z (about 2 years ago)
- Last Synced: 2025-01-18T09:33:59.193Z (4 months ago)
- Topics: captcha, rust, telegram
- Language: Rust
- Homepage:
- Size: 12.3 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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.Mirror on my
[Git](https://git.zeldon.ru/zeldon/emoji-captcha-api)
## 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).