leyline-http 0.1.0

HTTP client that mimics browsers on the wire
Documentation
use leyline::{Browser, Platform, Session};

const URL: &str = "https://example.com";

#[tokio::main]
async fn main() -> leyline::Result<()> {
    let session = Session::builder()
        .browser(Browser::Chrome147)
        .platform(Platform::Linux)
        .audit(true)
        .build()?;

    let resp = session.get(URL).await?;

    if let Some(audit) = resp.audit() {
        println!("JA3:            {}", audit.ja3);
        println!("JA4:            {}", audit.ja4);
        println!("JA4T:           {}", audit.ja4t);
        println!("JA4H:           {}", audit.ja4h);
        println!("H2 fingerprint: {}", audit.h2_fingerprint);
    } else {
        eprintln!("no audit data on this response");
    }

    Ok(())
}