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.img 是 2.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。

相关推荐
小此方3 天前
Linux网络(二十九):从内网穿透到P2P打洞:NAT转换、代理机制与局域网通信的底层全景解析
linux·网络·p2p
Xxtaoaooo4 天前
私人日记不想散落在多个App?我用DailyTxT把记录、搜索和图片都放进自己的NAS
docker·nas·dailytxt
SoStraw4 天前
没有公网IP怎么远程SSH?设备只装 p2pssh-server,File2File 一键连回去
ssh·内网穿透·远程ssh·webrpc·无公网ip·file2file·p2pssh
zoyation11 天前
jrp 1.2.0 重磅发布|P2P打洞直连 · 端口自动分配 · 一端口多服务,这次全齐了!
网络·网络协议·p2p
明王明王11 天前
PVE 装飞牛 fnOS 1.2:从虚拟机创建到数据盘配置
nas·飞牛
ynchyong12 天前
海思MV310机顶盒 Debian9 NAS刷机终极教程
nas·机顶盒·mv310
东风微鸣12 天前
把威联通 NAS 接进 Prometheus 监控
nas·威联通