过去跟大家分享过一个专注文本代码分享的好用工具:MicroBin。本篇则是一个主打文件分享的高颜值且轻量的工具:Pingvin Share,几分钟即可部署搞定。
至于为什么NAS明明自带文件分享,还要折腾这类应用?只能说看场景吧,有时候会嫌弃NAS的臃肿,也能弥补一些不足,在临时分享和反向文件收集的时候效率也更高一些。
项目特征
Pingvin Share 是一个基于开源的文件共享平台,它以用户隐私为核心设计,完全在用户的控制之下运行。这不仅解决了数据存储的安全性问题,还赋予了用户更多的自主权。此外,Pingvin Share 具有高度可定制性,用户可以根据自己的需求灵活部署和管理文件共享服务。
项目亮点
对硬件资源的需求非常低,树莓派这种也没问题
创建文件共享,使用链接共享文件并支持访问
支持自定义链接的后缀
部署非常简单(Docker部署2分钟搞定)
没有文件大小的限制(硬盘决定上限)
支持设置分享的有效期设置
支持访客限制,可以设置密码保护
支持切换是否需要登陆才能上传
支持注册/关闭注册
支持邮件提醒接收者
支持暗黑模式浅色和深色模式
支持amd64/arm64
部署流程
会介绍两种方式:以威联通为例的NAS,以 Debian 12 为例的Linux。
威联通NAS部署
首先创建一个专属路径用于配置数据持久化(建议位于常用的Docker安装路径下),我命名为pingvin
,具体的路径为/share/Container/pingvin
。
打开Docker管理工具Container Station创建新的项目(应用程序)。将以下代码根据自身情况进行修改,粘贴进框内并创建。
version: '3' # 最新版可删除该行
services:
pingvin-share:
image: stonith404/pingvin-share
restart: unless-stopped
ports:
- 9594:3000 # 冒号左侧可改
environment:
- TRUST_PROXY=false # 没有配置反向代理为false,否则改为true.
volumes:
- "/share/Container/pingvin/data:/opt/app/backend/data" # 文件的共享数据,确保项目升级后不会丢失
- "/share/Container/pingvin/data/images:/opt/app/frontend/public/img" # 存储图片等静态资源,例如logo背景图等
部署完毕后,根据上文web输入NAS_IP:9594即可访问并使用pingvin。
VPS部署
SSH进入控制台,分别输入以下指令
sudo -i
mkdir -p /root/docker/pingvin-share
cd /root/docker/pingvin-share
vim docker-compose.yml
英文输入状态下输入i
键可进入编辑模式,将上面的代码修改后粘贴即可:端口号,反代,文件目录。
volumes:
- "./data:/opt/app/backend/data"
- "./data/images:/opt/app/frontend/public/img"
修改后还是保持英文输入状态,然后按下 esc
退出编辑,然后同时按SHIFT
+:
输入wq
并回车即可保存退出。
最后输入命令启动服务:
docker compose up -d
配置相关
项目的汉化并不算完整,因此就一起来看下。
初始界面如下,点击开始使用。
创建初始用户,点击注册。
第一项为配置pingvin,第二项会直接跳转到使用界面。
可以先进行配置,设置你自己的专属服务名称以及logo等,我这边已经改完。另外,如果大家正式外网启用,App地址也要改成实际域名,不然分享可能报错。(特别说明,Secure 标志用于指示浏览器,仅在通过 HTTPS 连接时发送该 Cookie。这可以防止 Cookie 在不安全的 HTTP 连接中被拦截,提高安全性。因此这类文件分享的应用程序建议通过 HTTPS 提供服务)
显示首页可以选择关掉,首页就是本节的第一张图。关掉后的默认主页微登陆界面。
电子邮件和第四栏的SMTP其实可以看做绑定。电子邮件就是设置邮件发送时默认的文本格式,比如邀请他人、分享文件、密码更改等,默认英文支持自定义修改。SMTP大家应该都很熟悉,如果你不分享给很多人共用pingvin的话其实也没必要进行配置,关于配置方法可以直接搜索(QQ SMTP,163 SMTP等),教程非常多。
是否允许未验证的共享:意为是否需要登录账户才可共享。
Default share ID length:文件共享 ID 的默认长度,该 ID 用于唯一标识每次共享,同时作为访问链接的一部分。
块大小:调整上传文件时的分块大小。上传文件会被分割成小块逐步上传,会影响上传效率和连接稳定性。网络差就分小块,虽慢但稳,反之就分大块。
关于后面的社交账户登陆、LDAP轻量访问、S3存储以及法律声明这里就不做过多介绍,有需求的朋友可以自行填写配置。
使用
来到上传界面,因为上面没修改上传限制,可以看到警告。一般设置个10GB左右就够用。支持手动选择或拖动分享。
要注意的是虽然可以直接上传文件夹,但并不支持文件树保留。
修改后上传,点击共享。要注意的是这边设置完并生成共享链接后,不支持再次修改:
可以通过点击生成生成随机的共享链接,也可手动编写;
设置过期时间,Permanent share意味永不过期;
安全选项中可以设置访问密码保护以及最大访问次数;
共享上传文件的过程中不可关闭界面,也就是不支持后台上传。
上传完毕后会提示,点击可以复制链接或直接跳转。
由于我设置了密码,可以看到已经生效。
输入密码后得到的结果如下。
设置访问次数上限,满足条件后显示结果如下。
在共享链接管理中可以查看已生成的共享。可进行追加共享文件和删除共享操作,查看共享信息如下图。
NAS中查看,可以看到已经上传分享的文件,应该已经进行过服务器加密。
最后
本期就分享到这里,汉化相关有能力的朋友可以参与建设下~
感谢观看,本文完。
评论区