# rfsync **Repository Path**: aoplxml/rfsync ## Basic Information - **Project Name**: rfsync - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-18 - **Last Updated**: 2025-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rfsync 文件同步系统 ## 项目简介 rfsync 是一个基于 Rust 的分布式文件同步系统,包含服务端和客户端两个组件,通过 YAML 配置文件进行参数配置。 ## 目录结构 ``` ├── src/ │ ├── server/ # 服务端模块 │ └── client/ # 客户端模块 ├── Cargo.toml # 项目构建配置 ├── rfsync.exe # 可执行文件 ├── *.yaml # 配置文件 ``` ## 使用方法 ### 服务端启动 ```bash # 进入工作目录 cd C:\Users\wuzuxian\RustroverProjects\rfsync # 启动服务端 cargo run --bin server ``` ### 客户端启动 ```bash # 进入工作目录 cd C:\Users\wuzuxian\RustroverProjects\rfsync # 启动客户端 cargo run --bin client ``` ## 配置说明 - `server.yaml`:服务端配置文件,包含监听地址、存储路径等参数 - `client.yaml`:客户端配置文件,包含服务端地址、同步间隔等参数 ## 设计思路 1. **模块化设计** - 服务端 `file_server.rs` 实现 TCP 文件传输服务 - 客户端 `download.rs` 实现文件下载逻辑 - `scheduler.rs` 负责任务调度 2. **配置管理** 使用 `config.rs` 模块统一处理 YAML 配置文件解析 3. **文件扫描** `file_scanner.rs` 实现文件指纹生成和增量检测功能 4. **控制层** `controller.rs` 处理客户端请求路由