PanBox Sync - 自动化文件同步与转码系统
10K+
围绕 OpenList 的文件同步系统:以下载 → 伪转码(MD5)→ 上传为核心的异步流水线,通过 SSE 推送实时进度,支持并发配置热更新与崩溃恢复。
过滤和匹配 + 重命名替换$TV、$BLACK_WORD、$MOVIE、$ANIME💡 快速部署:访问 部署仓库 获取一键安装脚本和 Docker Compose 配置。
本地部署:
Docker部署(推荐):
使用预构建的 Docker 镜像,无需安装 Python 和 Node.js:
# 使用 Docker Compose(推荐)
docker-compose up -d
# 或直接使用 Docker
docker run -d \
--name panbox-sync \
-p 8000:8000 \
-v $(pwd)/data:/data \
-e ENVIRONMENT=production \
-e PANBOX_SYNC_CONTAINER_MODE=true \
-e PANBOX_SYNC_DATA_DIR=/data \
-e INTERNAL_OPENLIST_DATA=/data/openlist \
-e TZ=Asia/Shanghai \
--restart unless-stopped \
kokojacket/panbox-sync:latest
详细说明请查看 📘 Docker 完全指南
Windows:
scripts\start.bat
Linux/Mac:
./scripts/start.sh
开发调试临时免登录(仅开发环境): 在
backend/.env中设置DEV_DISABLE_AUTH=true,即可跳过登录与激活校验(严禁用于生产)。
快速启动(推荐):
# 在项目根目录
python scripts/run.py
详细步骤:
# 进入后端目录
cd backend
# 创建虚拟环境(首次运行)
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装依赖(首次运行)
pip install -r requirements.txt
# 初始化数据库(首次运行)
python -m app.utils.init_db
# 返回项目根目录
cd ..
# 启动后端服务
python scripts/run.py
后端将运行在: http://localhost:8000 API文档: http://localhost:8000/docs
# 进入前端目录
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev
前端将运行在: http://localhost:5173
# 构建并启动所有服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
backend/.env)参考 backend/env.example,关键配置项:
SECRET_KEY=your-secret-key-change-this-in-production
DEV_DISABLE_AUTH=false # 仅开发环境可设为 true
# 并发控制
MAX_CONCURRENT_DOWNLOADS=3
MAX_CONCURRENT_UPLOADS=2
# 转码固定串行(无需配置)
# 文件存储
DOWNLOAD_DIR=./data/downloads
UPLOAD_DIR=./data/uploads
LOG_DIR=./data/logs
frontend/.env)VITE_API_BASE_URL=http://localhost:8000
VITE_APP_TITLE=PanBox Sync
在文件末尾追加 8-16 个随机字节,MD5 值完全改变,文件功能不受影响,处理速度秒级完成。参考:kokojacket/md5-modifier
# 重新初始化数据库
cd backend
python -m app.database reset
修改配置文件中的端口号或终止占用进程:
# 查找占用8000端口的进程
lsof -i :8000 # Linux/macOS
netstat -ano | findstr :8000 # Windows
# 安装开发依赖
pip install -r requirements-dev.txt
# 运行测试
pytest
# 代码格式化
black app/
isort app/
# 类型检查
mypy app/
# 代码格式化
npm run format
# 代码检查
npm run lint
# 类型检查
npm run type-check
# 构建生产版本
npm run build
欢迎提交Issue和Pull Request!
本项目基于AGPLv3许可证(与OpenList保持一致)
Content type
Image
Digest
sha256:efb6cab72…
Size
166.6 MB
Last updated
18 days ago
docker pull kokojacket/panbox-sync