AnyProxy

Get Pro
Glossary · Adjacent

Scramjet

Also calledscramjet proxy
Definition

Scramjet is an open-source web proxy from Mercury Workshop that intercepts and rewrites websites inside your own browser, using a service worker, rather than on a remote server.

Explanation

In depth

Most web proxies, including AnyProxy, fetch a page on their own servers, rewrite its links and scripts so they keep pointing back through the proxy, and send the result to your browser. Scramjet moves that rewriting into the browser. A service worker, a script a site can install to intercept its own network requests, catches each request the proxied page makes, and Scramjet rewrites the HTML, CSS and JavaScript locally with a rewriter written in Rust and compiled to WebAssembly. The network fetching still has to go somewhere, which is why browser-side proxies pair with a transport such as Wisp. Its repository, started in May 2024 and licensed AGPL-3.0, calls it an experimental interception-based web proxy for evading censorship and browser restrictions, and lists sites such as Google, YouTube, Discord and Spotify as working targets. The trade-offs are practical. Browser-side rewriting spreads work onto visitors' devices and lowers server cost, but depends on service workers and WebAssembly behaving well in the visitor's browser and can be slower on weak devices. Server-side rewriting keeps the browser's job simpler. Neither design changes the basics: the operator of the relay sees your traffic.

In practice

Scramjet in the real world

Scramjet, from Mercury Workshop, does most proxy rewriting inside your browser with a service worker, rather than on a server. That is a different design from server-side engines — including AnyProxy's, which fetches and rewrites pages on regional servers before sending them to you. Browser-side engines reduce server load; server-side engines keep the browser simpler and work in browsers where service workers are limited.

Sources: Scramjet (GitHub) · Wisp protocol specification (GitHub)

Questions about Scramjet

Does AnyProxy use Scramjet?
No. AnyProxy rewrites pages on its regional servers. Scramjet is an open-source engine that does that work in the browser instead.
What is a service worker?
A script a site installs in your browser that can intercept and rewrite that site's network requests - the mechanism browser-side proxy engines rely on.
Can I run Scramjet myself?
Yes, the code is public under the AGPL-3.0 licence. Hosting it means running the Wisp or other transport server too, and you become the operator who can see users' traffic.

Related terms

Wisp protocolWisp is an open protocol that carries many TCP and UDP connections inside one WebSocket, so code running in a browser tab can reach network services a web page normally cannot open.Web proxyA web proxy is a website that loads other websites for you inside your browser tab, with nothing to install and no settings to change.Browser extension proxyA browser extension proxy is an add-on installed in Chrome, Firefox or Edge that sends the browser's web traffic through a remote proxy server, switched on and off from the toolbar.

Put the concept to work

Try AnyProxy free — no install, no signup, six regions.

Open a blocked page