opentele2-browser
Browser HTTP headers and full browser fingerprints sampled from Bayesian networks: a Rust port
of browserforge over the
Apify fingerprint datapoints. Part of
opentele2.
- Deterministic by seed: the same seed and options give byte-identical output here, in Python
(
opentele2.browser) and in Node (generateHeaders, generateFingerprint).
- Fixes seven browserforge defects: Sec-Fetch values, OS relaxation, HTTP/1 fallback, Edge
detection, the user-agent constraint, the locale cap and request-dependent headers.
use opentele2_browser::{Browser, FingerprintOptions, HeaderOptions, Screen};
fn main() -> opentele2_browser::Result<()> {
let options = HeaderOptions { browsers: vec![Browser::new("chrome")], ..HeaderOptions::default() };
for (name, value) in opentele2_browser::generate_headers(Some("my-id"), &options)?.iter() {
println!("{name}: {value}");
}
let screen = Some(Screen { max_width: Some(1920), ..Screen::default() });
let options = FingerprintOptions { screen, ..FingerprintOptions::default() };
let fingerprint = opentele2_browser::generate_fingerprint(Some("42"), &options)?;
println!("{}", fingerprint.navigator.user_agent);
Ok(())
}
License: Apache-2.0. See NOTICE for browserforge and the Apify data.