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. https://scramjet.mercurywork.shop/
Find a file
Percs 35b1d08bfb Revert "small changes"
This reverts commit 3a85734b7f.
2024-07-12 16:09:48 -05:00
lib make export work 2024-07-02 18:52:09 -05:00
src Revert "small changes" 2024-07-12 16:09:48 -05:00
static Revert "small changes" 2024-07-12 16:09:48 -05:00
.eslintrc.json add license and client apis 2024-06-17 06:20:32 -04:00
.gitignore update to bare-mux 2.0 2024-07-11 09:52:34 -05:00
esbuild.dev.js Revert "small changes" 2024-07-12 16:09:48 -05:00
esbuild.js Revert "small changes" 2024-07-12 16:09:48 -05:00
LICENSE add license and client apis 2024-06-17 06:20:32 -04:00
package.json re-implement idbmap for storage proxy 2024-07-11 23:32:48 -04:00
pnpm-lock.yaml re-implement idbmap for storage proxy 2024-07-11 23:32:48 -04:00
rainbow6siege Create rainbow6siege 2024-05-27 21:42:11 -04:00
README.md Revert "small changes" 2024-07-12 16:09:48 -05:00
tsconfig.json add treeshaking + bugfix 2024-06-28 18:56:37 -04:00

Scramjet

Scramjet is an experimental web proxy that aims to be the successor to Ultraviolet.

It currently does not support most websites due to it being very early in the development stage.

The UI is not finalized and only used as a means to test the web proxy.

How to build

Running pnpm dev will build Scramjet and start a dev server on localhost:1337. If you only want to build the proxy without using the dev server, run pnpm build.

TODO

  • Finish HTML rewriting
    • <script type="importmap"></script> rewriting
      • Make an array of all possible import values and pass the array onto the JS rewriter, then rewrite all the URLs inside of it
  • Finish JS rewriting
    • Only thing rewritten currently are imports and exports
    • Check imports/exports for values contained in the importmap array, don't rewrite the node value if present
  • Write client APIs