Skip to content

QIanGua/SyncVision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📷 Sony Alpha 相机媒体安全备份工具

一个基于 Web 的相机媒体备份工具,专为索尼 Alpha 系列相机用户设计。提供现代化界面、实时进度反馈和生产级数据安全保障。

Python FastHTML CI License

✨ 功能特点

功能 说明
🔒 数据完整性 xxHash64 校验:拷贝后自动验证校验和,确保数据 0 误差
🛡️ 生产级健壮性 指数退避重试:IO 出错自动重试;磁盘空间预检查:防止中途溢出
极速并发 Worker Pool 模型:Async Queue 并发调度,压榨磁盘写入带宽
📊 全方位监测 系统动态看板:实时监控 CPU、内存占用及备份速率
📂 智能组织 按拍摄日期 (YYYY/YYYY-MM-DD) 自动归构,支持增量备份跳过
🌐 全语支持 中文 / English 实时切换,适配专业摄影师需求
🎨 硬核界面 相机 UI 风格,支持深色模式与毛玻璃视觉效果

🚀 快速开始

普通用户安装(macOS)

方式一:Homebrew 安装(推荐)

# 添加 tap 源
brew tap yourusername/tap

# 安装
brew install sony-backup

# 启动服务器(自动打开浏览器)
sony-backup

访问:http://127.0.0.1:5001

方式二:手动安装 DMG

  1. Releases 下载最新 SonyBackup-x.y.z-macOS.dmg
  2. 打开 DMG 文件,拖动 SonyBackup.app 到应用程序文件夹
  3. 双击 SonyBackup 启动(自动打开浏览器)

开发者安装

环境要求

  • Python 3.14+ (必须使用 uv 包管理器)
  • macOS / Windows / Linux

源码安装

# 1. 克隆仓库
git clone https://github.com/yourusername/sony-backup
cd sony-backup

# 2. 安装依赖
uv sync

# 3. 启动开发服务器
uv run python main.py

# 4. 访问界面
open http://127.0.0.1:5001

详见 CONTRIBUTING.md 了解开发流程

📸 支持的文件格式

类型 格式
RAW .ARW (Sony Alpha RAW)
照片 .JPG, .JPEG, .HEIC, .HIF
视频 .MP4, .MOV (XAVC S / XAVC HS)

🛠️ 工程化配置 (config.py)

系统支持根据硬件配置自动调优:

  • 自动并发数:根据 CPU 物理核心数动态分配 CONCURRENT_COPIES
  • 动态缓冲区:根据系统剩余 RAM 自动调整 COPY_BUFFER_SIZE (64MB ~ 512MB)
  • 校验开关:可配置 ENABLE_CHECKSUM 全局开启/关闭

🏗️ 技术架构

  • 后端: FastHTML + Starlette (SSE 实时双工)
  • 核心: Asyncio Queue (生产者-消费者模型)
  • 前端: Vanilla JS + MonsterUI (CSS-in-JS & Glassmorphism)
  • 运维: GitHub Actions CI (自动化测试流水线)

🗂️ 项目结构

  • 核心 Python 业务代码位于 sony_backup/ 包。
  • 历史兼容入口仍保留在根目录(main.py / config.py 等)。
  • 详细结构与维护约定见 PROJECT_STRUCTURE.md

🧪 开发与工具

自动化测试

uv run python -m pytest tests/

模拟数据测试

# 一键生成 GB 级的模拟 SD 卡数据环境
uv run python scripts/create_test_data.py

🛡️ 安全承诺

  1. 只读源文件 - 严格执行 read-only 扫描,绝不重命名或删除源媒体。
  2. 原子化操作 - 校验失败自动清理脏文件并重试,确保目标目录清洁。
  3. 元数据克隆 - 完美保留像素之外的 Exif 与文件系统时间戳。

📄 许可证

MIT License

🙏 致谢

  • FastHTML - The next-generation Python web framework.
  • xxHash - Extremely fast non-cryptographic hash algorithm.
  • uv - An extremely fast Python package manager.

About

一个相机媒体备份工具,专为索尼 Alpha 系列相机用户设计。提供现代化界面、实时进度反馈和生产级数据安全保障。

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors