robot a128babde0
CI / test (pull_request) Successful in 24s
fix: run deep probe and scraper in MAIN world for access to page globals
The root cause of repeated 'does not detect any videos' failures was that
m3u8DeepProbeFn and scrapeFn were injected via chrome.scripting.executeScript
in the isolated world (default). From the isolated world:

- window.__goon_plugin_data (set by main-world interceptors) — NOT visible
- window.Hls / Hls.cast (page's hls.js) — NOT visible
- Player globals (PHPlayer, flowplayer, etc.) — NOT visible
- Config globals (__NEXT_DATA__, appData, etc.) — NOT visible

Only DOM properties like video._goon_hls_manifest cross the boundary, making
the detection pipeline mostly blind on real HLS sites.

Fix: set world: 'MAIN' on both executeScript calls so all 6 deep probe
strategies and all 5 scrape priorities actually work. Chrome MV3 supports
this since Chrome 108; our build targets chrome110.
2026-08-12 11:11:06 +00:00
2026-06-08 20:13:51 +00:00
2026-05-31 11:29:51 -07:00
2026-05-30 18:51:10 +00:00

Goon Plugin

A Chrome extension (Manifest V3) that finds videos on the current page and displays them in a 2x2 grid.

Features

  • Click the extension icon → "Find Videos" to scan the current tab for all <video> elements
  • Videos are listed in the popup for reference (clickable links, "Copy All URLs" button)
  • Click "Open Viewer" to open a new window with videos in a 2x2 grid (autoplay muted)
  • Click "Clear" to reset the stored video list

Getting started

# 1. Install deps
npm i

# 2. Run in watch mode
npm run dev

# 3. Build for distribution
npm run build

Loading in Chrome

  1. Open chrome://extensions/
  2. Enable Developer mode (top-right)
  3. Click Load unpacked → select the project root folder (where manifest.json is located)

Project structure

manifest.json       — Extension manifest (MV3)
package.json        — Dev tooling (Vite + Vitest + TS)
vite.config.ts      — Build config
src/
  background/       — Service worker (MV3 background)
  content/          — Content script
  viewer/           — Popup UI + video viewer
    index.html      — Popup (Find Videos, Open Viewer buttons)
    index.js        — Popup logic (scans current tab for videos)
    index.css       — Popup styles
    viewer.html     — Viewer page (2x2 video grid in new window)
    viewer.js       — Viewer logic (renders video panels)
    viewer.css      — Viewer grid styles
  icons/            — Extension icons (place .png files here)
  • Chrome Extension Developer (extension-list-viewer)
  • ESLint
  • Prettier

VS Code workspace

Open goon_plugin.code-workspace to get the project with recommended extensions pre-installed.

S
Description
No description provided
Readme
1.4 MiB
0 Stars 2 Watchers 0 Forks
v0.2.0
Latest
2026-10-07 17:07:24 -07:00
Languages
JavaScript 96.9%
TypeScript 1.2%
CSS 1.1%
HTML 0.7%
Dockerfile 0.1%