প্রকল্প সম্পর্কে
Smart-analytics 是一款极简、以隐私为先的自托管网站分析系统,基于 tiny-analytics 0.1.3 改造而来,核心升级是支持多站点/多租户管理:单个账户可管理多个站点,每个站点拥有独立的追踪脚本与数据隔离。
技术栈为 Python FastAPI + SQLite(单库多租户),单进程运行,无需外部服务或数据库。工作原理是访客页面加载时,追踪脚本向服务端发送 POST 请求,服务端对"站点ID:IP:UA"做哈希生成匿名访客标识,原始 IP 不存储;页面离开时信标将停留时长上报;仪表盘按站点聚合并可视化。
功能特性包括:
- 隐私优先:无 Cookie、无 localStorage、无指纹采集,跨站无追踪
- 多站点/多租户:每站独立 token,数据完全隔离;支持多用户与站点成员
- 账户体系:邮箱+密码注册登录,Web 界面管理站点与成员
- 离线 GeoIP 定位:基于 DB-IP 库,提供国家/省份/城市级地理信息,无需第三方 API
- 机器人过滤:自动识别并分离机器人流量
- 高频 IP 模块:识别高频访问 IP 并展示地理位置
- 页面停留时长:记录真实互动时长
- 地理与设备分布:访客来源及所用设备类型统计
- 热门页面与流量来源:Top 页面排行、来源域名与搜索关键词
- 访问时段分布:按 24 小时/星期维度观察流量规律
- 环比对比:独立访客、浏览量、停留时长的同期变化
- 实时在线:近 5 分钟在线人数,仪表盘自动轮询
- 新/老访客:基于匿名标识区分
- UTM 渠道追踪:按来源/媒介/活动维度统计
- 会话分析:跳出率、平均会话时长、入口页/出口页(估算值)
- 浏览器/操作系统分布:纯 User-Agent 粗粒度统计
- 灵活时间范围:支持 1 小时/2 小时/24 小时/7 天/30 天,统计间隔可选 1/5/15 分钟/1 小时
- 暗色模式 UI
配置通过环境变量控制:SMART_ANALYTICS_PASSWORD(管理员密码)、SMART_ANALYTICS_SECRET_KEY(会话签名密钥)、SMART_ANALYTICS_ALLOWED_ORIGINS(CORS 域名限制)、SMART_ANALYTICS_DB_PATH(数据库路径)等。
部署方面提供一键脚本(deploy/linux/setup.sh),支持 systemd 服务、nginx 反向代理、Cloudflare 回源(自动读取 cf-connecting-ip 等头)。也可通过 uvx 一行命令运行或从源码构建。
许可证为 MIT。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.