经常会遇到需要快速将一些文件从手机传输到笔记本电脑,或从笔记本电脑传输到台式机的情况,之前使用过电子邮件、U
盘、移动硬盘或云存储等传统方法来临时转存。这个过程不仅繁琐而且耗时。PairDrop
解决了这个问题,通过提供简单易用的界面,可以在设备之间轻松传输文件。
什么是 PairDrop ?
PairDrop
是一个基于浏览器的文件传输工具,允许用户在同一局域网内通过点对点的方式快速共享文件。它是Airdrop
等服务的绝佳替代品,适用于所有平台。
软件特点:
- 简单易用:用户只需打开网页,即可开始上传和接收文件,无需安装额外的软件;
- 实时传输:利用
WebRTC
技术实现快速的点对点文件传输,确保数据直接在设备间传送; - 设备配对:用户可以通过扫描二维码或输入配对代码来连接设备,便于快速共享;
- 开源:
PairDrop
是一个开源项目,允许用户查看、修改和贡献代码; - 隐私保护:由于文件直接在用户设备间传输,减少了数据通过服务器的风险,增强了隐私保护;
官方提供了在线演示:https://pairdrop.net
从功能上来说,PairDrop
和老苏之前介绍的 Snapdrop
差不多,毕竟 PairDrop
就是 Snapdrop
的分支。当然差异也是有的,官方做了个对比:https://github.com/schlagmichdoch/pairdrop#differences-to-the-snapdrop-it-is-based-on
文章传送门:Snapdrop实现P2P局域网文件互传
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 pairdrop
,选择第一个 linuxserver/pairdrop
,版本选择 latest
。
本文写作时,
latest
版本对应为1.10.10
;
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
3049 | 3000 |
环境
可变 | 值 |
---|---|
PUID | 设为 1000 |
PGID | 设为 1000 |
WS_FALLBACK | 设置为 true 以启用 websocket 回调,如果客户端无法建立点对点的 WebRTC 连接 |
RATE_LIMIT | 设置为 true 以限制客户端每 5 分钟最多 1000 次请求 |
RTC_CONFIG | 是否指定 STUN/TURN 服务器 |
DEBUG_MODE | 是否启用调试模式 |
TZ | 时区设置 |
更多环境变量的说明,请参考官方文档:https://github.com/schlagmichdoch/PairDrop/blob/master/docs/host-your-own.md#environment-variables
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 运行容器
docker run -d \
--name pairdrop \
--restart unless-stopped \
-p 3049:3000 \
-e PUID=1000 \
-e PGID=1000 \
-e WS_FALLBACK=true \
-e RATE_LIMIT=false \
-e RTC_CONFIG=false \
-e DEBUG_MODE=false \
-e TZ=Asia/Shanghai \
linuxserver/pairdrop:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
pairdrop:
image: linuxserver/pairdrop:latest
container_name: pairdrop
restart: unless-stopped
ports:
- 3049:3000
environment:
- PUID=1000
- PGID=1000
- WS_FALLBACK=true
- RATE_LIMIT=false
- RTC_CONFIG=false
- DEBUG_MODE=false
- TZ=Asia/Shanghai
然后执行下面的命令
# 新建文件夹 pairdrop
mkdir -p /volume1/docker/pairdrop
# 进入 pairdrop 目录
cd /volume1/docker/pairdrop
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:3049
就能看到主界面
- 在同一网络中发送文件时,
PairDrop
使用WebRTC
进行点对点连接; - 通过互联网发送文件时,
PairDrop
会使用服务器作为中继。这可确保您的文件安全快速地传输;
在其他设备上打开相同的网页,您将看到相同的界面,但会显示其他台设备的名称
直接点击设备就可以选择文件进行传输。传输启动后,您需要先在接收设备上接受传输,然后才能传输文件
对于已经配对的设备,可以选择自动接收
互联网上使用,建议使用 tailscale
或者 zerotier
参考文档
schlagmichdoch/PairDrop: PairDrop: Local file sharing in your browser. Inspired by Apple’s AirDrop. Fork of Snapdrop.
地址:https://github.com/schlagmichdoch/pairdrop
PairDrop
地址:https://pairdrop.net/