Scramjet is an interception-based web proxy designed to bypass arbitrary web browser restrictions, support a wide range of sites, and act as middleware for open-source projects. It prioritizes security, developer friendliness, and performance.
Scramjet has CAPTCHA support! Some of the popular websites that Scramjet supports include:
Ensure you are not hosting on a datacenter IP for CAPTCHAs to work reliably along with YouTube. Heavy amounts of traffic will make some sites NOT work on a single IP. Consider rotating IPs or routing through Wireguard using a project like wireproxy.
An easy to deploy version of Scramjet can be found at Scramjet-App.
- Recent versions of
node.js
andpnpm
rustup
wasm-bindgen
- Binaryen's
wasm-opt
- this
wasm-snip
fork
- Clone the repository with
git clone --recursive https://github.com/MercuryWorkshop/scramjet
- Install the dependencies with
pnpm i
- Build the rewriter with
pnpm rewriter:build
- Build Scramjet with
pnpm build
You can run the Scramjet dev server with the command
pnpm dev
Scramjet should now be running at http://localhost:1337 and should rebuild upon a file being changed (excluding the rewriter).
The official Scramjet Typedoc gets deployed via GitHub Actions along with the demo site here.
You can run it locally with:
pnpm run docs
pnpm docs:dev
pnpm docs:serve
Do you want to run the Scramjet demo and Typedoc together like what is served on GitHub Pages by the Action?
You can do this by running the serve script:
chmod +x scripts/serve-static.sh
./scripts/serve-static.sh
This essentially simulates the CI pipeline, but in a shell script.
- TN Docs - There's a page on TN's docs for Scramjet, which is structured more like a guide if you are an interested proxy site developer.
- Scramjet Typedocs - Contains documentation for Scramjet APIs. This is useful for any proxy site developer.
- Scramjet-App - A simple example of a proxy site, which uses Scramjet in a mass-deployable manner. This is based on Ultraviolet-App for familiarity.