Skip to content

Scramjet is an experimental interception based web proxy designed to evade internet censorship, bypass arbitrary web browser restrictions and innovate web proxy technologies. This project strives to maintain security, developer friendliness and performance unlike many other web proxies regardless of its open source nature.

License

Notifications You must be signed in to change notification settings

MercuryWorkshop/scramjet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scramjet

npm version

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.

Supported Sites

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.

Development

Dependencies

Building

  • 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

Running Scramjet Locally

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).

Setting up Typedoc

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

Set up everything

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.

Resources

  • 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.

About

Scramjet is an experimental interception based web proxy designed to evade internet censorship, bypass arbitrary web browser restrictions and innovate web proxy technologies. This project strives to maintain security, developer friendliness and performance unlike many other web proxies regardless of its open source nature.

Resources

License

Stars

Watchers

Forks

Packages

No packages published