我自建了AirDrop替代品,Windows安卓iPhone Linux全平台通用

我自建了AirDrop替代品,Windows安卓iPhone Linux全平台通用
Diebug
AirDrop的不完美
AirDrop是苹果生态里最实用的功能之一。同房间传照片、文档、链接,几秒钟搞定,不需要流量,不依赖第三方应用。
但它有个明显的缺陷:只支持苹果设备和极少数安卓手机。Windows用户和Linux用户基本被排除在外。
我就是这种用户。日常工作中同时用Windows台式机、MacBook、Android手机和Linux笔记本。每次要在这些设备之间传文件,就得想办法——用微信文件传输助手(有大小限制)、用网盘(要上传下载两次)、用U盘(物理往返)。
烦了。于是决定自己解决这个问题。
找到PairDrop
PairDrop是一个开源的Web应用,实现的就是AirDrop的核心功能:同一局域网内的设备互相传输文件。不同之处在于它支持所有平台——任何有浏览器的设备都能用。
它的原理很简单:所有设备打开同一个网页,自动发现彼此,然后直接在浏览器之间传输文件。不需要安装任何应用,不需要注册账号,完全本地传输,文件不经过第三方服务器。
这个项目来自Thomas Krause,在GitHub上有超过3万星标。官方提供了在线演示版(pairdrop.net),但我更愿意自己搭建——数据在自己手里,传输速度也更快。

为什么选择自建
pairdrop.net是官方公共实例,直接用也行。但自建有几个实际好处:
传输速度完全取决于局域网带宽。公共实例的文件要经过他们的服务器中转,自建直接走局域网,速度快得多。文件不经过第三方服务器,隐私更好。pairdrop.net偶尔会维护或者宕机,自建的话永远在线。
用Docker部署
整个过程大约5分钟。
如果你的电脑没有Docker,去docker.com下载安装。Windows和Mac用户用Docker Desktop,Linux用户用apt或yum安装docker-ce。
一行命令搞定:
1 | docker run -d --name pairdrop \ |
这条命令以后台模式运行PairDrop容器,设置系统重启后自动启动,将容器的3000端口映射到本地3000端口。
如果想让局域网内其他设备也能访问,把127.0.0.1改成0.0.0.0。
所有设备打开浏览器,访问http://你的IP地址:3000即可。设备会自动发现彼此,在任意设备上选择文件发送到其他设备,传输完成后文件保存在目标设备的下载目录。

实际使用体验
部署后我用了整整一周。
局域网内传大文件基本跑满带宽。千兆路由环境下,传2GB的视频文件大约30秒。比AirDrop快一点,因为AirDrop有时候会限速。
Windows 11、macOS、Ubuntu、Android 14、iOS 17全部测试通过。iOS和Android用Safari或Chrome打开都能正常工作,不需要安装任何额外应用。
自动发现的机制比较可靠,新设备加入网络后几秒内就能被其他设备发现。一周内没有出现断连或传输失败。
缺点是缺少系统集成。AirDrop可以在右键菜单里直接找到,PairDrop需要手动打开浏览器。用浏览器书签解决——把PairDrop地址加到书签栏,一键打开。

进阶配置
有更多需求的话,PairDrop还支持这些:
用Nginx或Caddy做反向代理,可以轻松加上SSL证书让传输更安全。把pairdrop.example.com指向你的服务器,访问更方便。支持创建临时公共房间,多人会议场景下几个人同时打开网页互相传文件,不需要逐个配对。可以通过环境变量配置标题、描述、品牌色等。
其他替代方案
类似工具还有一些:
Snapdrop功能和PairDrop类似,基于Web的文件传输,界面更简洁,但自托管配置稍微复杂。
LocalSend是开源的跨平台文件传输应用,需要安装客户端,但速度更快、支持端到端加密,适合追求极致速度的用户。
Syncthing专注文件同步而非即时传输,适合需要持续保持文件一致的场景。
对于大多数人,PairDrop是最简单的自托管选择。一行Docker命令就能跑起来,所有设备用浏览器就能用。
写在最后
AirDrop好用但只限于苹果生态,多平台用户的痛点。PairDrop用纯Web技术填补了这个空白,自建部署后Windows、Mac、Linux、Android、iOS全部通用,文件走局域网,速度快隐私好。
经常在不同操作系统设备之间传文件的话,花5分钟搭一个PairDrop,能省去不少麻烦。