注:本文为 “文件传输” 相关合辑。
中文引文,未整理去重。
图片清晰度受引文原图所限。
略作重排,如有内容异常,请看原文。


最简单的跨设备传输方案 PairDrop

laosu 发表于 2024-12-11 更新于 2026-03-30

PairDrop 是一种自托管文件传输服务,可让您在设备之间无缝传输文件。

经常会遇到需要快速将一些文件从手机传输到笔记本电脑,或从笔记本电脑传输到台式机的情况,之前使用过电子邮件、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

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 pairdrop ,选择第一个 linuxserver/pairdrop,版本选择 latest

本文写作时, latest 版本对应为 1.10.10

img

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
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 会使用服务器作为中继。这可确保您的文件安全快速地传输;

img

在其他设备上打开相同的网页,您将看到相同的界面,但会显示其他台设备的名称

在这里插入图片描述

直接点击设备就可以选择文件进行传输。传输启动后,您需要先在接收设备上接受传输,然后才能传输文件

img

对于已经配对的设备,可以选择自动接收

img

互联网上使用,建议使用 tailscale 或者 zerotier

img

参考文档


PairDrop 让传文件像 AirDrop 一样简单

经常在手机、电脑间互传文件的人,大多被这些问题困扰:U盘插拔麻烦、云盘上传下载慢、微信传文件有大小限制且压缩画质。PairDrop 就是解决这些痛点的开源神器,基于 WebRTC 实现类 AirDrop 体验,浏览器打开即用,跨设备高速传文件,隐私安全有保障。

一、PairDrop 优势

PairDrop 是免费开源的跨平台文件传输工具,完美适配 Windows、macOS、Linux、iOS、安卓全系统,亮点如下:

  • 零安装即用:无需下载客户端,现代浏览器打开网页就能用,也可安装为 PWA 应用,体验接近原生软件。
  • 极速传输:同一局域网内点对点直连,小文件秒传,大文件速度远超微信、网盘。
  • 安全私密:端到端加密,文件仅在设备间传输,不经过第三方服务器,传输完成自动清理,不留痕迹。
  • 功能实用:支持批量文件/文件夹传输、自动打包 ZIP,可自定义设备名、配对常用设备、创建临时公共房间,还能同步剪贴板。
  • 离线可用:本地部署后,无外网也能在局域网内正常使用。

二、快速上手:网页版直接用(无需部署)

不想折腾部署,直接用官方网页版,3 步完成传输:

  1. 所有设备连同一 Wi‑Fi,浏览器打开 PairDrop 官方https://pairdrop.net
  2. 页面自动发现同网设备,可自定义设备名方便识别。
  3. 电脑端拖放文件/文件夹,手机端点“选择文件”,选中目标设备,对方接收即可完成传输。

进阶用法:

  • 设备配对:生成 6 位配对码或扫二维码,跨网络也能永久配对常用设备,不用每次重连。
  • 公共房间:输入同一房间名,临时和他人跨网传文件,关闭网页自动退出房间。
  • PWA 安装:Chrome/Edge 点地址栏安装图标,Safari 点分享→添加到主屏幕,安卓点菜单→安装应用,快捷启动更方便。

三、本地部署:Docker 一键搭建私有服务

想完全掌控服务、无网使用,用 Docker 本地部署,5 分钟搞定,环境隔离、稳定易维护。

1. 环境准备

提前安装 Docker 和 Docker Compose,Windows/macOS/Linux 均支持。

2. 一键部署命令

终端执行以下命令,自动拉取镜像并启动服务:

docker run -d --restart=unless-stopped --name=pairdrop -p 3000:3000 lscr.io/linuxserver/pairdrop
  • --restart=unless-stopped:设备重启后服务自动启动,保证可用性。
  • -p 3000:3000:端口映射,局域网所有设备可访问(若仅本机用,改为 127.0.0.1:3000:3000)。

3. 访问服务

部署成功后,浏览器访问:

  • 本机:http://localhost:3000
  • 局域网其他设备:http://<部署设备IP>:3000

4. Docker Compose 进阶部署(推荐)

适合需要自定义配置、长期维护的场景:

  1. 克隆项目代码:
git clone https://github.com/schlagmichdoch/PairDrop.git && cd PairDrop
  1. 新建/修改 docker-compose.yml,配置如下:
version: "3"
services:
  pairdrop:
    image: lscr.io/linuxserver/pairdrop:latest
    container_name: pairdrop
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    ports:
      - "3000:3000"
  1. 启动服务:docker-compose up -d
  2. 常用管理命令:
    • 查看状态:docker-compose ps
    • 查看日志:docker-compose logs -f pairdrop
    • 停止服务:docker-compose down
    • 更新版本:docker-compose pull && docker-compose up -d

四、公网远程访问:cpolar 内网穿透

本地部署仅支持局域网,搭配 cpolar 端口映射,可实现异地远程传输,随时随地访问私有服务。

  1. 注册 cpolar 账号,下载安装 Windows 版本,默认安装即可。
  2. 浏览器访问 http://localhost:9200,登录 cpolar Web 管理界面。
  3. 创建隧道:
    • 隧道名称:自定义(如 pairdrop)
    • 协议:http
    • 本地3000
    • 域名类型:长期用选二级子域名,测试用随机隧道
    • 地区:China Top
  4. 官网预留二级子域名,复制到隧道配置中,创建成功后,用公网地址即可异地访问 PairDrop。

五、常见问题解决

  1. 设备无法发现
    • 确认所有设备连同一 Wi‑Fi,关闭 AP 隔离、防火墙放行 WebRTC 端口(UDP 3478‑3479、TCP 443)。
    • 刷新网页,或用手机热点重新测试。
  2. 传输速度慢
    • 优先用局域网直连,避免跨网中继;关闭占用带宽的应用。
    • 自托管可配置专属 STUN/TURN 服务器提升速度。
  3. 无法安装 PWA
    • 确保用 HTTPS 访问(自托管需配置 SSL 证书),使用最新版 Chrome、Edge、Safari 浏览器。

六、总结

PairDrop 兼顾便捷性、速度、安全性,网页版零门槛即用,Docker 部署私有服务更可控,搭配 cpolar 可远程传输,可替代 AirDrop、U盘、网盘、微信传输,个人日常使用、办公团队协作都适配,彻底告别跨设备传文件的繁琐。


Snapdrop 实现 P2P 局域网文件互传

laosu 发表于 2020-10-01 更新于 2026-03-30

Snapdrop 是用于本地文件共享的 Web 应用程序。

前言

经常在办公室需要和同事传个文档啥的,如果正好大家都是 Mac,可以通过 AirDrop (中文名:隔空投送) 来传,但是如果不是,那就只能用 U 盘了。

在这里插入图片描述

那不同系统的电脑间文件传输有没有简单一点的方法呢?今天跟大家分享一个跨平台、跨设备的文档传输服务,打开浏览器就可以使用。只要两个设备在同一个网路环境下,就可以快速传输,在 Windows 上也可以跟 Mac 互传文件达到类似 AirDrop 的效果!

官网https://snapdrop.net/,既不需要注册,也不需要安装 APP

title

当在另一台机器上打开网页后,能看到

title

点击扫描到的设备名称后,就可以开始传输文件了

title

在扫描到的设备上右键,可以发消息

title

如果觉得 Snapdrop 速度慢或者不可靠,还能自己搭建一个,这样不仅更快捷也更安全,虽然 Snapdrop 本身是走的 P2P,并不会在服务器上存储文件。

title

安装

Snapdrop 是开源的项目:https://github.com/RobinLinus/snapdrop,它基于下面这些技术构建:
- Vanilla HTML5 / ES6 / CSS3
- Progressive Web App
- WebRTC
- WebSockets
- NodeJS
- Material Design

技术原理上是通过浏览器的 WebRTC 实现点对点的传输,所以不需要安装软件,也没有文件大小的限制,理论上可以在任何平台和设备上运行,只要浏览器支持 WebRTC 即可。

portainer 来安装,选择 seji/snapdrop-docker

在这里插入图片描述

测试

在浏览器中输入 http://群晖IP:4080,看到的是和官网一样简洁的界面

title

传输文件

在这里插入图片描述

发送端,传输完成后有提示

title

接收端需要确认,保障了安全性

title

发送文字

title

发送端

title

接收端

title

经测试,自己搭建的服务和 snapdrop 官网是一致的。

参考文档


⚠︎ 提示:

上述 Snapdrop 仅做了解。
据 appinn 应用 2024/03/25 反馈,

使用 SnapDrop 已经很多年了,一直是首选工具。但近年来连接成功率越来越低,有时候要等很久,就很烦。
推荐用 PairDrop 替代 SnapDrop。


reference

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐