one endpoint. the namespace. cross-origin open. fetch the whole patched site from anywhere:
const r = await fetch("https://<app>.vercel.app/api/zc/raw/https://example.com");
const html = await r.text(); // entire site — bundled, patched, one file
routes — /api/zc/raw/<url> patched html · /api/zc/u/<url> iframe-ready ·
/api/zc/s/<url> stream any file (range ok) · /api/zc/src/<url> untouched source ·
/api/zc/zip/<url> whole site as real .zip · /api/zc/info/<url> metadata · /api/zc/health methods — POST / PUT / PATCH / DELETE pass through with body + cookie sessions. webrtc — unlocked by default (?rtc=0 disables): native RTCPeerConnection, google STUN fallbacks,
mediaDevices shim, policy headers stripped. deploy note — engine file must be named api/[...zc].js (vercel catch-all). this ui auto-detects:
full engine, or legacy api/zero.js fallback.