use captchaforge::solver::CaptchaType;
use captchaforge::telemetry::{
MetricsTelemetry, NoopTelemetry, SolveEvent, SolveOutcome, SolverTelemetry,
};
fn main() {
println!("(synthetic demo, no browser spawn)");
println!();
let metrics = MetricsTelemetry::new();
let kind = captchaforge::detect::DetectedCaptcha::Turnstile;
let method = captchaforge::solver::SolveMethod::AutoPass;
for vendor in &[
CaptchaType::CloudflareTurnstile,
CaptchaType::HCaptcha,
CaptchaType::RecaptchaV2,
CaptchaType::RecaptchaV3,
] {
for i in 0..50 {
let outcome = if i < 35 {
SolveOutcome::Success
} else {
SolveOutcome::Failure
};
let evt = SolveEvent::new(
"Demo",
vendor,
&kind,
"example.com",
outcome,
100 + i as u64,
Some(0.9),
&method,
);
metrics.record(&evt);
}
}
let _ = NoopTelemetry; }