前言
NAS除了存储文件资料外,还有一个大用处就是共享、分享文件和资料。一般来说,NAS都有文件分享的功能,但因为某些原因,这些分享要么被限制在仅NAS账号间可用,要么就是限制了共享的时间和次数,或者无法实现文件加密容易泄露。
今天,我们介绍一款比较新的文件共享网页版应用——QuickDrop,该项目无需注册,打开即用,支持上传、下载一定大小的文件,并且支持文件加密、密码保护等隐私功能,在无需NAS账号的场景下使用十分方便。
一、系统部署
本次部署教程使用我们的绿联DXP4800 PLUS,我们采用Docker Compose部署。
部署前,我们需要在docker目录下创建quickdrop目录,再点击进去创建3个子目录,分别是:db、log和files用于将宿主机的路径挂载到容器内部。
映射关系如下:
path/data:/app/db
path/log:/app/log
path/files:/app/files
完成文件夹创建后,我们来到Docker,选择项目,再点击创建
创建项目里面:
项目名称填写:quickdrop
存放路径系统会自动加载到:共享文件夹/docker/quickdrop
Compose配置则填写下面代码:
# 指定Docker Compose文件的版本,这里使用版本3,因为它是最常用的版本之一
version: '3.8'
services:
quickdrop:
# 使用quickdrop镜像
image: roastslav/quickdrop:latest
# 将容器的8080端口映射到宿主机的2020端口
ports:
- "2020:8080"
# 挂载卷,将宿主机的路径挂载到容器内部
volumes:
- /volume1/docker/quickdrop/db:/app/db
- /volume1/docker/quickdrop/log:/app/log
- /volume1/docker/quickdrop/files:/app/files
# 确保容器在退出时重启,除非被用户明确停止
restart: unless-stopped
创建完,然后点击立即部署,等待完成即可。
二、系统使用
1、打开项目
回到项目,找到quickdrop,不出意外,容器处于正常运行中。
打开浏览器,输出NAS的本地IP地址,再加上映射到宿主机的2020端口,比如我的NAS本地IP是5.5.5.5,则quickdrop的访问地址是:5.5.5.5:2020
2、使用体验
目前支持上传的文件有1G的大小限制,默认保存30天后自动删除(勾选Keep Indefinitely后无限制),支持密码保护。
quickdrop这个项目是没有中文的,截图的中文是我自己汉化后的,后面会讲怎么汉化。
随便找了个QQ音乐PC客户端,大小在73MB,上传速度还是非常快的,眨眼就上传完了。
完成以后会自动转跳到文件下载页面,我们只需要把上方的URL地址提供给他人使用即可。注意,由于目前在内网使用的,如果要提供给公网用户使用,则需要将本项目的服务端口映射到互联网侧。
如果不小心退出了文件传输页面也不要紧,点击右上角的View Files(查看文件),可以看到历次传输的文件列表,点一下就可以回到传输页面。
最后,回到文件管理中看一下,所有上传的文件都被设置成了端对端加密的模式,我们也不需要担心使用该项目会导致传输的文件被外泄。
三、汉化
quickdrop项目默认是英语,也只有英语语种,我检查了下它的源代码,发现,整个WEB端就5个HTML文件,在quickdrop-master/src/main/resources/templates下面,分别是:filePassword.html、fileView.html、listFiles.html、password.html、upload.html。另外,还有quickdrop-master\quickdrop-master\src\main\resources\static\js下面的一个upload.js文件需要翻译。
总共需要翻译6个文件,差不多整个 quickdrop WEB端就汉化完全了。
分别打开它们,对应着翻译成中文就行。
然后就是怎么将docker项目改成中文界面。
其实也简单。quickdrop这个项目是整个打包在quickdrop.jar文件里面的。
首先我们SSH进入NAS
sudo -i
#切换到root用户
docker ps
#列出所有正在运行的Docker容器
docker cp 3dcd034348cb:/app/quickdrop.jar /volume1/docker/quickdrop/quickdrop.jar
#找到quickdrop名称,将名为 3dcd034348cb 的 Docker 容器中的 /app/quickdrop.jar 文件复制到宿主机的 /volume1/docker/quickdrop/quickdrop.jar 路径
再将quickdrop.jar从NAS下载到电脑上,修改后缀名为quickdrop.zip。
打开这个压缩包,将前面翻译修改好的5个HTML文件粘贴覆盖到quickdrop.zip压缩包\BOOT-INF\classes\templates目录下,再将upload.js文件复制粘贴到BOOT-INF\classes\static\js目录下。
再将quickdrop.zip改后缀名回quickdrop.jar,上传覆盖NAS的/volume1/docker/quickdrop目录下的quickdrop.jar文件。
再用下面命令:
docker cp /volume1/docker/quickdrop/quickdrop.jar 3dcd034348cb:/app/quickdrop.jar
#将宿主机上的文件 /volume1/docker/quickdrop/quickdrop.jar 复制到名为 3dcd034348cb 的 Docker 容器中的 /app/quickdrop.jar 路径
最后,重启容器就成。
刷新页面,你会发现,quickdrop的WEB端已经是中文了。