File2File 是一款专注于文件传输共享与消息通信的高性能 P2P 桌面软件,支持 Windows、Linux ARM、Linux x86 及 macOS 等多平台部署。具备 99.9% 的连接成功率,握手过程可在 200ms 内完成,并支持大文件高速传输,带来极致高效的点对点交流体验。
项目地址:https://github.com/xiaoming-software/File2File-Desktop/tree/main
软件截图

核心能力
- 基于 Rust +
eframe/egui构建桌面客户端。 - 基于 WebRPC 进行点对点会话连接。
- 支持文本消息与文件传输。
- 支持会话管理与本地状态持久化。
- 支持接收文件本地存储与快速打开。
连接机制(Token + 口令)
- 登录连接依赖 WebRPC
token与可选口令。 - 当口令为空时:任何知道你
token的用户都可以连接到你的会话。 - 当设置口令时:对方必须同时提供正确的
token和口令才能建立连接。 - 若你尚未拥有 WebRPC
token,请前往 https://webrpc.cn 申请。
快速开始
环境要求
- Rust(建议使用稳定版)
- Cargo
运行
bash
cargo run
快速编译(多平台可执行程序)
当需要快速编译所有平台可执行程序时,请执行:
bash
./build.sh
构建完成后,产物通常输出到 dist/ 目录(以脚本实际配置为准)。
常见失败排查:
- 提示
Permission denied:先执行chmod +x build.sh再重新运行。 - 提示依赖缺失:请先安装 Rust/Cargo 及脚本依赖工具链。
- 构建中断时:优先查看终端日志,定位具体平台或步骤失败原因。
使用说明
- 启动客户端,输入你的 WebRPC
token。 - 根据安全需求选择是否设置连接口令(推荐设置)。
- 将你的
token(及口令,如已启用)分享给对方。 - 对方输入正确凭据后建立会话。
- 在会话中发送文本消息或文件,接收文件将保存到本地目录。
本地数据目录
- 首次启动会在本地创建应用状态目录(用于保存会话与状态信息)。
- 接收文件保存在本地接收目录,便于后续查看和管理
常见问题(FAQ)
1) 为什么建议设置口令?
未设置口令时,只要对方知道你的 token 即可发起连接;启用口令可显著提升会话安全性。
2) 口令忘记了怎么办?
直接在本端重新设置新口令,并将新凭据同步给可信对端。
3) Token 从哪里获取?
从 WebRPC 官方站点申请:https://webrpc.cn。
Roadmap
- 对接完整的在线鉴权与会话服务。
- 增强传输状态展示(进度、成功/失败重试)。
- 支持大文件断点续传。
- 完善多平台打包与自动发布流程。
- 补充更完整的自动化测试。