Skip to content

Repository files navigation

FlowLens — Edge Telemetry

FlowLens

看见每一字节的去向。

Latest release CI status Docker image on GHCR Linux amd64 and arm64 Go 1.26.2 MIT License

核心能力 · 快速开始 · 配置 · 运维 · API

面向 sing-box Clash API 的自托管流量仪表盘。
精确保存全局流量,并用连接维度解释流量去了哪里。

预览

FlowLens 单页流量仪表盘

核心能力

能力 内容
实时吞吐 当前速度、1/5 分钟均值、60 分钟峰值与活动连接
历史趋势 今天、昨天、7/30/90 天、今年及自定义范围
多维归因 目标、Endpoint、端口、协议、来源网段与域名
数据可信度 明确展示归因覆盖、Top K 截断、缺口与恢复流量
可靠存储 SQLite 多级聚合、容量保护、自动备份与校验恢复
轻量部署 单个 Go 服务嵌入 React 前端,scratch 镜像、非 root 运行

快速开始

推荐使用 Docker Compose。你需要一个已启用 Clash API 的 sing-box,并让它与 FlowLens 加入同一个 Docker 网络。

cp config/config.example.yaml config/config.yaml
mkdir -p data
docker network create flowlens_private

编辑 config/config.yaml,至少确认:

  • clash_api.urlclash_api.secret
  • auth.access_key(默认启用登录,至少 16 个字符)
  • time.timezone(首次写入数据后不可修改)

启动服务:

docker compose -f docker-compose.example.yml pull
docker compose -f docker-compose.example.yml up -d

打开 http://127.0.0.1:8080。示例 Compose 默认仅监听宿主机 loopback。

Linux 文件权限、备份恢复、升级和故障排查见 运维指南。完整配置说明直接写在 config/config.example.yaml 中。

你需要知道的三件事

  • 全局累计流量来自 /connections 计数器,是精确值;目标排行属于近似归因。
  • 实时秒级样本只保存在内存中;历史查询来自 SQLite 聚合。
  • FlowLens 不修改 sing-box 配置、路由、防火墙或代理连接。

文档

文档 用途
配置示例 全部配置项、默认值与安全说明
运维指南 部署、健康检查、备份、恢复、升级与排障
OpenAPI HTTP API 契约
SSE 事件 实时事件与断线恢复语义
安全策略 漏洞报告与安全边界

开发

需要 Go 1.26.2、Node.js 24.14.0 和 pnpm 11.9.0。

corepack enable
make deps
make check
make frontend-e2e

License

MIT

About

Lightweight, self-hosted traffic monitoring and analytics for sing-box.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages