目 录CONTENT

文章目录

在飞牛云NAS或VPS用Docker搭建一个跨平台文件传输工具-PairDrop-无需注册和安装-局域网公网都可以传输

yyzq
2025-02-13 / 0 评论 / 0 点赞 / 699 阅读 / 1,905 字

前言

一款开箱即用的跨平台文件传输工具,无需注册和安装,只需浏览器即可在同一局域网内任意设备之间自由传输文件,还支持创建临时公共房间实现公网传输,采用点对点传输保证数据安全隐私。
image-1739458287895
基于之前分享的SnapDrop开发,功能上会比原版多点,也支持多种语言
image-1739459265417

特征

适用于所有平台的本地网络上的文件共享。

一种可行的类似 AirDrop 的多平台解决方案。
通过点对点连接将图像、文档或文本发送到同一本地网络上的设备。
互联网传输
加入临时公共房间,通过网络轻松传输文件。
Web 应用程序
适用于所有配备现代网络浏览器的设备。
将文件从手机发送到笔记本电脑?
与使用 Android 和 iOS 的朋友分享原始质量的照片?
在 Linux 系统之间点对点共享私人文件?

屏幕截图 GIF 显示 PairDrop 的使用情况
pairdrop_screenshot_mobile

准备条件

1)一台服务器或者NAS
我们使用飞牛云NAS来演示

需要vps的可以看以下信息

香港VPS

香港Colo数据中心,3C直连,平均延时30+ms,免备案

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
香港BGP 标配版 1C 1G 30G 3Mbps 无限 22 元/月 点我购买
香港BGP 限量款 2C 4G 30G 3Mbps 无限 25 元/月 点我购买
香港BGP(弹性) 2 – 16C 4 – 32G 30 – 400G 3 – 20Mbps 无限 22 元/月起 点我购买

香港Mega Two数据中心,三网CN2 GIA优化,实现全国超低延迟。

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
香港CN2 GIA 标配版 1C 1G 20G 3Mbps 无限 30 元/月 点我购买
香港CN2 GIA(弹性) 2 – 32C 2 – 128G 40 – 700G 3 – 30Mbps 无限 48 元/月起 点我购买

日本VPS

日本服务器介绍
电信去程163,回程CN2,移动联通双程骨干直连,宽带质量优秀。

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
日本CN2(弹性) 1 – 16C 1 – 16G 20-200G 5 – 20Mbps 不限流量 46 元/月起 点我购买
日本CN2大带宽(弹性) 1 – 16C 1 – 16G 20-200G 20 – 50Mbps 500G/月 55 元/月起 点我购买

韩国VPS

韩国服务器介绍
韩国CN2优化线路,大陆访问快速响应,电信CN2
线路,带宽质量优秀

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
韩国CN2(弹性) 1 – 32C 1 – 128G 20 – 100G 3 – 20Mbps 看需求 ¥ 35.00 起/ 月 点我购买
韩国CN2大带宽(弹性) 1 – 32C 1 – 128G 20 – 100G 20 – 50Mbps 300G/月起 38 元/月起 点我购买

美国VPS

美国T级防御云服务器介绍
去程普通线路,回程CN2/9929线路,大陆防御值为200G,超过峰值解封快。

名称 CPU RAM 硬盘 带宽 月流量 价格 购买链接
美国T级防御(弹性) 1 – 16C 1 – 16G 20 – 100G 20 – 300Mbps 不限流 40 元/月起 点我购买
美国高防(弹性) 1 – 16C 1 – 16G 20 – 200G 10 – 30Mbps 不限流 58 元/月起 点我购买
美国高防大带宽(弹性) 1 – 16G 1 – 16G 20 – 200G 20 – 50Mbps 500G/月 56 元/月起 点我购买

2)本项目使用到的github

https://github.com/schlagmichdoch/PairDrop

3)本项目官网

https://pairdrop.net/

4)域名(可选)
最好是绑定下域名

《vps上搭建》

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

docker安装脚本

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

无法使用docker拉取的可以看我之前的文章
国内无法拉取docker镜像的解决办法

二、创建docker-compose.yml文件

mkdir pairdrop;cd pairdrop #创建一个目录,并进入此目录
vim docker-compose.yml
version: "3"
services:
  pairdrop:
    image: "lscr.io/linuxserver/pairdrop:latest"  # 使用最新版本的 pairdrop 镜像
    container_name: pairdrop  # 设置容器名称为 pairdrop
    restart: always  # 容器总是自动重启
    environment:
      - PUID=1000  # 设置容器内应用程序运行的用户 UID
      - PGID=1000  # 设置容器内应用程序运行的用户组 GID
      - WS_FALLBACK=false  # 如果 WebRTC 点对点连接不可用,是否启用 WebSocket 回退(默认为 false)
      - RATE_LIMIT=false  # 是否启用客户端请求限制,默认不限制
      - RTC_CONFIG=false  # 是否配置 STUN/TURN 服务器的路径(默认为 false)
      - DEBUG_MODE=false  # 是否启用调试模式,默认为 false
      - TZ=Etc/UTC  # 设置容器时区为 UTC(可以更改为 Asia/Shanghai)
    ports:
      - "0.0.0.0:3500:3000"  # 将宿主机的 3500 端口映射到容器的 3000 端口(用于 Web UI)

三、执行容器运行命令

docker-compose up -d #运行容器
docker-compose ps  #查看是否开启成功

正常启动如下所示

docker-compose ps
WARN[0000] /vol1/1000/docker/pairdrop/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
NAME       IMAGE                                 COMMAND   SERVICE    CREATED          STATUS          PORTS
pairdrop   lscr.io/linuxserver/pairdrop:latest   "/init"   pairdrop   44 minutes ago   Up 44 minutes   0.0.0.0:3500->3000/tcp

《飞牛NAS上搭建》

直接在docker新增一个compose项目即可
新建项目:

pairdrop
version: "3"
services:
  pairdrop:
    image: "lscr.io/linuxserver/pairdrop:latest"  # 使用最新版本的 pairdrop 镜像
    container_name: pairdrop  # 设置容器名称为 pairdrop
    restart: always  # 容器总是自动重启
    environment:
      - PUID=1000  # 设置容器内应用程序运行的用户 UID
      - PGID=1000  # 设置容器内应用程序运行的用户组 GID
      - WS_FALLBACK=false  # 如果 WebRTC 点对点连接不可用,是否启用 WebSocket 回退(默认为 false)
      - RATE_LIMIT=false  # 是否启用客户端请求限制,默认不限制
      - RTC_CONFIG=false  # 是否配置 STUN/TURN 服务器的路径(默认为 false)
      - DEBUG_MODE=false  # 是否启用调试模式,默认为 false
      - TZ=Etc/UTC  # 设置容器时区为 UTC(可以更改为 Asia/Shanghai)
    ports:
      - "0.0.0.0:3500:3000"  # 将宿主机的 3500 端口映射到容器的 3000 端口(用于 Web UI)

image-1739458971752

启动成功
image-1739458888618

四、打开web页面使用

成功以后需要打开自己相应的端口(3500)防火墙就可以web端访问了
打开自己VPS的端口加ip进入初始化页面

http://ip:3500

image-1739459039892

五、绑定域名

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

0

评论区