🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

@bytehide/next-shield

Package Overview
Dependencies
Maintainers
0
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bytehide/next-shield

Next.js plugin for ByteHide Shield obfuscation.

1.1.0
latest
npm
Version published
Weekly downloads
122
106.78%
Maintainers
0
Weekly downloads
 
Created
Source

@bytehide/next-shield for Next.js

@bytehide/next-shield is a powerful plugin for Next.js projects that enables JavaScript obfuscation to enhance the security of your codebase. This plugin integrates seamlessly with your Next.js build process to obfuscate sensitive files, protecting your intellectual property.

Features

  • Code Obfuscation: Protect your JavaScript code from reverse engineering.
  • Customizable Options: Configure obfuscation settings to suit your needs.
  • File Exclusion: Exclude specific files from obfuscation.
  • Seamless Integration: Easily integrate with your Next.js project.

Installation

Install the plugin using npm or yarn:

npm install @bytehide/next-shield --save-dev

Usage

Basic Setup

To use the @bytehide/next-shield, create a custom next.config.js file and configure the plugin:

const { createShield } = require('@bytehide/next-shield');

const nextConfig: NextConfig = {
    /* Config options here */
    // reactStrictMode: true,
    // distDir: 'build',
};

const shieldConfig = createShield({
  projectToken: 'your-project-token', // Required: Your ByteHide project token
  replace: true,                      // Optional: Replace original files
  controlFlowFlattening: true,        // Optional: Enable control flow flattening
  debugProtection: false,             // Optional: Enable debug protection
  devtoolsBlocking: false,            // Optional: Enable devtools blocking
  exclude: ['_document.js'],          // Optional: Exclude specific files
}, nextConfig);

module.exports = shieldConfig;

Shield Configuration Options

OptionTypeDefaultDescription
projectTokenstringRequiredToken provided by ByteHide for obfuscation.
replacebooleanfalseWhether to replace original files with obfuscated versions.
obfuscatedExtensionstring.obfFile extension for obfuscated files.
controlFlowFlatteningbooleantrueEnhance obfuscation by flattening control flow in the code.
debugProtectionbooleanfalsePrevent debugging tools from analyzing your code.
devtoolsBlockingbooleanfalseBlock browser developer tools.
excludestring[][]List of filenames to exclude from obfuscation.

How It Works

  • During the Next.js build process, the plugin scans for JavaScript files in the build directory (.next/ by default).
  • Excludes system and user-defined files.
  • Sends the content of each file to the ByteHide obfuscation service.
  • Saves the obfuscated code in the output directory.

Example

Here’s how an obfuscated file is generated:

  • Input: pages/index.js
  • Output: pages/index.obf.js (if replace is false) or replaces the original file.

Limitations

  • Requires a valid ByteHide project token.
  • Obfuscation might slightly increase build time.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Happy coding but keep it safe with @bytehide/next-shield! 🛡️

Keywords

security

FAQs

Package last updated on 17 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts