Skip to content

Result Schema

📋 `pkg/models/models.go` — 采集结果数据契约。

Result 是 snir 一切采集的顶层结构,序列化为 JSONL/CSV、持久化到 SQLite、喂给报告生成。

📁 源码:pkg/models/models.go

顶层结构

符号源码说明
RequestTypeL14请求类型枚举
ResultL22顶层结果
EnrichEndpointL117端点归一化
DefaultPortForSchemeL124协议默认端口

Result 字段一览

字段类型说明
PathL23string截图存储路径
IDL24uint主键
URLL26string原始目标
SchemaVersionL27stringschema 版本
Scheme/Host/Port/EndpointL28-31归一化端点
ProbedAtL32time采集时间
FinalURLL33string跳转后 URL
ResponseCode/ReasonL34-35状态码/原因
ProtocolL36stringHTTP 协议版本
ContentLengthL37int64内容长度
HTMLL38string页面 HTML
TitleL39string标题
PerceptionHashL40stringpHash
PerceptionHashGroupIdL41uintpHash 分组
ScreenshotL42string截图路径/引用
ScreenshotBytesL43[]byte截图字节(不持久化)
FilenameL46string文件名
IsPDFL47bool是否 PDF
Failed/FailedReasonL50-51失败标记

关联(一对多)

字段类型说明
TLSL53TLS证书信息
TechnologiesL54[]Technology技术栈
HeadersL56[]Header响应头
NetworkL57[]NetworkLog网络日志
ConsoleL58[]ConsoleLogConsole 日志
CookiesL59[]CookieCookies

ER 图

EnrichEndpoint 流程

EnrichEndpoint 把原始 URL 拆解为 Scheme/Host/Port/Endpoint

序列化约定

  • ScreenshotBytesjson:"-" 不进 JSON,避免大块 base64
  • GORM 索引:html/title/perception_hash 便于查询
  • 关联 OnDelete:CASCADE:删 Result 连带删子记录

子结构

详见 字段字典

下一步

基于 MIT 许可发布