Skip to content

内部模块总览

🗺️ snir 内部代码架构全景。

本文是各 pkg/* 模块的导航地图,每个模块都有独立详解页。

📁 源码目录:pkg/

模块依赖

一次 SDK 调用穿越各层的典型时序:

模块速查

模块源码职责详解
pkg/runnerrunner/浏览器驱动、池、截图、证据
pkg/scanscan/批量编排、目标展开
pkg/sdksdk/Go SDK
pkg/apiapi/HTTP API
pkg/modelsmodels/数据模型
pkg/phashphash/感知哈希
pkg/techdetecttechdetect/技术检测
pkg/databasedatabase/SQLite 持久化
pkg/reportreport/报告/转换/合并
pkg/loglog/日志门面
pkg/islazyislazy/工具函数
pkg/asciiascii/终端艺术

分层

┌─────────────────────────────────────────┐
│  接入层:cmd(CLI) / pkg/api(HTTP)        │
├─────────────────────────────────────────┤
│  编排层:pkg/sdk / pkg/scan              │
├─────────────────────────────────────────┤
│  执行层:pkg/runner (Driver/Pool/Writer) │
├─────────────────────────────────────────┤
│  能力层:pkg/phash / pkg/techdetect      │
│         pkg/database / pkg/report        │
├─────────────────────────────────────────┤
│  基础层:pkg/models / pkg/log            │
│         pkg/islazy / pkg/ascii           │
└─────────────────────────────────────────┘

入口

下一步

基于 MIT 许可发布