bimp-persona 0.0.1

Browser persona configuration and resolved fingerprint values for Bimp.
Documentation
  • Coverage
  • 14.94%
    36 out of 241 items documented0 out of 0 items with examples
  • Size
  • Source code size: 62.16 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.86 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 12s Average build duration of successful builds.
  • all releases: 12s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • lexiforest

bimp-persona

bimp-persona defines browser persona configuration and resolved fingerprint values used by Bimp runtimes.

It turns a compact JSON configuration into concrete values for browser identity, network headers, JavaScript-visible navigator fields, locale/timezone, screen and window geometry, CSS feature detection, WebGL, canvas, DOMRect, fonts, media devices, battery, storage, and automation policy.

Example

use bimp_persona::{PersonaConfig, Viewport};

let persona = PersonaConfig {
    locale: Some("en-US".to_string()),
    timezone: Some("America/Los_Angeles".to_string()),
    viewport: Viewport {
        width: 1710,
        height: 896,
        device_scale_factor: 2,
    },
    ..PersonaConfig::default()
}
.resolve();

assert_eq!(persona.js.language, "en-US");
assert_eq!(persona.geo.timezone, "America/Los_Angeles");
assert_eq!(persona.viewport.device_scale_factor, 2);

Loading persona.json

By default, PersonaConfig::load_default_json() reads persona.json from the current working directory. Set BIMP_PERSONA_JSON to use another path.

{
  "locale": "en-US",
  "timezone": "America/Los_Angeles",
  "viewport": { "width": 1710, "height": 896, "device_scale_factor": 2 },
  "css": { "moz_prefix_enabled": false, "webkit_prefix_enabled": true }
}

Stability

PersonaSeed provides deterministic seeds for profile-stable fingerprint values. Use explicit seeds for reproducible personas, or derive them from stable inputs such as profile paths.