侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 100 篇文章
  • 累计创建 34 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

无缝且高效的文件共享,1分钟完成搭建

羊刀仙
2025-01-03 / 0 评论 / 0 点赞 / 10 阅读 / 5154 字
温馨提示:
本文最后更新于 2025-01-03,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

过去跟大家分享过一个专注文本代码分享的好用工具:MicroBin。本篇则是一个主打文件分享的高颜值且轻量的工具:Pingvin Share,几分钟即可部署搞定。

至于为什么NAS明明自带文件分享,还要折腾这类应用?只能说看场景吧,有时候会嫌弃NAS的臃肿,也能弥补一些不足,在临时分享和反向文件收集的时候效率也更高一些。

项目特征

Pingvin Share 是一个基于开源的文件共享平台,它以用户隐私为核心设计,完全在用户的控制之下运行。这不仅解决了数据存储的安全性问题,还赋予了用户更多的自主权。此外,Pingvin Share 具有高度可定制性,用户可以根据自己的需求灵活部署和管理文件共享服务。

项目亮点

对硬件资源的需求非常低,树莓派这种也没问题
创建文件共享,使用链接共享文件并支持访问
支持自定义链接的后缀
部署非常简单(Docker部署2分钟搞定)
没有文件大小的限制(硬盘决定上限)
支持设置分享的有效期设置
支持访客限制,可以设置密码保护
支持切换是否需要登陆才能上传
支持注册/关闭注册
支持邮件提醒接收者
支持暗黑模式浅色和深色模式
支持amd64/arm64

部署流程

会介绍两种方式:以威联通为例的NAS,以 Debian 12 为例的Linux。

威联通NAS部署

首先创建一个专属路径用于配置数据持久化(建议位于常用的Docker安装路径下),我命名为pingvin,具体的路径为/share/Container/pingvin

截屏2025-01-03 09.08.07.png

打开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背景图等

截屏2025-01-03 09.15.58.png

部署完毕后,根据上文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

配置相关

项目的汉化并不算完整,因此就一起来看下。

初始界面如下,点击开始使用。

截屏2025-01-03 09.24.22.png

创建初始用户,点击注册。

截屏2025-01-03 09.27.01.png

第一项为配置pingvin,第二项会直接跳转到使用界面。

截屏2025-01-03 09.28.11.png

可以先进行配置,设置你自己的专属服务名称以及logo等,我这边已经改完。另外,如果大家正式外网启用,App地址也要改成实际域名,不然分享可能报错。(特别说明,Secure 标志用于指示浏览器,仅在通过 HTTPS 连接时发送该 Cookie。这可以防止 Cookie 在不安全的 HTTP 连接中被拦截,提高安全性。因此这类文件分享的应用程序建议通过 HTTPS 提供服务)

截屏2025-01-03 09.34.36.png

显示首页可以选择关掉,首页就是本节的第一张图。关掉后的默认主页微登陆界面。

电子邮件和第四栏的SMTP其实可以看做绑定。电子邮件就是设置邮件发送时默认的文本格式,比如邀请他人、分享文件、密码更改等,默认英文支持自定义修改。SMTP大家应该都很熟悉,如果你不分享给很多人共用pingvin的话其实也没必要进行配置,关于配置方法可以直接搜索(QQ SMTP,163 SMTP等),教程非常多。

截屏2025-01-03 09.41.22.png

是否允许未验证的共享:意为是否需要登录账户才可共享。

Default share ID length:文件共享 ID 的默认长度,该 ID 用于唯一标识每次共享,同时作为访问链接的一部分。

块大小:调整上传文件时的分块大小。上传文件会被分割成小块逐步上传,会影响上传效率和连接稳定性。网络差就分小块,虽慢但稳,反之就分大块。

截屏2025-01-03 09.48.33.png

关于后面的社交账户登陆、LDAP轻量访问、S3存储以及法律声明这里就不做过多介绍,有需求的朋友可以自行填写配置。

使用

来到上传界面,因为上面没修改上传限制,可以看到警告。一般设置个10GB左右就够用。支持手动选择或拖动分享。

截屏2025-01-03 10.12.35.png

要注意的是虽然可以直接上传文件夹,但并不支持文件树保留。

修改后上传,点击共享。要注意的是这边设置完并生成共享链接后,不支持再次修改:

可以通过点击生成生成随机的共享链接,也可手动编写;
设置过期时间,Permanent share意味永不过期;
安全选项中可以设置访问密码保护以及最大访问次数;
共享上传文件的过程中不可关闭界面,也就是不支持后台上传。

截屏2025-01-03 10.17.36.png

上传完毕后会提示,点击可以复制链接或直接跳转。

截屏2025-01-03 10.23.34.png

由于我设置了密码,可以看到已经生效。

截屏2025-01-03 10.23.42.png

输入密码后得到的结果如下。

截屏2025-01-03 10.25.36.png

设置访问次数上限,满足条件后显示结果如下。

截屏2025-01-03 10.26.37.png

在共享链接管理中可以查看已生成的共享。可进行追加共享文件和删除共享操作,查看共享信息如下图。

截屏2025-01-03 10.35.14.png
截屏2025-01-03 10.31.26.png

NAS中查看,可以看到已经上传分享的文件,应该已经进行过服务器加密。

截屏2025-01-03 11.00.50.png

最后

本期就分享到这里,汉化相关有能力的朋友可以参与建设下~

感谢观看,本文完。

0

评论区