本帖最后由 云栈大前端 于 2026-1-7 18:03 编辑
做全栈时经常遇到这种小尴尬:同事问一句“这个站到底怎么部署的?证书有没有问题?重定向绕了几圈?”你一边开 DNS 查询、一边看证书、一边再去做技术栈识别……工具来回切,信息还不一定能对齐。
web-check 的思路很朴素:输入一个网站 URL,把常见的站点分析项集中到一个可视化面板里。它是一个用于分析任意网站的 OSINT 工具(开源情报/公开信息分析),适合上线前自查、排障,也适合做一点“竞品技术调研”。
1)它能做什么(按我会用到的场景说)
我更愿意把它当“网站体检台”用:
- 上线前快速扫一眼:域名、证书、基础安全相关信息是否明显异常
- 排障时少走弯路:比如重定向链路、站点可访问性相关信息能更集中地看到
- 技术调研:用技术栈识别能力先建立一个大概的技术画像,再决定要不要深入
如果你做的是团队内部系统,建议优先考虑自建,把数据边界握在自己手里。
2)技术栈与工程形态(大前端/全栈关心的点)
从仓库结构和依赖能看出来,它不是“只做前端展示”,而是完整的全栈形态:
- 前端用的是 Astro,并且项目配置支持 hybrid 输出
- 同时集成了 React(也集成了 Svelte,更像是按需混用)
- 后端是 Node.js + Express,接口统一挂在
/api
- 能力层面依赖了:
puppeteer / puppeteer-core:需要更接近真实浏览器行为时用
cheerio:做 HTML 解析
wappalyzer:识别网站技术栈
这套组合的好处很实际:轻量的抓取解析能跑得快,必要时也能切到无头浏览器把信息拿全。
3)我觉得最值得学的一点:API “目录即插件”
web-check 的后端有一个我很喜欢的设计:server.js 会扫描 api/ 目录下的 .js 文件,然后把它们自动注册成路由(大概是 /api/<name> 这种形式)。
这意味着什么?
你要加一个新检查项,不用去改一堆路由配置,直接加一个 handler 文件就行。 对团队协作很友好,也适合开源项目不断长大。
另外它还有一个聚合式入口(类似 /api?url=...),可以一次跑多个检查项,把结果打包返回。前端页面拿数据会更省事,少掉不少编排与状态管理。
4)一些“能长期跑”的细节
它在服务端做了 CORS、可选限流(rate-limit)和超时控制这类基础保护。
如果你打算把它部署成一个长期可用的公共服务或内部服务,这些细节非常关键,不然很容易被滥用或被慢请求拖垮。
在云栈社区里我也见过不少内部工具,最后能活下来的,往往就是这种“把边界条件考虑进去”的项目。
5)怎么开始(不绕)
- 想体验:直接看官网
web-check.xyz 先跑一遍流程
- 想使用:建议自建部署
git clone web-check...,再按团队需求扩展 api/ 里的 handler
- 想学习:云栈社区
https://yunpan.plus 上百T课程资源
结尾
web-check 不属于那种“看一眼就惊艳”的项目,但它很实用:把分散的网站分析工作收拢成一个面板,还留了一个很舒服的扩展口子(api/ 目录即插件)。
项目配套资源
- GitHub:
https://github.com/Lissy93/web-check
- 官方网站:
https://web-check.xyz
- 前端框架学习:
https://yunpan.plus/f/18
- Node.js学习:
https://yunpan.plus/f/58
关注《云栈大前端》,我会继续用全栈工程师的角度,挑那些真正能落地、能复用的开源项目讲清楚。你也可以来云栈社区一起整理工具链和项目清单,少踩坑,多省时间。
标签: #webCheck #Github #全栈开发 #Astro #NodeJS #工程化 #渗透测试
|