Files
Laan Tungir f4250de54c v0.0.16 - Add browser fingerprint spoofing (desktop + mobile identities)
Present the browser as Chrome, Firefox, Safari, Edge, or a mobile browser
(Chrome Android, Safari iOS, Samsung Internet, Firefox Android) plus
Googlebot/Bingbot, at both the User-Agent and JavaScript level.

- src/fingerprint.rs: 15 internally-consistent presets, resolve(), JS config
- www/js/fingerprint-spoof.js: stealthy overrides for navigator.*,
  userAgentData (Client Hints), screen, devicePixelRatio, outer size,
  touch points, matchMedia, WebGL vendor/renderer, window.chrome
- Engine UA via Settings::set_user_agent with site-specific quirks disabled
- Settings UI (Browser Identity section), hamburger submenu, and a
  sovereign://fingerprint debug page comparing spoofed vs real values
- Settings persist and sync via NIP-78

Verified in real WebKitGTK 2.52.6 across six presets; sovereign:// pages
are never spoofed. Sec-CH-UA request headers are deferred (needs a
WebKitGTK web-process extension).
2026-10-06 16:16:50 -04:00

38 lines
914 B
CSS

/* Browser Identity debug page — sovereign://fingerprint
* Imports the shared sovereign:// base theme. */
@import url("sovereign://sovereign-base.css");
body { max-width: 1000px; }
.card {
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 8px 12px;
margin: 12px 0;
}
table {
width: 100%;
border-collapse: collapse;
margin: 12px 0;
font-size: 13px;
}
th, td {
text-align: left;
vertical-align: top;
padding: 6px 10px;
border-bottom: 1px solid var(--border);
word-break: break-all;
}
th {
color: var(--primary);
border-bottom: 2px solid var(--primary);
}
td:first-child { font-weight: bold; white-space: nowrap; }
td.mono, code { font-family: var(--font); }
.real { color: var(--muted); }
.spoofed { color: var(--primary); }
.limitations { margin: 12px 0 12px 20px; }
.limitations li { margin: 6px 0; }
.actions { display: flex; gap: 8px; flex-wrap: wrap; }