# 😈 dsh-verification-meme > 🌐 [English](./README.md) | 中文 恶趣味「安全验证」DSH 插件:拦截 Harness 网页界面上的按钮点击(包括切换工作区/视图), 必须完成一个随机「安全验证」才会放行。包含 7 种验证方式、整蛊控制台、管理员免验证、 设置按钮逃跑、失败封禁等整蛊玩法。 > 纯客户端插件:全部逻辑跑在浏览器端,**20 张内置图库照片与答案在构建时内嵌进 > `lib/client.js`(base64)**,运行时/安装时不依赖任何外部图片文件; > 配置持久化在浏览器 localStorage;宿主半为空入口,不发布任何服务。 > **界面语言自动跟随 Harness 的语言设置**(设置里选中文显示中文整蛊 UI,选英文显示英文;未设置时跟随浏览器),也可在控制台「🌐 界面语言」里手动锁定。 ## 预览 | 截图 1 | 截图 2 | | --- | --- | | ![截图 1](./preview/preview.png) | ![截图 2](./preview/preview1.png) | | 截图 3 | 截图 4 | | --- | --- | | ![截图 3](./preview/preview2.png) | ![截图 4](./preview/preview3.png) | ## 仓库结构 ``` . ├── package.json # 包名 dsh-verification-meme(无作用域,避开官方 @deepseek-ai/* 注入冲突) ├── cordis.patch.yml # bundle patch:声明挂载行(dsh.bundle.patch 自动应用) ├── lib/ │ ├── index.js # 宿主半(空入口,保证组合行可挂载) │ ├── client.js # 客户端半(构建产物,含内嵌照片数据) │ ├── client.template.js # 客户端源码模板(含 __PHOTOS_JSON__ 占位) │ ├── modal.css.txt # 弹窗样式(构建时内联) │ └── panel.css.txt # 控制台面板样式(构建时内联) ├── photo/ # 构建原料:20 张 400×400 照片(1.jpg ~ 20.jpg) ├── test.txt # 构建原料:九宫格答案(格式见文件头注释) ├── tools/build.ps1 # 重建脚本 ├── preview/ # README 用的截图 ├── README.md # 英文文档 └── README.zh.md # 中文文档(本文件) ``` > 其余目录(api/、config-ui/、dsh-plugin/、harness/、userscript/)是早期开发过程的 > 历史备份,插件运行与安装不依赖它们,推 GitHub 前可自行删除。 ## 安装 ```bash # 方式一:从 GitHub 仓库安装(市场会用 codeload 下载整个仓库 tarball) dsh plugin --profile web add github:<你的用户名>/dsh-verification-meme # 方式二:本地目录安装 dsh plugin --profile web add link:C:/path/to/dsh-verification-meme # 方式三:发布到 npm 后按包名安装 dsh plugin --profile web add dsh-verification-meme ``` 安装后重启 DSH(或等待下次启动),打开「设置」→「😈 安全验证」即可看到整蛊控制台。 插件默认 `enabled: true`、`mode: chaos`(丧心病狂全量拦截), 建议先点「👑 免验证 15 分钟」再改配置。 ## 照片与答案(test.txt) **运行时不需要下载任何图片或 txt**——它们全部内嵌在 `lib/client.js` 里。 `photo/` 和 `test.txt` 只是**重新构建的原料**: 1. 替换 `photo/1.jpg ~ 20.jpg`,编辑 `test.txt`(每张图三行:`(序号)`、正确格子数字串、识别物品;`0` = 无正确答案); 2. 在仓库根目录执行 `pwsh tools\build.ps1`,重新生成 `lib/client.js`; 3. 重新安装(或覆盖 web profile 中 `node_modules\dsh-verification-meme\lib\client.js`)并重启。 ## 配置说明 | 配置 | 默认 | 说明 | | --- | --- | --- | | 总开关 | 开 | 关闭后不再拦截 | | 触发模式 | chaos | chaos/every_click = 全量;specific_actions = 名单;new_topic_only = 仅新建话题 | | 验证方式 | 全部 7 种 | 确认 / 验证码 / 人类鉴定 / 风景滑块 / 拼图滑块 / 九宫格图库 / 动物九宫格 | | 管理员免验证 | 关 | 开启后 5/15/30 分钟内放行 | | 重试上限 | 3 | 超过判定为机器人 | | 设置按钮逃跑 | 开 | 总开关/触发模式控件连逃 3 次才老实 | | 失败封禁 | 关 | 失败 N 次封 N 秒 | | 界面语言 | 跟随 Harness | auto / 中文 / English,弹窗与控制台全文案双语 | ## 发布到 GitHub / npm - **GitHub**:直接推送本仓库;用户用 `dsh plugin --profile web add github:owner/repo` 安装。 `dsh.bundle.patch`(package.json 中的声明)会在下次启动自动提供挂载行, 无需用户手动改 `cordis.patch.yml`。 - **npm**:`npm publish`(注意 `files` 字段只发布 `lib/`、`cordis.patch.yml`、`README.md`, 照片原料 photo/ 与 test.txt 不会进入 npm 包)。