飞牛NAS部署 Snapdrop:局域网文件快传
飞牛NAS部署 Snapdrop:局域网文件快传
在日常使用NAS的过程中,文件传输是一个高频需求。虽然飞牛NAS自带的文件管理、SMB共享等功能已经足够强大,但当你需要在手机、平板、电脑之间快速传递一个文件——比如一张照片、一个文档、一段视频——打开网盘、登录微信、插拔U盘这些操作都显得过于繁琐。有没有一种方式,能让局域网内的任何设备,打开浏览器就能互传文件?这就是 Snapdrop 的用武之地。
Snapdrop 是一个开源、基于WebRTC技术的局域网文件传输工具。它最大的特点是无需安装任何客户端,所有设备只要在同一局域网内,打开同一网页即可互相发送文件。数据直接通过浏览器点对点传输,不经过任何服务器,速度取决于你的局域网带宽,而且完全免费、隐私安全。
本文将以飞牛NAS(基于Debian系统)为例,手把手教你通过 Docker 部署 Snapdrop,实现局域网内任意设备一键快传。
准备工作
在开始之前,请确保你的飞牛NAS满足以下条件:
- 已安装 Docker:飞牛NAS系统通常预装了Docker,如果未安装,可通过应用中心或命令行安装。
- 网络环境:所有需要互传文件的设备(手机、电脑、平板等)必须连接在同一局域网下(同一路由器/交换机)。
- SSH访问:为了方便操作,建议通过SSH连接到飞牛NAS的后台。你也可以使用飞牛NAS自带的Docker管理界面,但命令行更清晰可控。
第一步:拉取 Snapdrop 镜像
Snapdrop 在 Docker Hub 上有多个镜像版本,其中 linuxserver/snapdrop 是社区维护的常用版本,配置简单,稳定性好。
打开终端(SSH连接),执行以下命令拉取最新镜像:
docker pull linuxserver/snapdrop:latest
等待镜像下载完成,你可以通过 docker images 命令检查是否成功拉取。
第二步:创建并运行容器
Snapdrop 的部署非常轻量,只需要映射一个端口(默认是80端口)即可。为了避免与飞牛NAS其他服务冲突,我们建议将主机端口映射为8080或其他未占用的端口。
运行以下命令创建并启动容器:
docker run -d \
--name=snapdrop \
--restart=unless-stopped \
-p 8080:80 \
linuxserver/snapdrop:latest
命令参数说明:
- -d:后台运行容器。
- --name=snapdrop:给容器命名为 snapdrop,方便管理。
- --restart=unless-stopped:设置容器在退出时自动重启,除非手动停止。
- -p 8080:80:将主机的 8080 端口映射到容器的 80 端口(Snapdrop 默认端口)。
启动后,可以通过 docker ps 查看容器是否正常运行。如果状态为 Up,说明部署成功。
第三步:配置防火墙(如有)
如果你的飞牛NAS开启了防火墙(例如 ufw 或 iptables),需要放行映射的端口。以 ufw 为例:
sudo ufw allow 8080/tcp
如果是飞牛NAS自带的安全策略,请登录管理后台,在「网络设置」或「安全」中添加端口放行规则。
第四步:访问并使用 Snapdrop
现在,你可以在局域网内的任何设备上打开浏览器,输入以下地址:
http://你的飞牛NAS的IP:8080
例如,如果你的NAS内网IP是 192.168.1.100,则输入 http://192.168.1.100:8080。
打开页面后,你会看到一个简洁的界面,中间显示「Snapdrop」字样,并提示「打开此页面即可与局域网中的其他人共享文件」。其他设备(手机、平板、另一台电脑)同样打开这个网址,所有设备会自动出现在彼此的页面上。
使用方式: - 点击页面上的设备图标,即可选择文件发送。 - 接收方会弹出通知,点击即可下载文件。 - 支持文字消息发送(在输入框输入文字,点击发送)。
注意:所有传输都是点对点(P2P)的,数据不经过服务器,所以速度取决于你的WiFi或局域网带宽。如果遇到传输失败,请检查防火墙或路由器设置,确保WebRTC端口未被封锁。
进阶配置:使用 HTTPS(可选)
Snapdrop 基于 WebRTC,在 HTTPS 环境下工作更稳定(某些浏览器对非HTTPS页面的WebRTC有限制)。如果你有域名和SSL证书,可以为 Snapdrop 配置反向代理。这里以飞牛NAS常用的 Nginx 为例:
- 在飞牛NAS上安装 Nginx(如果已安装可跳过)。
- 在 Nginx 配置文件中添加以下内容:
server {
listen 443 ssl;
server_name snapdrop.yourdomain.com;
ssl_certificate /path/to/ssl/cert.pem;
ssl_certificate_key /path/to/ssl/key.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
- 重启 Nginx:
sudo systemctl restart nginx - 现在可通过
https://snapdrop.yourdomain.com安全访问。
如果只是内网使用,HTTP 通常也够用,但建议开启 HTTPS 以获得更好的兼容性。
卸载与维护
如果需要停止或删除 Snapdrop 容器,可以使用以下命令:
# 停止容器
docker stop snapdrop
# 删除容器
docker rm snapdrop
# 删除镜像(可选)
docker rmi linuxserver/snapdrop
如果想更新到最新版本,先删除旧容器,再重新拉取镜像并创建新容器即可。
总结
通过 Docker 在飞牛NAS上部署 Snapdrop,整个过程只需几分钟,却能极大提升局域网内文件传输的便捷性。无论是给家人发照片、给同事传文档,还是临时分享一个小文件,打开浏览器就能完成,无需任何额外软件。Snapdrop 的轻量和高效,让它成为NAS用户不可或缺的工具之一。
如果你对隐私和速度有较高要求,Snapdrop 绝对值得一试。现在,打开你的飞牛NAS,动手部署一个吧!