分享一个开源的文件共享系统Pingvin Share,项目地址:https://github.com/stonith404/pingvin-share

这个项目的特性如下:

  • 自定义文件上传大小的限制

  • 可以设置自定义后缀分享链接

  • 可以设置分享密码

  • 支持右键发送共享链接

  • 支持反病毒检查

接下来我们开始搭建,本次采用docker-compose的方式来搭建,所以提前安装好docker-compose。

  • 新建一个目录,然后在这个目录里 vim docker-compose.yml 新建这个文件,复制以下内容到该文件里:
version: '3.8'
services:
  pingvin-share:
    image: stonith404/pingvin-share
    restart: unless-stopped
    ports:
      - 3000:3000
    volumes:
      - "./data:/opt/app/backend/data"
      - "./data/images:/opt/app/frontend/public/img"
# Optional: If you add ClamAV, uncomment the following to have ClamAV start first.
#    depends_on:
#      clamav:
#        condition: service_healthy
# Optional: Add ClamAV (see README.md)  
 # ClamAV is currently only available for AMD64 see https://github.com/Cisco-Talos/clamav/issues/482
#  clamav:
#    restart: unless-stopped
#    image: clamav/clamav
  • 你可以按需来放开yml里的注释来启用clamav杀毒软件,这里我们就按照默认的注释掉。

  • 在当前路径执行命令: docker compose up -d

  • 然后就可以前台访问(前提是防火墙一定要放开3000端口) http://ip:3000 端口了。

  • 我们前台开始使用,注册账号即可。注册之后,我们进行自定义配置即可。

  • 可以设置你的APP名字,URL地址,LOGO图片等。URL地址这里就是你的IP和端口。若你设置了反向代理,就填写域名就行,也可以进行邮件相关的各种配置。

  • 共享里可以配置是否允许注册,以及上传的最大限制等。

    最后要演示的就是文件共享的功能了。我们返回到上传页面。点击上传,上传你需要的文件再点击共享按钮,设置过期时间和安全选项等,最后点击共享就OK了。在我的共享页面可以看到具体的过期时间和链接等详情。不过如果你真的打算要建立一个文件共享站,最好还是开启HTTPS以及配置域名反向代理。