常驻 macOS 菜单栏的应用级流量统计工具:
看清每个应用用掉了多少流量、在什么时间段用掉的。
下载 · 安装 · 从源码构建 · 反馈 · English
- 菜单栏面板 —— 今日总量/下载/上传汇总,按流量排序的应用列表(带真实应用图标);代理运输流量与系统后台进程各自折叠分组,不混入应用总量;采集状态实时提示,可随时开始或停止
- 代理兼容 —— 同时覆盖直连、TUN 与 macOS 系统代理流量;系统代理端点从系统配置实时读取,无需写死 Clash/Mihomo 的监听端口;补充通道会过滤代理镜像、本地 IPC 与广播流量,避免应用漏记、双计和虚高
- 主窗口概览 —— 最近 10 分钟/最近 1 小时/今天/本周/本月五档时间范围:汇总卡片、流量趋势图与应用流量排行,点击任一应用进入详情
- 应用详情 —— 单个应用的总量、上下行与独立趋势图
- 设置 —— 分钟级数据保留策略(永不/7/30/90 天)、导出当前范围 JSON、清空统计、显示系统进程、登录时启动
🍎 要求 macOS 14 (Sonoma) 或更新版本,Apple Silicon 与 Intel 均支持;无需系统扩展、内核扩展或 root 权限。
-
从 Releases 下载对应架构的产物:
你的 Mac 下载文件 Apple Silicon(M 系列芯片) ByteTrace_<版本>_macOS-Apple-Silicon.dmgIntel ByteTrace_<版本>_macOS-Intel.dmg不确定自己的 Mac 是哪种:点屏幕左上角的苹果菜单 → 「关于本机」,看「芯片」一行。
.zip与.dmg内容相同,免挂载,按喜好选一个。 -
打开 DMG,把 ByteTrace 拖入「应用程序」。启动后菜单栏出现 ⇅ 图标(应用不在 Dock 中显示),点击图标即开始采集。
-
ByteTrace 未做 Apple 公证,首次启动会被 Gatekeeper 拦截:双击打开被拦下后,到 系统设置 → 隐私与安全性,下滑找到 ByteTrace 的提示,点 「仍要打开」。
Note
macOS Sequoia 起,旧的「右键 → 打开」放行方式已失效,只能通过上面的系统设置放行。 若仍提示「应用程序已损坏」,可在终端手动去除隔离属性:
xattr -dr com.apple.quarantine /Applications/ByteTrace.app每个产物附带同名 .sha256 文件与汇总的 SHA256SUMS.txt,可校验下载完整性:
shasum -a 256 -c ByteTrace_<版本>_macOS-Apple-Silicon.dmg.sha256- 唯一数据源是系统自带的只读命令
/usr/bin/nettop,不使用 Network Extension - 仅从 macOS
SystemConfiguration读取当前启用的本机代理地址和端口,用于识别应用到代理的回环流量;端点不保存、不展示 - 所有数据保存在本机 SQLite:
~/Library/Application Support/com.nanvon.ByteTrace/usage.sqlite3,可用任意 SQLite 客户端自行查询 - 不上传、不联网回传任何统计结果
- 不解析报文内容,不解密 HTTPS,不读取请求体
Tip
发布的 ByteTrace.app 为 ad-hoc 签名、未做 Apple 公证;如果介意,可以自行审阅代码后从源码构建,不依赖发布的二进制包。
需要 macOS 14 或更高版本,以及包含 Swift 6 工具链的 Xcode。
日常开发:swift build 构建,swift test 跑测试,swift run ByteTraceApp 以开发模式运行。
打包分发:
./Scripts/package_app.sh产物位于 dist/,包含 ByteTrace.app、ByteTrace.dmg 与 ByteTrace.zip,默认使用 ad-hoc 签名。
Warning
swift run ByteTraceApp 运行的是裸可执行文件,读不到 Packaging/Info.plist,菜单栏常驻(LSUIElement)与应用图标等行为不会生效。验收菜单栏形态请使用 ./Scripts/package_app.sh 的产物。
nettop—— macOS 系统自带的网络统计命令,ByteTrace 的唯一数据源

