detect-browser-devtools
v0.0.2
Published
detect-browser-devtools.
Downloads
10
Maintainers
Readme
detectBrowserDevtoolsjs
A JavaScript anti-debugging library for detecting whether browser developer tools are open.
Features
- Multiple detector types supporting DOM hijacking, window size detection, toString call counting, debugger statements, performance differences, and more.
- Customizable configuration with flexible enable/disable options for various protection measures.
- Disable common debugging entry points including right-click menu, keyboard shortcuts, copy/cut/paste, text selection, etc.
- Customizable callback when debugging behavior is detected.
Installation & Usage
1. Installation
Install via npm (if publishing as npm package):
npm install devtools-detectOr directly include the bundled JS file:
<script src="dist/bundle.umd.js"></script>2. Import & Initialize
ESM/TypeScript:
import { initDetectDevtools } from 'devtools-detect';
initDetectDevtools({
interval: 1000,
callback: () => {
alert('Developer tools detected!');
}
});Browser Global:
<script src="dist/bundle.umd.js"></script>
<script>
devtoolsDetect.initDetectDevtools({
callback: function() {
alert('Developer tools detected!');
}
});
</script>Configuration Parameters
| Parameter | Type | Default | Description | |--------------------------------|------------------|------------|--------------------------------| | interval | number | 500 | Detection interval (ms) | | disableMenu | boolean | true | Disable right-click menu | | clearIntervalWhenDevOpenTrigger| boolean | false | Stop detection after trigger | | detectors | number[]/"all" | [1,3,4,5,6,7] | Enabled detector types | | clearLog | boolean | true | Clear console logs periodically| | disableSelect | boolean | false | Disable text selection | | disableCopy | boolean | false | Disable copy functionality | | disableCut | boolean | false | Disable cut functionality | | disablePaste | boolean | false | Disable paste functionality | | performanceCount | number | 2 | Performance detection threshold | | callback | Function | () => {} | Callback when debugging detected|
Detector Types
| Type Name | Enum Value | Description | |------------------|------------|--------------------------------| | RegToString | 0 | RegExp toString detector | | DefineId | 1 | DOM property hijacking detector| | Size | 2 | Window size difference detector| | DateToString | 3 | Date.toString call count detector| | FuncToString | 4 | Function.toString call count detector| | Debugger | 5 | Debugger statement timing detector| | Performance | 6 | Performance difference detector| | DebugLib | 7 | Debug library detector (reserved)|
Build
Build using rollup:
npm run buildSee rollup.config.js for build configuration. Outputs support UMD, ESM, and CJS formats.
许可证
MIT
