Cloudflare Pages

Deployment guide

Use this folder as a static Cloudflare Pages site. No build command is required.

Recommended settings

SettingValue
Project typeCloudflare Pages
Build commandLeave blank
Build output directory/ if this folder is the repo root, or outputs/veevee-cloudflare-pages if publishing from this workspace.
CompatibilityStatic 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.