UNPKG

@bytehide/webpack-shield

Version:

Webpack plugin for ByteHide Shield obfuscation.

95 lines (63 loc) 2.71 kB
# Bytehide Shield Bytehide Shield is a suite of tools designed to protect and obfuscate your JavaScript project code during the build process. Our goal is to provide robust and easy-to-integrate solutions to enhance the security and performance of your applications. --- ## Introduction Bytehide Shield improves the security of your applications through advanced code obfuscation, preventing reverse engineering and making tampering attempts more difficult. Each plugin is designed to integrate seamlessly with your development tools. --- ## Available Plugins ### Webpack #### Installation Install the Webpack plugin using npm or yarn: ```bash npm install @bytehide/webpack-shield --save-dev # or yarn add --dev @bytehide/webpack-shield ``` #### Usage Add the plugin to your Webpack configuration: ```javascript const ByteHideShieldPlugin = require('@bytehide/webpack-shield'); module.exports = { // ... previous configuration ... plugins: [ new ByteHideShieldPlugin({ projectToken: 'your_project_token_here', // Replace with your Bytehide project token replace: false, // Whether to replace original files obfuscatedExtension: '.obf', // Extension for obfuscated files exclude: [], // Array of files to exclude from obfuscation config: { controlFlowFlattening: true, debugProtection: false, devtoolsBlocking: false, }, include: ['.js', '.mjs', '.cjs', '.jsx'], // File extensions to process }), ], }; ``` #### Features - **Advanced Obfuscation**: Implements obfuscation techniques to protect your code. - **Custom Control**: Configure options like `controlFlowFlattening`, `debugProtection`, and `devtoolsBlocking`. - **Compatibility**: Processes `.js`, `.mjs`, `.cjs`, and `.jsx` files. #### Example Output If you have an `index.js` file with this content: ```javascript console.log("Hello, world!"); ``` The processed result will include a unique marker and the obfuscated code: ```javascript // _0xBHSHLD_<uniqueId>_marker console.log(_0x123456("Hello, world!")); ``` #### Common Errors - **Network Error**: Ensure you have an active internet connection as the plugin uses a remote service for code obfuscation. - **Invalid Token**: Verify that the project token is valid. --- ## Contributing Have ideas or suggestions? We’d love to hear from you! Open an issue or submit a pull request on the GitHub repository. --- ## License Bytehide Shield is available under the [MIT License](LICENSE). Feel free to use it for personal and commercial projects. --- Happy coding but keep it safe with `@bytehide/webpack-shield`! 🛡️