Beaver Habit Tracker
一款无需设定目标的自我托管习惯追踪工具,简洁轻量,适合日常打卡。
智能下载
前往项目主页
该项目暂未提供安装包,请直接访问源代码仓库
无目标、无压力的习惯打卡工具
核心功能
- 无目标设定,专注过程而非结果
- 支持 Docker 自托管,数据完全自主
- 提供云服务选项,开箱即用
- 支持 SQLite 或 JSON 文件存储
- 开放 REST API,可与脚本、快捷指令集成
避坑指南
- •自托管时注意 container 用户权限与宿主机目录一致,否则可能产生权限错误。初次使用默认无需登录,如需安全保护请设置 TRUSTED_LOCAL_EMAIL 等环境变量。
适用场景
- 每天记录喝水、阅读、运动等小习惯
- 将习惯追踪集成到智能家居或键盘快捷操作中
- 无压力地记录,适合焦虑型或完美主义用户
- 团队或家庭共享习惯看板(通过自托管)
详细介绍
Beaver Habit Tracker 是一款无需设定目标的自我托管习惯追踪应用。它提供简洁无干扰的界面,专注于每日打卡,帮助养成习惯而非追求目标。支持 Docker 自托管或云 SaaS 服务,存储可选 SQLite 或本地 JSON 文件。开放 REST API,可连接 Stream Deck、Apple 快捷指令、Home Assistant 等工具,扩展性强。借鉴 Loop Habit Tracker 的设计思路,但更精简、更注重易用性和可扩展性。
常见问题与排障 (2)
故障排除在BeaverHabits中通过自定义CSS防御存储型XSS时,应禁止直接插入可执行脚本(如`<script>`标签或事件处理属性),仅允许纯CSS内容。对用户输入的CSS进行严格过滤,移除`expression()`、`url()`中的JavaScript、`@import`等危险语句。使用Content Security Policy(CSP)限制脚本执行,并将CSS解析器设为仅支持标准样式。定期审查和转义用户提交的CSS代码。
一个存储型XSS漏洞(CVE待分配)存在于BeaverHabits v0.9.0中,允许向自定义CSS设置注入</style><script>有效载荷,突破<style>块并窃取API令牌。虽然这是一个需要认证访问的自XSS,但仍构成风险。修复方案(PR #207)引入了一个sanitize_css()辅助函数,在保存CSS前剥离所有HTML标签。应用方法:更新至包含该PR的版本,或在保存自定义CSS输入前实现一个标签剥离正则表达式(例如,re.search(r'<[^>]+>', css))。
故障排除如何修复Beaverhabits中当令牌密钥为空时的密码重置账户接管漏洞?
在 Beaverhabits v0.9.0 版本中,密码重置令牌密钥默认为空字符串,攻击者如果知道用户的 UUID,即可伪造重置令牌。修复方法为:在启动应用程序前,将环境变量 RESET_PASSWORD_TOKEN_SECRET 设置为一个强随机值(绝不能为空)。对于 Docker 部署,请在 docker-compose.yml 中添加以下内容:environment: - RESET_PASSWORD_TOKEN_SECRET=your_strong_secret_here。建议在启动时验证该变量已设置,以防止配置错误。此临时方案可阻止该漏洞利用;未来版本应在启动时强制要求非空密钥。详情请参阅 GitHub issue #204。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
使用 Docker 运行:docker run -d --name beaverhabits -p 8080:8080 daya0576/beaverhabits:latest
访问 http://localhost:8080 即可开始打卡
如需持久化数据,添加 -v ./beaver/:/app/.user/ 挂载本地目录
- 使用 Docker 运行:docker run -d --name beaverhabits -p 8080:8080 daya0576/beaverhabits:latest
- 访问 http://localhost:8080 即可开始打卡
- 如需持久化数据,添加 -v ./beaver/:/app/.user/ 挂载本地目录
暂未获取到校验码
该项目暂未在 GitHub Release 页面提供 SHA-256 校验码
SHA256 校验码
暂无校验码
建议从 GitHub Releases 页面直接下载,并自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
停止并删除容器即可:docker stop beaverhabits && docker rm beaverhabits,如需同时删除数据,删除挂载目录 ./beaver/。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
2 FAQs