clean scramjet scripts from dom

This commit is contained in:
velzie 2024-08-09 19:56:02 -04:00
parent 066777fe94
commit 0c0490e751
No known key found for this signature in database
GPG key ID: 048413F95F0DDE1F
5 changed files with 25 additions and 2 deletions

View file

@ -19,7 +19,12 @@ fi
time wasm-opt $WASMOPTFLAGS -O4 --vacuum --dce --enable-threads --enable-bulk-memory --enable-simd "$WASM" -o rewriter/out/optimized.wasm time wasm-opt $WASMOPTFLAGS -O4 --vacuum --dce --enable-threads --enable-bulk-memory --enable-simd "$WASM" -o rewriter/out/optimized.wasm
echo -n "self.WASM = '" > dist/scramjet.wasm.js cat <<EOF > dist/scramjet.wasm.js
if ("document" in self && document.currentScript) {
document.currentScript.remove();
}
EOF
echo -n "self.WASM = '" >> dist/scramjet.wasm.js
base64 -w0 < "rewriter/out/optimized.wasm" >> dist/scramjet.wasm.js base64 -w0 < "rewriter/out/optimized.wasm" >> dist/scramjet.wasm.js
echo -n "';">> dist/scramjet.wasm.js echo -n "';">> dist/scramjet.wasm.js
echo "Rewriter Build Complete!" echo "Rewriter Build Complete!"

View file

@ -22,3 +22,7 @@ if (!(ScramjetClient.SCRAMJET in self)) {
runtime.hook(); runtime.hook();
} }
} }
if ("document" in self && document.currentScript) {
document.currentScript.remove();
}

View file

@ -90,3 +90,7 @@ self.$scramjet.codecs = {
xor, xor,
base64, base64,
}; };
if ("document" in self && document.currentScript) {
document.currentScript.remove();
}

View file

@ -29,3 +29,7 @@ self.$scramjet.shared = {
rewriteWorkers, rewriteWorkers,
}, },
}; };
if ("document" in self && document.currentScript) {
document.currentScript.remove();
}

View file

@ -136,7 +136,13 @@ function traverseParsedHtml(node, origin?: URL) {
src: src:
"data:application/javascript;base64," + "data:application/javascript;base64," +
btoa( btoa(
`self.$scramjet.config = ${JSON.stringify(self.$scramjet.config)}; self.$scramjet.codec = self.$scramjet.codecs[self.$scramjet.config.codec];` `
self.$scramjet.config = ${JSON.stringify(self.$scramjet.config)};
self.$scramjet.codec = self.$scramjet.codecs[self.$scramjet.config.codec];
if ("document" in self && document.currentScript) {
document.currentScript.remove();
}
`
), ),
"data-scramjet": "true", "data-scramjet": "true",
}); });