mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-13 14:30:02 -04:00
update rspack
This commit is contained in:
parent
cb395552c8
commit
fc8738b239
3 changed files with 54 additions and 25 deletions
|
@ -52,12 +52,16 @@
|
|||
"@webreflection/idb-map": "^0.3.1",
|
||||
"astravel": "^0.6.1",
|
||||
"astring": "^1.8.6",
|
||||
"devtools-detector": "^2.0.20",
|
||||
"dom-serializer": "^2.0.0",
|
||||
"domhandler": "^5.0.3",
|
||||
"domutils": "^3.1.0",
|
||||
"htmlparser2": "^9.1.0",
|
||||
"javascript-obfuscator": "^4.1.1",
|
||||
"meriyah": "^4.4.2",
|
||||
"parse-domain": "^8.0.2",
|
||||
"set-cookie-parser": "^2.6.0"
|
||||
"set-cookie-parser": "^2.6.0",
|
||||
"uglifyjs-webpack-plugin": "^2.2.0",
|
||||
"webpack-obfuscator": "^3.5.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import { defineConfig } from "@rspack/cli";
|
||||
import { rspack } from "@rspack/core";
|
||||
// import { RsdoctorRspackPlugin } from "@rsdoctor/rspack-plugin";
|
||||
import { RsdoctorRspackPlugin } from "@rsdoctor/rspack-plugin";
|
||||
import { join } from "path";
|
||||
import { fileURLToPath } from "url";
|
||||
import obfuscator from "javascript-obfuscator";
|
||||
const { obfuscate } = obfuscator;
|
||||
|
||||
const __dirname = fileURLToPath(new URL(".", import.meta.url));
|
||||
|
||||
|
@ -14,7 +16,6 @@ export default defineConfig({
|
|||
worker: join(__dirname, "src/worker/index.ts"),
|
||||
thread: join(__dirname, "src/thread/thread.ts"),
|
||||
client: join(__dirname, "src/client/index.ts"),
|
||||
config: join(__dirname, "src/scramjet.config.ts"),
|
||||
codecs: join(__dirname, "src/codecs/index.ts"),
|
||||
controller: join(__dirname, "src/controller/index.ts"),
|
||||
},
|
||||
|
@ -51,6 +52,9 @@ export default defineConfig({
|
|||
},
|
||||
},
|
||||
},
|
||||
optimization: {
|
||||
minimize: process.env.OBFUSCATE === "true",
|
||||
},
|
||||
output: {
|
||||
filename: "scramjet.[name].js",
|
||||
path: join(__dirname, "dist"),
|
||||
|
@ -63,12 +67,50 @@ export default defineConfig({
|
|||
dbg: [join(__dirname, "src/log.ts"), "default"],
|
||||
Function: [join(__dirname, "src/snapshot.ts"), "Function"],
|
||||
}),
|
||||
process.env.OBFUSCATE === "true" && {
|
||||
apply(compiler) {
|
||||
compiler.hooks.compilation.tap("GyatPlugin", (compilation) => {
|
||||
compilation.hooks.processAssets.tap(
|
||||
{
|
||||
name: "GyatPlugin",
|
||||
stage: compilation.PROCESS_ASSETS_STAGE_OPTIMIZE,
|
||||
},
|
||||
(assets) => {
|
||||
for (const asset in assets) {
|
||||
// inject code
|
||||
compilation.updateAsset(asset, (source) => {
|
||||
return {
|
||||
source: () => {
|
||||
return obfuscate(source.source(), {
|
||||
compact: true,
|
||||
controlFlowFlattening: true,
|
||||
controlFlowFlatteningThreshold: 1,
|
||||
numbersToExpressions: true,
|
||||
simplify: true,
|
||||
deadCodeInjection: true,
|
||||
selfDefending: true,
|
||||
renameGlobals: true,
|
||||
transformObjectKeys: true,
|
||||
stringArrayShuffle: true,
|
||||
splitStrings: true,
|
||||
stringArrayThreshold: 1,
|
||||
domainLock: ["localhost", process.env.DOMAIN],
|
||||
}).getObfuscatedCode();
|
||||
},
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
},
|
||||
},
|
||||
// new RsdoctorRspackPlugin({
|
||||
// supports: {
|
||||
// parseBundle: true,
|
||||
// banner: true
|
||||
// }
|
||||
// })
|
||||
// supports: {
|
||||
// parseBundle: true,
|
||||
// banner: true,
|
||||
// },
|
||||
// }),
|
||||
],
|
||||
target: "webworker",
|
||||
});
|
||||
|
|
17
src/drm.ts
17
src/drm.ts
|
@ -1,17 +0,0 @@
|
|||
import { addListener, launch } from "devtools-detector";
|
||||
|
||||
function jail() {
|
||||
setInterval(() => {
|
||||
console.error("SCRAMJET ERROR");
|
||||
|
||||
debugger;
|
||||
}, 0);
|
||||
}
|
||||
|
||||
addListener((open) => open && jail());
|
||||
|
||||
if (!["http://localhost:1337"].includes(window.location.origin)) {
|
||||
jail();
|
||||
}
|
||||
|
||||
launch();
|
Loading…
Add table
Add a link
Reference in a new issue