A web proxy built on Scramjet, an interception-based proxy designed to bypass internet censorship.
Scramjet uses a service worker to intercept and rewrite web traffic in the browser. A Wisp WebSocket server handles the actual network requests server-side, while the browser rewrites HTML, CSS, and JavaScript on the fly using a WASM-based rewriter.
npm install
node server.js
Open http://localhost:3030 in your browser.
This runs the full proxy with a local Wisp WebSocket server. All proxy functionality works.
docker build -t scramjet-proxy .
docker run -p 3030:3030 scramjet-proxy
The public/ directory contains a pre-built static version that can be deployed to GitHub Pages or any static host.
Important: The static version requires an external Wisp WebSocket server. The proxy will not work without one.
main, Folder: /publicpublic/config.js and set window.WISP_URL to your Wisp WebSocket server address:
window.WISP_URL = "wss://your-server.com/wisp/";
https://your-username.github.io/scramjet-proxy/The included workflow (.github/workflows/pages.yml) automatically deploys the public/ folder to GitHub Pages on every push to main.
GPL-3.0