danmu 部署说明
PS:在首次执行之后会自动生成 settings.json
1. 环境要求
| 依赖 | 版本要求 | 说明 |
|---|---|---|
| 宝塔面板 | >= 7.0 | 通过「Go 项目」管理服务和进程守护 |
| MySQL / MariaDB | >= 5.7 / >= 10.2 | 数据库服务 |
2. 部署步骤
2.1 上传并解压
- 将
danmu-deploy.zip上传至宝塔/www/wwwroot/ - 解压至
/www/wwwroot/danmu/
2.2 配置数据库
编辑 admin/settings.json,修改数据库连接信息:
{
"db_server": "127.0.0.1",
"db_port": "3306",
"db_username": "root",
"db_password": "your_password",
"db_name": "root",
...
}
同时修改 admin_password 为你的后台登录密码。server_port 字段需与宝塔 Go 项目中配置的运行端口保持一致,默认为 8080。若用户在宝塔中使用了其他端口,需同步修改此字段。保存后无需重新编译,重启服务即生效。
优先级:环境变量 > settings.json > 硬编码默认值。
| 环境变量 | 默认值 | 说明 |
|---|---|---|
| DB_SERVER | localhost | MySQL/MariaDB 地址 |
| DB_PORT | 3306 | 数据库端口 |
| DB_USERNAME | root | 数据库用户名 |
| DB_PASSWORD | 123456 | 数据库密码 |
| DB_NAME | root | 数据库名 |
| ADMIN_PASSWORD | — | 后台 /admin 登录密码 |
2.3 配置 Go 项目(宝塔)
- 进入宝塔「网站 → Go 项目」→「添加 Go 项目」
- 配置项:
| 配置项 | 值 |
|---|---|
| 执行文件 | /www/wwwroot/danmu/danmu |
| 项目端口 | 你的监听端口(如 8080) |
| 运行目录 | /www/wwwroot/danmu |
- 点击确定,宝塔自动启动并守护进程。
宝塔 Go 项目已内置进程守护,无需额外配置计划任务或 Supervisor。
2.4 配置定时清理缓存
admin/settings.json 中 cron_key 是定时清理缓存的鉴权密钥。打开宝塔后台设置页面即可查看其值。
宝塔计划任务配置:
- 进入宝塔「计划任务」→ 添加任务
- 任务类型选择「Shell 脚本」
- 执行周期建议
30 分钟(频率根据缓存数据量自行调整) - 脚本内容:
curl -s "http://127.0.0.1:8080/api/cron/cleanup?key=你的cron_key"
将 8080 替换为实际项目端口,你的cron_key 替换为后台显示的密钥。
接口说明:
| 项目 | 值 |
|---|---|
| 方法 | GET |
| 路径 | /api/cron/cleanup?key=<cron_key> |
| 鉴权 | 密钥不匹配返回 {"success": false, "error": "密钥无效"} |
| 清理策略 | 删除修改时间超过 cache_max_age 秒(默认 7200,即 2 小时)的缓存文件 |
返回示例:
{
"success": true,
"deleted": 15,
"freed_mb": "3.27",
"kept": 42,
"cache_dir": "dmku",
"max_age_sec": 7200
}
3. 文件目录
danmu-deploy.zip
├── danmu # 可执行文件
├── index.html # 静态首页
├── DEPLOY.md # 部署说明与更新日志
├── admin/ # 后台管理模块
│ ├── index.html
│ ├── login.html
│ └── assets/ # 静态资源 (CSS / JS)
├── cache/ # 缓存目录
└── dmku/ # 弹幕缓存目录
4. 更新日志
2026-08-14
- 修复新增视频出现无法匹配官链的问题
2026-08-19
- 优化人人视频弹幕规则
2026-08-11
- 全平台移除弹幕去重:删除
DedupAndSort/iqiyiUniqueByContent/youkuDedupKey,index.godedupAndSort→sortOnly - B站 ss 番剧 ID 支持:
reSS正则 +season?season_id=API,修复duration毫秒值问题 - 腾讯视频流式输出:全量内存聚集 → 分批写
ResponseWriter,内存 35MB→5MB - 腾讯视频索引缓存:
sync.Map缓存barrage/base/{vid} - 腾讯视频流水线:
wg.Wait→ channel 扇入 - 性能:126,712 条弹幕 7.7s→1.6s(-79%),ss24588 0→13,291
2026-07-27
- 芒果TV多候选标题匹配:抓取
<title>区分正片/加更版 - 标题抓取缓存:
pageTitleCache3600s TTL
2026-07-24
- 修复爱奇艺弹幕规则
2026-07-21
- 支持
server_port配置端口 - 修复长视频弹幕获取不全
2026-07-12
- 后台登录鉴权
2026-07-09
sync.Once→sync.Mutex修复首次失败永久固化- 修复
extractKeywordFromURL关键词提取错误 visit_counter.json原子写入防清零settings.json字段顺序修复
2026-07-07
- rrmj 弹幕源接入
allowed_domains_priority加入rrsp.com.cn
2026-07-06
- 全局 CORS 中间件
- Dashboard 优化 / 仪表盘域名计数
settings.json首次运行自动生成
![图片[1]-自建弹幕库源码-果核网](https://www.guohew.cn/wp-content/uploads/2026/09/QQ20260909-112107-1-1024x490.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

















暂无评论内容