Landver/site-of-tools

GitHub: Landver/site-of-tools

一个基于 Go 的轻量级开源工具集,主打透明展示 68 个信号的浏览器 Bot 检测自测工具,并附带 IP 查询等网络实用功能。

Stars: 0 | Forks: 0

# corpberry.com — site-of-tools [![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](LICENSE) [![Go 1.26](https://img.shields.io/badge/Go-1.26-00ADD8?logo=go&logoColor=white)](go.mod) 我的个人网站加上一系列不断扩充的、自主开发的小工具集合,全部 由**单一 Go 二进制文件**提供服务,并基于子域名进行路由:使用 htmx 和 Alpine 的服务端渲染 HTML,零 Node 依赖,且 每个 endpoint 同时也是 JSON API。全部开源。 **已上线:** - 🤖 **[Bot 检测](https://botcheck.corpberry.com)** — 实时、透明地评估你的浏览器看起来更像真人还是自动化程序:将客户端指纹与服务器 headers + IP 信誉度进行交叉核对融合,并展示全部 68 个信号。*(旗舰功能)* - 🌍 **[IP 工具](https://ip.corpberry.com)** — IP 地理位置 / ASN / 代理-VPN 查询,一个“你的连接”检查器,以及一个子网/CIDR 计算器。 - 🏠 **[corpberry.com](https://corpberry.com)** — 个人作品集 + 工具索引。 - ✍️ **[博客](https://corpberry.com/blog)** — 不定期分享技术文章([Atom feed](https://corpberry.com/blog/feed.xml));最新发布文章:逆向工程 12 款商业 Bot 检测器。

Bot check scoring a browser in real time, with a per-signal breakdown

## Bot 检测 — 旗舰功能 一个免费、开源的 Bot 检测**自测**工具(而非 WAF:它不会进行任何拦截)。 打开页面,它会给你的浏览器打出 0–100 的分数,评估其看起来更像真人操作还是 自动化程序,并给出判定结论(human / suspicious / bot,或针对已验证 爬虫的 *good-bot*)以及透明、细致到每个信号的分析。其核心理念是: 任何浏览器都可以*自称*是 Windows 上的 Chrome,因此该工具会将这一声明 与服务器实际接收到的 HTTP headers 和 IP 信誉度(数据中心 / VPN / 代理 / Tor) 进行交叉验证,并展示出它们不一致的地方。已通过真实的 Puppeteer、Playwright 和 puppeteer-extra-stealth 测试。 ``` curl https://botcheck.corpberry.com -H "Accept: application/json" ``` 关于 12 款商业检测器的更多细节与第一手研究资料,请见 [tools/botcheck/docs/](tools/botcheck/docs/README.md)。 ## 技术栈 Go 1.26 · Echo v5 · `html/template` · htmx · Alpine.js · Tailwind (standalone CLI, 无 npm) · MongoDB (IP 工具查询历史 + 请求日志语料库;可选 — 留空 `MONGODB_URI` 即可禁用,应用将以无状态模式运行) · Docker (distroless)。 服务端渲染 HTML,使用 htmx 处理交互细节;每个 endpoint 同时也为 CLI/API 调用者返回 JSON。 ## 快速开始 (开发环境) 请先安装 **Go 1.26+** (系统级安装,仅需一次): ``` sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.26.5.linux-arm64.tar.gz echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc ``` 接着执行: ``` git clone git@github.com:Landver/site-of-tools.git cd site-of-tools cp .env.example .env # set IP2LOCATION_DOWNLOAD_TOKEN (for `make assets`); MONGODB_URI optional (empty disables Mongo) make deps # go mod tidy (writes go.sum) make tools # Tailwind binary + air + enable git hooks make assets # download the IP2Location LITE .BIN databases make css # build shared/static/css/styles.css make css-watch & # rebuild CSS on edits make dev # air: live-reload the server (APP_ENV=dev) ``` 打开 **http://ip.localhost:8080** + **http://localhost:8080** (`*.localhost` 会自动路由至 127.0.0.1,子域名路由在本地即可正常工作)。 CLI/JSON 调用方式: ``` curl 'http://ip.localhost:8080/?ip=8.8.8.8' ``` ## 测试 ``` make test # go test ./... -race ``` Pre-push git hook (`make hooks`,也可通过 `make tools` 运行) 会执行 `go vet` + `go test`,若失败将阻止 push。 ## 生产环境 在同一台主机上,通过 Cloudflare 和背后的 nginx 运行 Docker。 ``` git pull docker compose up -d --build ``` nginx 拦截规则位于 [deploy/nginx/](deploy/nginx/);完整步骤请见 [docs/DEPLOYMENT.md](docs/DEPLOYMENT.md)。 ## 文档 - [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — 设计:host 路由、请求 分层、内容协商、嵌入(embedding)、配置、测试及添加新工具 - [docs/DEPLOYMENT.md](docs/DEPLOYMENT.md) — Cloudflare → nginx → Docker,端口,IP 信任配置 - [tools/iptools/](tools/iptools/docs/README.md) — IP 工具 - [tools/botcheck/](tools/botcheck/docs/README.md) — Bot 检测工具 (文档按主题拆分: RESEARCH.md, roadmap/, testing/, reports/) - [CLAUDE.md](CLAUDE.md) — 面向所有在此处进行开发的人员 (包含 AI) 的规范 ## 目录结构 ``` main.go entrypoint (single binary) platform/ shared engine: config · app factory · renderer + negotiation · mongo client shared/ shared front-end: base partials + htmx/alpine/tailwind css site/ apex project (corpberry.com): landing + tools index + blog (posts/ markdown) tools/ self-contained tool subdomains (code + docs co-located): iptools/ IP tools: code · templates · assets (.BIN) · README botcheck/ Bot check: code · templates · README · RESEARCH · roadmap/ · testing/ · reports/ deploy/nginx/ reverse-proxy server blocks docs/ architecture & deployment ``` ## 致谢 IP 工具 (`ip.corpberry.com`) 使用 IP2Location LITE 数据库进行 [IP 地理位置查询](https://lite.ip2location.com)。IP2Location 的 LITE 许可证 要求的具体致谢内容,已展示在使用了该数据的专属工具页面上 — 只有那些使用了数据的页面才包含(主站首页未使用,因此省略了版权声明)。
标签:Bot检测, EVTX分析, Go, htmx, IP查询工具, Ruby工具, 日志审计, 浏览器指纹, 请求拦截