@ravindu01manoj/obfuscator
v3.0.2
Published
Javascript obfuscator
Downloads
12
Maintainers
Readme
Javascript Project Obfuscator
Contents
About
Obfuscate All JavaScript Files In One Click
Getting Started
Install The Package Using yarn Or npm
Installing
npm i @ravindu01manoj/obfuscator
## or
yarn add @ravindu01manoj/obfuscatorUsage
const { obfuscate, BEST_NODE_HIGH_PERFORMANCE_CONFIG } = require('@ravindu01manoj/obfuscator')
const Source_Folder = '/example/folder/'
const Store_Folder = '/example/obstore/'
const Bin_Path = '/example/.bin/' // its helps to ob only changed files
const Comment = {
top: 'Javascript Project Obfuscator \n Coded By Ravindu Manoj\n\nModified File : #filename#\nModified Date : #date#\nModified Time : #time#',
bottom: 'Powered By https://www.npmjs.com/package/@ravindu01manoj/obfuscator',
dont_set : false,
timeZone : 'Asia/Colombo', // Time Zone For #time# && #date#
deactive : false //set value as true to deactive comments
}
// keywords == #filename# && #date# && #time#
function obfuscateFolder() {
console.log('starting...')
obfuscate(Source_Folder, Store_Folder, BEST_NODE_HIGH_PERFORMANCE_CONFIG, Comment, Bin_Path)
console.log(Source_Folder + ' Folder Successful Obfuscated To ' + Store_Folder)
}
obfuscateFolder()
Obfuscate Configs
You Can Use
const {
BEST_NODE_HIGH_PERFORMANCE_CONFIG,
HIGH_OB_LOW_PERFORMANCE_CONFIG,
MEDIUM_OB_OPTIMAL_PERFORMANCE_CONFIG,
LOW_OB_HIGH_PERFORMANCE_CONFIG,
DEFAULT_PRESET_HIGH_PERFORMANCE_CONFIG
} = require('@ravindu01manoj/obfuscator')
or
const config = {
compact: true,
controlFlowFlattening: true,
controlFlowFlatteningThreshold: 0.75,
deadCodeInjection: true,
deadCodeInjectionThreshold: 0.4,
debugProtection: false,
debugProtectionInterval: 0,
disableConsoleOutput: false,
domainLock: [],
domainLockRedirectUrl: 'about:blank',
forceTransformStrings: [],
identifierNamesCache: null,
identifierNamesGenerator: 'hexadecimal',
identifiersDictionary: [],
identifiersPrefix: '',
ignoreRequireImports: false,
inputFileName: '',
log: false,
numbersToExpressions: true,
optionsPreset: 'default',
renameGlobals: false,
renameProperties: false,
renamePropertiesMode: 'safe',
reservedNames: [],
reservedStrings: [],
seed: 0,
selfDefending: false,
simplify: true,
sourceMap: false,
sourceMapBaseUrl: '',
sourceMapFileName: '',
sourceMapMode: 'separate',
sourceMapSourcesMode: 'sources-content',
splitStrings: true,
splitStringsChunkLength: 10,
stringArray: true,
stringArrayCallsTransform: true,
stringArrayCallsTransformThreshold: 0.5,
stringArrayEncoding: [],
stringArrayIndexesType: [
'hexadecimal-number'
],
stringArrayIndexShift: true,
stringArrayRotate: true,
stringArrayShuffle: true,
stringArrayWrappersCount: 1,
stringArrayWrappersChainedCalls: true,
stringArrayWrappersParametersMaxCount: 2,
stringArrayWrappersType: 'variable',
stringArrayThreshold: 0.75,
target: 'node',
transformObjectKeys: true,
unicodeEscapeSequence: true
}
