webpack-plugin-codefend
Webpack plugin for code obfuscation based on Codefend
Installation
npm install -D webpack-plugin-codefend
Usage
Step 1
: Configuration
Add to your webpack.config.js
:
Default options
import WebpackPluginCodefend from "webpack-plugin-codefend";
export default {
entry: ...
output: ...,
plugins: [new WebpackPluginCodefend()],
};
Custom options
import WebpackPluginCodefend from "webpack-plugin-codefend";
export default {
entry: ...
output: ...,
plugins: [
new WebpackPluginCodefend({
stats: true,
prefix: "Ox",
predefinedWords: [
{
originalWord: "predefined_secretword",
targetWord: "123456",
},
],
ignoredWords: ["node_modules"],
regexList: [
{
name: "main",
value: "([a-zA-Z]+(_[a-zA-Z0-9]+)+)",
flag: "g",
},
],
}),
],
};
Step 2
: Naming convention
In your code, add prefixes to the words that you want Codefend to encrypt.
Make sure to read the
Philosophy
behind Codefend obfuscation First to understand why Codefend can work with any code written in any language.
class l_Calculator {
l_sum(l_a, l_b) {
const l_results = l_a + l_b;
return l_results;
}
}
class Ox0 {
Ox1(Ox2, Ox3) {
const Ox4 = Ox2 + Ox3;
return Ox4;
}
}
<html>
<head>
<style>
.l_red {
color: red;
}
</style>
</head>
<body>
<div class="l_red">l_secret</div>
<div class="l_red">Hello World</div>
</body>
</html>
<html>
<head>
<style>
.Ox1 {
color: red;
}
</style>
</head>
<body>
<div class="Ox1">Ox0</div>
<div class="Ox1">Hello World</div>
</body>
</html>
Examples
-
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
MIT