Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prime Lite Device Emulator (internal testing)

Chrome (Manifest V3) extension that makes Prime Lite render on a laptop while the request and JS environment report the browser as a Phone or Fire TV. Intended for testing the Prime Lite experience on device types that aren't officially offered on laptop in India.

What it changes

Layer Mechanism Signals spoofed
Network requests declarativeNetRequest header rewrite User-Agent, Sec-CH-UA, Sec-CH-UA-Mobile, -Platform, -Platform-Version, -Model
JS runtime main-world content script navigator.userAgent, appVersion, platform, vendor, maxTouchPoints, userAgentData (+ getHighEntropyValues), optionally screen.*

The header rewrite is the reliable core — that's what Amazon's backend keys on to decide which experience to serve. The JS overrides cover client-side device checks.

Load it

  1. chrome://extensions → enable Developer mode (top right).
  2. Load unpacked → select the folder where you downloaded the extension files.
  3. Pin the extension, click it, toggle Emulation on, pick Phone or Fire TV.
  4. Open / reload the Prime Lite tab.

Settings persist. Reload the target tab after any change (device detection usually runs once at page load).

Options

  • Device: Phone (Android, mobile client hints) or Fire TV (Fire TV Stick 4K UA).
  • Emulate device screen size: off by default, so the page renders at your laptop's real resolution while still identifying as the device. Turn on if an app path reads screen.width/height and you need those to match too.

Customizing device profiles

Edit profiles.js — user-agent strings, client-hint headers, navigator.userAgentData values, and screen sizes all live there. To emulate a specific real device, copy its navigator.userAgent and chrome://version values into a profile.

To cover more Amazon/Prime domains, add them to both TARGET_DOMAINS in profiles.js and host_permissions in manifest.json.

Known limitation: DRM playback

Actual video playback is gated by DRM device attestation (Widevine/PlayReady security levels, device certificates, hardware-backed keys) enforced below the HTTP layer. A browser extension cannot spoof that. So you can drive the Prime Lite UI, catalog, layout, routing, and API responses as a phone/TV device, but DRM-protected streams may still refuse to play on the laptop. For UI/functionality QA that's expected and usually sufficient.

Files

  • manifest.json — MV3 config, permissions, content-script registration
  • profiles.js — device profiles + shared config (edit this)
  • background.js — builds/updates the header-rewrite rules, toolbar badge
  • content.js — isolated world: passes the active profile to the main world
  • inject.js — main world: overrides navigator/screen before page scripts
  • popup.html / popup.js — the toggle + device picker UI

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages