基于P2P开发一个聊天桌面软件

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 及脚本依赖工具链。
  • 构建中断时:优先查看终端日志,定位具体平台或步骤失败原因。

使用说明

  1. 启动客户端,输入你的 WebRPC token。
  2. 根据安全需求选择是否设置连接口令(推荐设置)。
  3. 将你的 token(及口令,如已启用)分享给对方。
  4. 对方输入正确凭据后建立会话。
  5. 在会话中发送文本消息或文件,接收文件将保存到本地目录。

本地数据目录

  • 首次启动会在本地创建应用状态目录(用于保存会话与状态信息)。
  • 接收文件保存在本地接收目录,便于后续查看和管理

常见问题(FAQ)

1) 为什么建议设置口令?

未设置口令时,只要对方知道你的 token 即可发起连接;启用口令可显著提升会话安全性。

2) 口令忘记了怎么办?

直接在本端重新设置新口令,并将新凭据同步给可信对端。

3) Token 从哪里获取?

从 WebRPC 官方站点申请:https://webrpc.cn。

Roadmap

  • 对接完整的在线鉴权与会话服务。
  • 增强传输状态展示(进度、成功/失败重试)。
  • 支持大文件断点续传。
  • 完善多平台打包与自动发布流程。
  • 补充更完整的自动化测试。
相关推荐
wdfk_prog12 小时前
Wi-Fi Direct教程 02:从 wpa_cli main() 到 P2P_FIND——用源码注释追踪 CLI 控制命令发送
运维·服务器·网络·网络协议·ubuntu·p2p·wifi-direct
wdfk_prog16 小时前
Wi-Fi Direct 教程 04:Interface 协议子系统初始化——WPA/EAPOL、WPS、DPP/NAN、GAS 与 P2P callback
android·运维·服务器·ubuntu·p2p·wps·wifi-direct
贾伟康1 天前
【HarmonyOS 7新能力|065】QUIC长连接实战:弱网推送、会话恢复与连接治理
harmonyos·arkts·quic·长连接·弱网优化
SoStraw2 天前
跨平台P2P通信SDK,Windows/Android/iOS/Linux/macOS一套API全兼容
android·linux·windows·跨平台·p2p·webrpc
Seoyoneh8 天前
呼叫中心系统上云还是本地部署?架构、成本与运维全维度技术对比
人工智能·信息与通信·通信
SoStraw8 天前
无公网IP远程访问设备,不用frp也能实现99.9%连通率
frp·内网穿透·p2p·远程访问·webrpc·无公网ip·file2file
ZeroNews内网穿透8 天前
企业 NAS 本地目录安全对外公网访问方案:ZeroNews LFS 文件空间特性与落地场景
内网穿透·权限管理·文件共享·nas·公网访问·企业文件服务器·zeronews lfs
小贺儿开发9 天前
Unity 家居视频遥控(细节优化)
科技·unity·程序员·udp·视频·工具·通信
Seoyoneh9 天前
智能客服意图识别实战:深度学习与规则引擎融合架构与落地实践
人工智能·信息与通信·通信
贾伟康11 天前
【HarmonyOS 7新能力|040】QUIC长连接工程封装:把接入逻辑放进可维护的分层结构
网络编程·harmonyos·arkts·quic·软件架构