Skip to content

samirdjelal/captcha-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7e75db0 Β· Jan 10, 2025

History

85 Commits
May 23, 2022
Mar 1, 2022
Apr 12, 2022
Jan 10, 2025
Mar 27, 2022
Mar 1, 2022
Jan 10, 2025
Sep 8, 2024
Mar 19, 2022
Mar 15, 2022
Jan 10, 2025

Repository files navigation

captcha-rs

Captcha-rs crate test issues Downloads MIT License Captcha-rs documentation dependency status

captcha-rs is a library that generate verification images dynamically.

Example pictures are as follows:

img-light-1.png img-light-2.png img-light-3.png
img-dark-1.png img-dark-2.png img-dark-3.png

Using complexity method

Complexity Light Mode / Noise Filter Dark Mode / Noise Filter
Level 1 img-light img-dark
Level 2 img-light img-dark
Level 3 img-light img-dark
Level 4 img-light img-dark
Level 5 img-light img-dark
Level 6 img-light img-dark
Level 7 img-light img-dark
Level 8 img-light img-dark
Level 9 img-light img-dark
Level 10 img-light img-dark

Example

Add the following dependency to the Cargo.toml file:

[dependencies]
captcha-rs = "0.2.11"

And then get started in your main.rs:

use captcha_rs::CaptchaBuilder;

fn main() {
	
	let captcha = CaptchaBuilder::new()
		.length(5)
		.width(130)
		.height(40)
		.dark_mode(false)
		.complexity(1) // min: 1, max: 10
		.compression(40) // min: 1, max: 99
		.build();
	
	println!("text: {}", captcha.text);
	println!("base_img: {}", captcha.to_base64());
	
}

Run

# Dev
πŸ’² cargo run

# Build
πŸ’² cargo build

# Test
πŸ’² cargo test -- --nocapture

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in captcha-rs by you, shall be licensed as MIT, without any additional terms or conditions.