|
|
|
|
重要: 为确保用户认证信息和配置不会在容器重启后丢失,项目使用Docker数据卷进行持久化存储。
| 数据类型 | 存储位置 | 用途 | 数据卷名称 |
|---|---|---|---|
| 配置文件 | /app/config.json |
API密钥、转存路径、服务器配置等 | 文件挂载 (可读写) |
| 用户认证 | /root/.baidupcs/accounts.json |
百度网盘Cookie、BDUSS等 | bdpan-data |
| 应用日志 | /app/logs/ |
应用运行日志 | bdpan-logs |
备份用户认证数据:
# 查看数据卷位置
docker volume inspect bdpan-data
# 备份认证数据
docker run --rm -v bdpan-data:/data -v $(pwd):/backup alpine tar czf /backup/bdpan-auth-backup.tar.gz -C /data .恢复认证数据:
# 恢复认证数据
docker run --rm -v bdpan-data:/data -v $(pwd):/backup alpine tar xzf /backup/bdpan-auth-backup.tar.gz -C /data- Docker & Docker Compose
- 绿联NAS或其他支持Docker的设备
- Python 3.8+ (本地运行)
访问 TMDB API官网 获取免费API密钥:
- 注册TMDB账户
- 进入设置 → API页面
- 申请API密钥(选择Developer)
- 填写应用信息(个人使用即可)
- 获得32位API Key(格式:
abcd1234efgh5678...)
- 镜像名称:
cfrs2005/bdpan-search:latest - 容器名称:
bdpan-search - 运行状态: 运行中
- CPU使用率: 通常在1%以下
- 内存使用: 约76MB
配置以下目录映射确保数据持久化:
NAS目录 → 容器目录 → 权限
/docker/bdpan/config.json → /app/config.json → 读写
/docker/bdpan/logs → /app/logs → 读写
/docker/bdpan/accounts.json → /root/.baidupcs/accounts.json → 读写
在配置页面的"API配置"标签页中:
- TMDB API密钥: 输入从TMDB官网获取的32位API Key
- 语言设置: 选择"简体中文"
- 资源搜索API: 保持默认
https://so.252035.xyz/api/search
在"存储配置"标签页中:
- 百度网盘Cookie: 粘贴从浏览器获取的完整Cookie
- 账户名称: 给账户起个名字(可选)
- 点击"保存认证"按钮
- 用浏览器打开 pan.baidu.com 并登录
- 按F12打开开发者工具 → Network
- 刷新页面 → 选择任意请求 → Headers
- 复制Request Headers中的完整Cookie字符串
- 粘贴到绿联配置页面
Cookie示例格式:
BYt59P:B:B:AwD2PTUh8NCCG6qePp7XPAOgfKCsVzm3W9Y:C;
H_WISE_SIDS=62325_6364365_64361_64364_64396_64430_64436_64460_64475_64488_64501;
Hm_lvt_7a3960b6f067e5b7f96ff5e660b0=1754548205,1754744969,1754823680,1756092965;
BDCLND=A4o3WUReynhTxSP4lgqomBv%2FGdCcc9lOLfx6vOc%3D; BIDUP
- 克隆项目
git clone https://github.com/cfrs2005/bdpan.git
cd bdpan- 编辑配置
# 编辑config.json,添加TMDB API密钥
nano config.json- 启动服务
docker-compose up -d- 访问应用 打开浏览器访问: http://localhost:5001
🛠️ 适合开发者和高级用户
- 📦 安装依赖
pip install -r requirements.txt- ⚙️ 配置文件
cp config.json.example config.json
# 编辑配置文件,添加TMDB API密钥- 🚀 启动服务
python main.py- 🌐 访问应用 打开浏览器访问: http://localhost:5001
{
"tmdb_api_key": "你的TMDB API密钥",
"tmdb_language": "zh-CN",
"search_api_endpoint": "搜索服务API地址",
"movie_path": "/我的资源/2025/电影",
"tv_path": "/我的资源/2025/电视剧",
"server_host": "0.0.0.0",
"server_port": 5001
}系统启动后,通过Web界面配置百度网盘Cookie:
- 访问配置页面: http://localhost:5001/config
- 在"存储配置"标签页中添加百度网盘Cookie
- Cookie获取方法:
- 登录百度网盘网页版
- 按F12打开开发者工具
- 在Network标签页找到pan.baidu.com的请求
- 复制完整Cookie值粘贴到配置页面
项目使用以下数据卷确保数据持久化:
volumes:
# 配置文件 - 可读写挂载,支持Web界面修改配置
- ./config.json:/app/config.json
# 用户数据目录 - 存储百度网盘认证信息
- bdpan-data:/root/.baidupcs
# 应用日志目录
- bdpan-logs:/app/logs数据卷说明:
bdpan-data: 存储用户通过Web界面配置的百度网盘认证信息bdpan-logs: 存储应用运行日志config.json: 文件挂载,存储API密钥、转存路径等配置(支持Web界面修改)
- 用户认证数据存储在
bdpan-data数据卷中,容器删除后数据仍会保留 - 如需完全清理,请手动删除数据卷:
docker volume rm bdpan-data bdpan-logs
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | / |
主页重定向 |
| GET | /search |
搜索页面 |
| GET | /history |
历史记录 |
| GET | /status |
系统监控 |
| GET | /config |
配置管理 |
| POST | /api/save |
搜索并转存 |
| GET | /api/config |
获取配置 |
| POST | /api/config |
保存配置 |
| GET | /api/status/system |
系统状态 |
- 🎬 豆瓣网站集成: 在豆瓣电影页面一键添加到收藏库
- 🔍 智能识别: 自动识别页面中的影视信息
- ⚡ 快速转存: 无需切换标签页,直接转存到网盘
- 🎯 精准匹配: 基于TMDB数据库的智能匹配
在豆瓣电影详情页(如《斗破苍穹》),点击"📥 添加入库"按钮即可一键转存。
# 方法一:从项目源码安装
git clone https://github.com/cfrs2005/bdpan.git
cd bdpan/chrome-extension
# 方法二:下载Release版本
wget https://github.com/cfrs2005/bdpan/releases/latest/download/chrome-extension.zip
unzip chrome-extension.zip- 打开Chrome浏览器
- 进入扩展管理页面 (
chrome://extensions/) - 开启"开发者模式"
- 点击"加载已解压的扩展程序"
- 选择
chrome-extension文件夹
- 点击插件图标进入设置页面
- 设置后端服务地址:
http://your-nas-ip:5001 - 测试连接确保正常通信
豆瓣电影页面:
- 直接点击"📥 添加入库"按钮
- 系统自动识别电影信息并转存
其他网站:
- 选中电影/电视剧标题文本
- 点击插件图标一键收藏到百度网盘
- 支持IMDb、烂番茄等国外网站
bdpan/
├── main.py # 主应用程序
├── auth_manager.py # 认证管理模块
├── config.py # 配置管理
├── Dockerfile # Docker配置
├── docker-compose.yml # 生产环境部署
├── docker-compose.dev.yml # 开发环境配置
├── requirements.txt # Python依赖
├── config.json.example # 配置模板
├── LICENSE # MIT开源协议
├── templates/ # HTML模板
├── static/ # 静态资源
├── chrome-extension/ # Chrome插件
├── docs/ # 文档和截图
└── README.md
欢迎提交Issue和Pull Request!
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- BaiduPCS-Py - 百度网盘API支持
- TMDB API - 电影数据库API
- Flask - Web框架
如果您在使用过程中遇到问题,请:
⭐ 如果这个项目对您有帮助,请给我们一个星标!