Worker shim, engine-family matching, Opera/Vivaldi (v1.3.0) #6
Loading…
Reference in a new issue
No description provided.
Delete branch "worker-shim-and-engine-match"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Worker fingerprinting defense
Wraps the
Workerconstructor so fingerprinting inside Web Workers (a fresh JS global with no content script — previously the biggest bypass) sees the cover identity: a blob bootstrap installs an in-worker payload (WorkerNavigator, OffscreenCanvas 2D noise +convertToBlob, WebGL vendor/renderer + timer-query block, timezone) then loads the original script. Nested workers re-wrap themselves; falls back to the unwrapped worker under CSP or a cross-origin module import. Verified self-contained + functional in a VM smoke test.Engine-family matching
Per-site covers are constrained to the host's engine family via
detectHostEngine(), so the persona never contradicts the unfakeable TLS/JA4/Math/ICU layers. Consistent across bridge, background header rules, popup, and test page; explicit pins bypass it.Chromium pool: +Opera/Vivaldi, −Firefox/Safari
sec-ch-uais now built from each profile's own brands.Test plan
tscclean;npm run zip→ valid v1.3.0 MV3 zip