Cloudflare Pages
Deployment guide
Use this folder as a static Cloudflare Pages site. No build command is required.
Recommended settings
| Setting | Value |
|---|---|
| Project type | Cloudflare Pages |
| Build command | Leave blank |
| Build output directory | / if this folder is the repo root, or outputs/veevee-cloudflare-pages if publishing from this workspace. |
| Compatibility | Static assets plus Pages Functions |
Downloader API
The public URL downloader uses functions/api/proxy.js. It accepts /api/proxy?url=PUBLIC_MEDIA_URL, blocks local/private network targets, forwards range requests, and streams the media back to the browser.
What was analyzed
The original folder is a Chrome Manifest V3 extension. Key files include manifest.json, html/popup.html, html/panel.html, html/player.html, html/policy.html, service worker code in js/background.js, a content script in js/content.js, and localization files in _locales.
The extension requests browser permissions for tabs, storage, downloads, webRequest, notifications, scripting, side panel, offscreen documents, and all URLs. Those capabilities only work inside an installed browser extension.
Next step for a working web app
To make a web-based downloader, rebuild the extension logic as a web application and move privileged operations to a server or Cloudflare Worker. A normal Pages site cannot inspect arbitrary browser tabs or download protected media from other websites.