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
2024-05-27 17:12:06 -04:00
src start client api 2024-05-27 17:11:45 -04:00
static add support for libcurl and epoxy 2024-05-13 21:46:47 -05:00
.eslintrc.json fix html rewriting and add header rewriting 2024-05-06 19:00:10 -04:00
.gitignore add support for libcurl and epoxy 2024-05-13 21:46:47 -05:00
esbuild.dev.js add support for libcurl and epoxy 2024-05-13 21:46:47 -05:00
esbuild.js remove unused import in build 2024-05-07 13:35:18 -05:00
fortnite Create fortnite 2024-05-06 19:08:46 -04:00
package.json Merge branch 'main' of https://github.com/MercuryWorkshop/scramjet 2024-05-27 17:12:06 -04:00
pnpm-lock.yaml Merge branch 'main' of https://github.com/MercuryWorkshop/scramjet 2024-05-27 17:12:06 -04:00
README.md fix minor bugs 2024-05-13 22:15:40 -04:00
tsconfig.json initial commit 2024-05-05 22:19:58 -04:00

check back in 3 months when scramjet supports 23% of what UV supports

TODO

  • Finish HTML rewriting
    <!-- Append to <head> element -->
    <script src="./scramjet.codecs.js"></script>
    <script src="./scramjet.config.js"></script>
    <script src="./scramjet.bundle.js"></script>  
    
    • <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
  • Fix URL rewriting
    • Pass the full the full url object arround instead of just the origin and if the url is relative append it to the url path before adding it to the origin
  • 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
  • Fix CSS rewriting
  • Rewrite Link header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link
  • Write client APIs
    • __scope$() function for JS rewriting
    • Location object
    • Window object
    • LocalStorage, SessionStorage, IDB objects
    • Cookies
    • HTMLElement overrides
    • WebSocket
    • SW emulation
    • Blah blah blah nerdy apis just do it