rollup-plugin-codefend
Rollup plugin for code obfuscation based on Codefend
Installation
npm install -D rollup-plugin-codefend
Usage
Step 1
: Configuration
Add to your rollup.config.js
:
Default options
import { codefend } from "rollup-plugin-codefend";
export default {
input:...,
output: ...,
plugins: [codefend()],
};
Custom options
import { codefend } from "rollup-plugin-codefend";
export default {
input: ...,
output: ...,
plugins: [
codefend({
transformation:{
prefix: "Ox",
static: [
{
from: "predefined_secret",
to: "123456",
},
],
ignore: ["node_modules"],
pool: ["QueenOfHeart"],
},
debug: {
stats: true,
},
}),
],
};
For a more detailed explanation, refer to the configuration section of the codefend
docs.
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;
console.log("node_modules");
console.log("predefined_secret");
return l_results;
}
}
class QueenOfHeart {
Ox1(Ox2, Ox3) {
const Ox4 = Ox2 + Ox3;
console.log("node_modules");
console.log("123456");
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