Greasy Fork

Greasy Fork is available in English.

反 devtools-detector (1.0 物理隔离版)

不重写关键 API,通过控制台静默绕过检测

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
golyu
日安装量
1
总安装量
11
评分
0 0 0
版本
1.0
创建于
2026-03-18
更新于
2026-03-18
大小
1.9 KB
许可证
暂无
适用于
所有网站

# fuck-devtools-detector

一个强大的 Tampermonkey 油猴脚本,用于绕过网站对开发者工具(DevTools)的检测。

## 功能特性

- 🎯 **多策略检测绕过**:采用多种策略应对不同的检测手段
- 🔇 **控制台静默**:屏蔽 console 输出,防止通过 getter 探测
- 📏 **窗口尺寸伪造**:伪造 outerWidth/outerHeight 应对尺寸检测
- 📝 **正则检测拦截**:针对 aepkill 等库的正则耗时检测进行优化
- ⚡ **零侵入性**:不重写关键 API,保持页面原始功能完整

## 安装方法

### 前置要求

1. 安装浏览器扩展 [Tampermonkey](https://www.tampermonkey.net/)
- 支持 Chrome、Firefox、Edge、Safari 等主流浏览器

2. 创建新脚本
- 点击 Tampermonkey 图标 → "添加新脚本"
- 将 `1.js` 中的代码复制粘贴到编辑器中
- 将 `// @match *://*/*` 改为你要屏蔽的域名,例如`blog.aepkill.com`,改为 `// @match *://blog.aepkill.com/*`
- 保存即可自动启用

## 使用说明

### 自动生效

脚本会在所有网页(`*://*/*`)自动运行,无需手动操作。

### 查看控制台日志

由于脚本默认禁用了 console.log 以绕过检测,如需查看页面日志,可在控制台执行:

```javascript
window.showLog()
```

⚠️ **注意**:执行此命令后,检测库可能会发现你开启了开发者工具!

## 技术原理

### 策略 A: 控制台屏蔽

通过将所有 console 方法替换为空函数,阻止控制台渲染传入的对象,从而避免触发探测用的 getter。

```javascript
const methods = ['log', 'warn', 'debug', 'info', 'error', 'table', 'dir', 'trace', 'group', 'groupCollapsed', 'groupEnd'];
methods.forEach(m => {
console[m] = () => {};
});
```

### 策略 B: 窗口尺寸伪造

很多检测库通过 `outerWidth - innerWidth` 的差值来判断是否打开了开发者工具。本脚本将 outer 系列属性映射到 inner 值,消除差值。

```javascript
Object.defineProperties(window, {
'outerWidth': { get: () => window.innerWidth },
'outerHeight': { get: () => window.innerHeight }
});
```

### 策略 C: 正则检测拦截

针对 aepkill 等库使用的正则表达式耗时检测,直接拦截超长字符串的探测请求。

```javascript
RegExp.prototype.test = function(str) {
if (str && str.length > 500) return false;
return originalTest.apply(this, arguments);
};
```

### 策略 D: 日志恢复开关

提供 `window.showLog()` 函数,可在需要时恢复真实的控制台功能。

## 注意事项

- ⚠️ 本脚本仅用于学习和研究目的
- ⚠️ 在某些场景下使用可能违反网站服务条款
- ⚠️ 请勿用于非法用途

## 版本历史

- **v1.0** - 初始版本,实现基础的反检测功能
- 控制台静默
- 窗口尺寸伪造
- 正则检测拦截
- 日志恢复开关

## 许可证

本项目未指定许可证,保留所有权利。

## 贡献

欢迎提交 Issue 和 Pull Request!

---

**提示**: 如需深入了解脚本工作原理,可使用 `/explain` 指令查看详细代码解析。