Documentation
¶
Overview ¶
默认(无 desktop 标签)构建下的占位入口,使 `go build` 在无 webview 依赖的环境中也能通过。真正的桌面程序请用 `-tags desktop` 构建。
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
sniffy
command
|
|
|
sniffy-desktop
command
默认(无 desktop 标签)构建下的占位入口,使 `go build ./...` 在无 webview 依赖的环境中也能通过。
|
默认(无 desktop 标签)构建下的占位入口,使 `go build ./...` 在无 webview 依赖的环境中也能通过。 |
|
examples
|
|
|
native_plugin
Package nativeexample 是一个 Go 原生(编译进二进制)插件的参考实现。
|
Package nativeexample 是一个 Go 原生(编译进二进制)插件的参考实现。 |
|
process_detection
command
|
|
|
internal
|
|
|
api
Package api 是 headless(无界面服务器)transport:对外提供 HTTP REST API 与 gorilla/websocket 实时推送,全部委托给 internal/service。
|
Package api 是 headless(无界面服务器)transport:对外提供 HTTP REST API 与 gorilla/websocket 实时推送,全部委托给 internal/service。 |
|
app
Package app 把引擎、服务、插件管道装配在一起,供 headless 与桌面两种入口复用。
|
Package app 把引擎、服务、插件管道装配在一起,供 headless 与桌面两种入口复用。 |
|
bodycache
Package bodycache 管理「大体积响应体」的落盘副本。
|
Package bodycache 管理「大体积响应体」的落盘副本。 |
|
core
Package core 是抓包引擎层:它只负责监听 / 协议处理 / TLS MITM / 运行插件管道, 并通过 EventBus 向上层广播事件。
|
Package core 是抓包引擎层:它只负责监听 / 协议处理 / TLS MITM / 运行插件管道, 并通过 EventBus 向上层广播事件。 |
|
desktop
Package desktop 是桌面(Wails v3)transport:把 internal/service 的领域方法 作为 Wails Service 绑定给前端 JS 调用(Call.ByName),并用 Wails 事件做实时推送。
|
Package desktop 是桌面(Wails v3)transport:把 internal/service 的领域方法 作为 Wails Service 绑定给前端 JS 调用(Call.ByName),并用 Wails 事件做实时推送。 |
|
flow
Package flow 定义贯穿整个系统的统一流量契约 Flow。
|
Package flow 定义贯穿整个系统的统一流量契约 Flow。 |
|
forward
Package forward 提供「无侵入」的 HTTP/1.x 保真转发。
|
Package forward 提供「无侵入」的 HTTP/1.x 保真转发。 |
|
netinfo
Package netinfo 探测本机可用于被同网段设备访问的内网 IPv4 地址。
|
Package netinfo 探测本机可用于被同网段设备访问的内网 IPv4 地址。 |
|
pipeline
Package pipeline 负责在一个 flow.Flow 上编排所有插件,并真正应用其返回的 flow.Decision(continue / mock / abort / breakpoint)。
|
Package pipeline 负责在一个 flow.Flow 上编排所有插件,并真正应用其返回的 flow.Decision(continue / mock / abort / breakpoint)。 |
|
platform
Package platform 收敛与操作系统相关的细节(配置/数据目录、证书安装等)。
|
Package platform 收敛与操作系统相关的细节(配置/数据目录、证书安装等)。 |
|
plugin
Package plugin 实现两层插件系统(项目核心差异化卖点):
|
Package plugin 实现两层插件系统(项目核心差异化卖点): |
|
plugin/js
Package js 用 goja 实现可由用户编写的 JavaScript 插件层。
|
Package js 用 goja 实现可由用户编写的 JavaScript 插件层。 |
|
plugin/native
Package native 是 Go 原生(编译进二进制)插件的注册表。
|
Package native 是 Go 原生(编译进二进制)插件的注册表。 |
|
procinfo
Package procinfo 把抓到的连接异步解析成进程信息(名/PID/路径/图标), 供 HTTP / WebSocket 处理器在不阻塞热路径的前提下补全 flow 的进程信息。
|
Package procinfo 把抓到的连接异步解析成进程信息(名/PID/路径/图标), 供 HTTP / WebSocket 处理器在不阻塞热路径的前提下补全 flow 的进程信息。 |
|
rules
Package rules 把 service 中持久化的重写规则(InterceptRule)转成 pipeline 钩子, 在请求/响应阶段真正应用到流量上——这是"规则被存下来却不生效"链路的补全。
|
Package rules 把 service 中持久化的重写规则(InterceptRule)转成 pipeline 钩子, 在请求/响应阶段真正应用到流量上——这是"规则被存下来却不生效"链路的补全。 |
|
service
Package service 是整个应用的唯一真相源(single source of truth): 会话存储、统计、拦截规则、录制状态、配置、证书、插件管理与断点。
|
Package service 是整个应用的唯一真相源(single source of truth): 会话存储、统计、拦截规则、录制状态、配置、证书、插件管理与断点。 |
|
sysproxy
Package sysproxy 控制操作系统级的 HTTP/HTTPS 代理设置,使本机其它应用的流量 经 Sniffy 监听端口转发。
|
Package sysproxy 控制操作系统级的 HTTP/HTTPS 代理设置,使本机其它应用的流量 经 Sniffy 监听端口转发。 |
|
truststore
Package truststore 把根证书装入操作系统级信任库,让本机其它应用直接信任 Sniffy MITM 证书。
|
Package truststore 把根证书装入操作系统级信任库,让本机其它应用直接信任 Sniffy MITM 证书。 |
|
pkg
|
|
Click to show internal directories.
Click to hide internal directories.