roxxie-proxy-u-prod
v0.4.0
Published
Production CDN assets and embed loader for Roxxie Proxy U
Maintainers
Readme
roxxie-proxy-u-prod
Production browser assets for Roxxie Proxy U. Version 0.4.0 is pinned to the
tracker at https://100.58.76.81/ and can be embedded without hosting browser
files on the tracker server.
The executable browser code, styles, WebAssembly, and filter assets in dist/
are loaded from version-pinned jsDelivr URLs. The HTML shell, tracker network
document, and service workers in runtime/ are loaded from the same exact npm
release on unpkg so the workers remain on the shell's origin.
One-file browser
Download standalone.html and open it directly, including through file://, or
use the equivalent markup:
<!doctype html>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
html,
body,
#roxxie-browser {
width: 100%;
height: 100%;
margin: 0;
}
</style>
<div id="roxxie-browser"></div>
<script
defer
src="https://cdn.jsdelivr.net/npm/[email protected]/embed.js"
integrity="sha384-XUQcRrXesM9oedkzCx9DaWtFBih+4ITK0m9iiFxTmATyor09TJSzDKSDHcyLI0F1"
crossorigin="anonymous"
data-roxxie-target="#roxxie-browser"
></script>The embed loader creates an iframe for:
https://unpkg.com/[email protected]/runtime/index.htmlThe runtime then obtains its network document and workers from the versioned
unpkg runtime directory and connects to https://100.58.76.81/ for tracker
signaling. The tracker does not relay proxied browsing traffic.
Call the loader manually when more control is needed:
<div id="roxxie-browser"></div>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/embed.js"
integrity="sha384-XUQcRrXesM9oedkzCx9DaWtFBih+4ITK0m9iiFxTmATyor09TJSzDKSDHcyLI0F1"
crossorigin="anonymous"
data-roxxie-auto="false"
></script>
<script>
RoxxieProxyU.mount({ target: "#roxxie-browser", height: "720px" });
</script>Use file://, loopback HTTP, or HTTPS for the outer page. A non-loopback
plaintext HTTP ancestor is not a secure context and prevents the iframe from
using its service worker. A restrictive Content Security Policy must allow the
pinned jsDelivr script and frame-src https://unpkg.com.
Why the release uses two CDNs
jsDelivr serves npm HTML files as plain text, so it cannot host the executable
shell. unpkg serves runtime/index.html as HTML and the worker files as
JavaScript from one versioned origin, allowing the shell to register its
same-origin service worker. The larger executable assets remain pinned to
jsDelivr.
Every URL includes the exact npm version. Do not replace it with @latest:
combining one release's shell or worker with another release's browser code can
break routing and cache compatibility.
Release maintenance
In the complete Roxxie Proxy U source workspace, maintainers build and test the release with:
pnpm --filter roxxie-proxy-u-prod build
pnpm --filter roxxie-proxy-u-prod verify
pnpm --filter roxxie-proxy-u-prod smoke
pnpm --filter roxxie-proxy-u-prod packThe source snapshot in an extracted npm tarball is also independently rebuildable:
corepack prepare [email protected] --activate
pnpm --dir source install --frozen-lockfile
npm run build
npm run verifyThe build fixes the jsDelivr asset base and unpkg runtime base to this exact
package version, disables source maps, generates the production tracker network
document, and copies the repository's AGPL license into the package. The
tarball also carries the modified-source snapshot, third-party notices, exact
filter-list inputs and hashes, and retained license texts; see SOURCE.md and
THIRD_PARTY_NOTICES.md.
Licensed under AGPL-3.0-only.
