File2File:基于 webrpc 的免费 P2P 传文件 / 个人网盘 / 远程桌面

我是 File2File / xiaoming-software 作者。桌面客户端开源仓库:File2File-Desktop

底层通道用的是 webrpc,Token 也在那里申请。

两台电脑要搬几个 GB 的镜像或素材,常见路子是:先传到网盘再拉回来、同一房间插网线、或者自己养一台 frp。人一不在家、宽带没有公网 IP,这几条都会别扭。

我想做的更具体一点:一个免费桌面窗口里,同时放下聊天传文件、自己的个人网盘、以及看一眼对方 Windows 桌面。文件尽量走设备到设备,不必先托管到第三方网盘。

这就是 File2File

File2File 是什么

File2File 是跨平台桌面客户端(Windows / macOS / Linux),把三件事放在同一个窗口:

  1. 点对点传输:两端连上之后发文字、截图、语音,以及任意大小的文件。
  2. 个人网盘 :连接你自己跑的 mywebdisk-server,像资源管理器一样浏览、上传、下载、搜索家里的目录。
  3. 远程桌面:在已连接的电脑会话里查看并鼠标操作对方 Windows。

客户端不向用户收传输费。仓库里已经放了各平台预编译包,一般用户不用自己装 Rust 或 Tauri。

它不是又一个网盘套壳,也不是必须单独再装一套的远控软件。通道默认加密,不要求你有公网 IP

底下用的是 webrpc

webrpc 是面向无公网 IP 的跨平台 P2P 通信 SDK:用 Token 标识设备,登录后建立尽量直连的加密会话,再用数据 / 文件接口收发。官网:https://webrpc.cn(也写作 https://www.webrpc.cn/)。

File2File 把这套 SDK 收进桌面壳里。你在登录页填的 Token 和密码,就是 webrpc 网络里的设备身份;可选的「认证口令」用来挡住不认识的对端。登录页底部写得很直接:去 https://webrpc.cn 拿 Token。

对我来说,选型理由很简单:家用宽带、手机热点、很多 NAS 都没有稳定公网地址。webrpc 把打洞、会话和加密收在 SDK 里,应用侧只负责「登录 → 打开会话 → 传文件或画面」。File2File 是建立在这上面的成品,不是对 webrpc 的重新实现。

聊天和传大文件

左侧建一个「聊天会话」,填对方 Token(以及对方的认证口令,如果有),点连接。对方也必须在线。

之后就是普通聊天窗口该有的事:Enter 发文字,Shift+Enter 换行,拖文件或点「选择文件」发送。卡片上会显示进度、耗时和均速。截图可以框选后直接丢进当前会话;语音是来电弹窗,接听或拒绝。

上面这张仓库截图里,ubuntu22-xfce-rootfs.img2.76 GB ,发送成功,耗时 11 分 59 秒,均速约 3.93 MB/s。这是两端会话打通后的直传记录,不是先上传到某个网盘再下载。

语音来电是另一张仓库截图:对端邀请时会弹窗,可以选择接听或拒绝。

个人网盘:目录留在你指定的机器上

聊天传文件是「这一次从 A 到 B」。家里那台一直开着的电脑或 NAS,更适合做成可反复进出的目录。

做法是:在存放文件的那台机器上运行配套的 mywebdisk-server ,再用 File2File 左侧「网盘连接」连上去。数据留在你指定的 --path 里,读写走 webrpc 加密通道。

服务端启动成功后,终端会提示 webrpc 登录成功,并写出本机回调端口,最后是「服务已就绪」。然后在 File2File 里用 同一个 Token 添加网盘连接。

资源管理器支持列表 / 图标、面包屑、容量与剩余空间、上传下载、搜索、重命名和移动。下面这张是连上「家里网盘」之后的界面:总量、剩余、文件都在自己那台机器上。

注意两件事:

  • File2File 是客户端;有磁盘的那台机器还要另开 mywebdisk-server。预编译程序在 mywebdisk 仓库,不必自己编译。
  • 网盘会话不能发起远程桌面。远控只用于「电脑对电脑」的聊天会话。

远程控制对方 Windows

在已经连上的电脑会话里点「远程控制」,对方同意后可以看到对方桌面。支持窗口内全屏,以及鼠标移动、单击、右键、双击、滚轮。标题栏会显示分辨率、帧率和码率。

当前版本请按实际能力预期:

  • 还不能键盘输入,目前只有鼠标。
  • macOS 暂时不能被控。Mac 作为控制端去控制 Windows 可以。
  • 对方系统里权限更高的窗口,有可能点不到,这是操作系统限制。

键盘和 macOS 被控会在后续版本补。远控会看到对方屏幕,请只连接你信任的人。

怎么开始用

两端(以及网盘服务端)都需要 webrpc Token。

  1. 打开 https://webrpc.cn 注册,拿到 Token密码
  2. 从仓库预编译目录下载对应系统的 File2File,解压或安装后启动:
    https://github.com/xiaoming-software/File2File-Desktop/tree/main/dist-tauri
  3. 登录页填写 Token、密码;认证口令可选。需要下次免填就勾选「保存 Token」。
  4. 左侧新建聊天会话,填对方 Token,双方在线后连接,即可发消息和文件。
  5. 若要个人网盘:先在有磁盘的机器上启动 mywebdisk-server,再在 File2File 里用同一 Token 添加网盘连接。
系统 预编译位置
Windows 10/11 x64 dist-tauri/windows-x64/File2File.exe(需要 WebView2,Win10/11 通常已有)
macOS 11+ dist-tauri/macos/File2File.app(首次若被拦截,到「隐私与安全性」允许)
Linux amd64 / arm64 dist-tauri/linux-amd64/linux-arm64/ 下的 .deb

开发者若要从源码构建,仓库里有 build-tauri.sh / build-all.sh。一般用户直接用预编译包即可。

和网盘、微信、远控软件差在哪

做法 文件放哪 没有公网 IP 聊天 / 网盘 / 远控
公有网盘 服务商机器 能用,但要来回传、内容出自己的盘 通常只有存储
微信等 IM 平台侧,大文件常压缩或限额 能发小文件 不是资源管理器,也不是远控
单独远控软件 看具体产品 多数要账号或中继 往往不再带大文件直传
File2File 设备之间,或你自己的 mywebdisk 目录 走 webrpc,不要求公网 IP 同一客户端里三件都有

一句话:File2File 只在对端之间传数据,不托管你的文件。Token 和口令请自己保管。

相关链接

问题与建议可以在 File2File-Desktop 仓库提 Issue。

相关推荐
顺kai1 天前
Mac 给瑞芯微刷飞牛 fnOS 完整指南
nas
SendTomo3 天前
send.wang(私传网)基于网页P2P直连传输大文件的优势
javascript·网络·webrtc·html5·p2p
SendTomo5 天前
SendTomo稳定传输三大核心策略
javascript·网络协议·webrtc·html5·p2p
SendTomo5 天前
send.wang(私传网)P2P直连加速文件传输
网络·网络协议·webrtc·html5·p2p
腾视科技-AIoT6 天前
私有云时代来临:AI NAS如何重塑你的数字生活?
人工智能·ai·生活·nas·ai算力模组·ainas·腾视科技
SoStraw7 天前
webrpc 常见问题 FAQ:无公网 IP、Token、传文件,以及和 frp / WebRTC 的差别
tcp/ip·webrtc·frp·token·faq·webrpc·无公网ip
SendTomo8 天前
P2P文件传输工具对比:SendTomo vs send.wang
javascript·网络协议·webrtc·html5·p2p
SendTomo8 天前
WebRTC文件互传工具实测对比
javascript·网络·webrtc·html5·p2p
SendTomo8 天前
send.wang自托管+WSS保障信令安全方案
网络·网络协议·webrtc·html5·p2p