这个项目能做什么
Dashflare是一款隐私优先的开源分析平台,专用于监控托管在Cloudflare背后的网站。与传统客户端跟踪脚本不同,Dashflare通过Cloudflare Edge Worker收集数据,轻量且无需Cookie。
架构
该系统由三个组件组成:
1. Cloudflare Edge Worker——在边缘网络拦截并处理页面访问事件。数据采集无需修改目标网站;请求通过Cloudflare Routes从主域名转发至`.workers.dev` worker子域名。
2. Grafana Loki——作为持久化层存储事件日志。
3. Grafana——提供仪表板和可视化展示收集的analytics数据。
功能
- 隐私优先:无需Cookie,不存储个人数据。访客会话通过基于密钥派生的哈希指纹进行识别。
- 地理定位:内置基础国家检测功能。可选集成ipgeolocationapi.com获取更丰富的地理数据。
- 自托管部署:通过Docker Compose在本地启动Grafana和Loki,适用于开发或生产环境。
- Cloudflare原生:专为已使用Cloudflare的网站设计,通过Cloudflare Wrangler CLI部署。
安装
运行`docker-compose up`即可启动最小化环境。Grafana可通过`http://localhost:3000/`访问,默认凭据为`admin/admin`(首次登录时提示修改)。
关键环境变量包括:`LOKI_HOST`(Loki实例的URL,必须是可访问的域名而非IP)、`DOMAIN`(用于自动生成路由的主网站域名)、`FINGERPRINT`(用于会话哈希的随机密钥),以及可选的`IPINFO`以启用ipgeolocationapi.com的扩展地理定位。
Edge Worker部署方面,需先安装Wrangler(`npm install -g @cloudflare/wrangler`)并对Cloudflare账户进行认证。然后使用`make wrangler`从模板生成`wrangler.toml`配置文件,最后通过`wrangler publish`发布。
Loki可达性说明
Cloudflare Edge Worker只能通过域名访问80或443端点的服务。若Loki运行在非标准端口,需将其置于反向代理后或通过子域名直接暴露。本地开发时可使用ngrok等工具将流量转发以实现边缘可达。
仪表板
运行后,Grafana将展示预配置的analytics仪表板,呈现访客指标、地理分布及其他网站性能指标。
评论
0 评分人数达到10人后显示
登录后参与讨论。