这个项目能做什么

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仪表板,呈现访客指标、地理分布及其他网站性能指标。