unmask-sh/unmask
GitHub: unmask-sh/unmask
unmask 是一款自托管的 bot 管理网关,通过 JA4 TLS 指纹与行为检测区分合法搜索爬虫和恶意抓取器,保护 Web 服务器免受自动化工具侵扰。
Stars: 0 | Forks: 0
# 取消掩码
网站:**https://unmask.sh/**
[](https://github.com/unmask-sh/unmask/actions/workflows/ci.yml)
[](LICENSE)
[](#状态)
[](https://go.dev/)
[](https://unmask.sh/install/)
**unmask** 是一个自托管的 bot 管理网关,适用于 nginx 和 Apache。
它结合了 JA4 TLS 指纹识别与行为检测,以区分合法的搜索 / AI 爬虫与伪装的抓取器,
默认采取保护搜索 bot 的策略。
## 功能
- **两阶段搜索 bot 保护** — UA 列表 + 官方 IP 范围双重检查。旨在不干扰 Googlebot / GPTBot / ClaudeBot。
- **JA4 指纹** — 从 TLS 握手中计算得出。通过其 UA 伪装识破无头 Chromium / Puppeteer / Playwright。
- **行为 CAPTCHA** — 基于 mouseTrail / scroll / window-size 的 5 轴评分。比单纯的复选框或 PoW 更难破解。
- **社区封禁** — 跨安装实例共享的匿名 BAN feed。结合启发式判断 + AI 裁判的 5 级置信度评分。默认开启拉取共享列表(仅强制执行 CAPTCHA,因此即使误判,人类用户依然可以正常通过;关闭 `subscribe_mode` 即可断开连接);提交自己的报告是可选的(默认会标记国家/地区 — 可在设置中选择退出)。设计上符合 GDPR(= 每日加盐的 IP 哈希,30 天清理,从不存储原始 IP)。
- **内置管理 UI** — dashboard / hunt / abuse signals / 设置。采用 bcrypt + cookie session + CSRF + 基于单 IP 的登录速率限制。
- **两种部署模式** — 原生 nginx 动态模块(cookie 处理后约 0.05 毫秒)或附带 Apache 示例的 forward-auth 后备方案(检查端点使用标准的 forward-auth 协议,因此任何 HTTP 服务器都可以采用相同的方式接入)。
- **Web Bot Auth + Privacy Pass(可选开启)** — RFC 9421 HTTP 消息签名(ed25519 / RSA-PSS)以及 Privacy Pass / Apple PAT(RFC 9577/9578)。经过签名的 AI agent(Anthropic / OpenAI 等)和经过认证的客户端可以直接通过,无需接受验证。由于相关生态系统目前规模尚小,该功能默认在 Advanced 开关后处于关闭状态。
## 安装
官方安装指南:**https://unmask.sh/install/**
提供 rpm / deb / apk 软件包、针对各 HTTP server 的代码片段,以及安装向导 — 逐步指导。
## 文档
官方文档:**https://unmask.sh/docs/**
模式选择(原生 / forward-auth)、通过负载均衡器处理 JA4、针对各服务器的配置示例以及常见问题解答(FAQ)。
## 状态
**预发布版本 (v0.1)** — 软件包(x86_64 + arm64)、安装向导以及对各 HTTP server 的支持均已完成。
安全报告(参见 [SECURITY.md](SECURITY.md))将获得优先响应。
Bug 报告、文档修复和 PR 会得到定期审核。
## 许可证
Apache 2.0。详见 [LICENSE](LICENSE) / [NOTICE](NOTICE)。
标签:EVTX分析, Go语言, JA4指纹, Nginx, Web运维, 日志审计, 机器人管理, 流量反爬, 程序破解, 行为验证码