源码系统概览
文章正文
Pingvin Share 是一款自托管文件分享平台,界面轻量简洁,私有化部署后可以替代 WeTransfer 这类在线传输服务。
本源码基于 Next.js 与 NestJS 构建,支持链接分享、密码保护、有效期与反向分享,用 Docker 一条命令就能部署起来。
源码简介
Pingvin Share 是 GitHub 上热门的开源文件分享项目,原版位于 stonith404/pingvin-share,当前源码包为 1.13.0,采用 BSD 2-Clause 协议,个人与商业均可免费使用。
用起来和 WeTransfer 很像,创建分享、设置有效期与密码、生成链接或邮件通知收件人,数据都掌握在管理员手里。
源码分为前后端两部分,前端使用 Next.js 14 与 React 18,后端使用 NestJS 与 Prisma,默认用 SQLite 存储,支持本地与 S3 两种存储后端。
原版项目已于 2025 年 6 月归档,官方推荐使用维护中的 Pingvin Share X 分支,部署新站建议关注其安全更新。
适用场景
团队内部要传大文件时,微信、QQ 或邮箱的附件都有大小限制,自建站点想分享多大都行。
也可以把闲置磁盘变成个人私有网盘,文件随时通过链接分享给朋友或客户。
对外交付设计稿、安装包、视频素材这类资料时,配合有效期与密码,文件不会长期暴露。
反向分享适合收集文件,给出一条链接,别人就能把文件传上来,项目收件、问卷附件都能用。
功能亮点
链接分享功能创建分享后生成独立链接,接收方打开就能预览图片、视频与文档,也能一键打包下载全部文件。
访问密码、次数限制、有效期都能设置,密码用 argon2 加密存储,接口层也内置了限流保护。
反向分享生成可多次使用的链接,别人不用注册登录,就能把文件上传到你的服务器。
配置好 SMTP 后,收件人就能收到分享通知,密码重置、管理员邀请这些场景也都走邮件。
文件可以存在本地磁盘,也可以接入 AWS S3 对象存储,Redis 缓存与多实例部署都支持。
企业认证走 LDAP 或 OIDC,还能开启 TOTP 两步验证,GitHub、Google 等社交登录都能直接接上。
Pingvin Share 更侧重链接式文件交付,下面用一张表把它和几个同类项目摆在一起看。
| 项目 | 定位 | 核心特点 | 适用场景 |
|---|---|---|---|
| Pingvin Share | 自托管文件分享平台 | 链接分享、反向分享、邮件通知 | 团队与个人的文件交付 |
| FileBrowser | 网页文件管理器 | 目录浏览与在线管理 | 服务器文件管理 |
| Jirafeau | 轻量文件分享工具 | 单文件直传、自动过期 | 极简临时分享 |
技术架构与部署指南
技术栈与运行环境
前端:Next.js 14 与 React 18 构建,使用 Mantine UI 组件库与 next-pwa 离线支持,支持多语言界面。
后端:NestJS 11 框架,集成 Prisma 6 ORM、JWT 认证、argon2 密码哈希与接口限流,并附带 Swagger 文档。
数据库:默认 SQLite 单文件数据库,可切换到 PostgreSQL 满足高并发需求。
运行环境:推荐 Docker 部署,官方镜像监听 3000 端口,亦可使用 Node.js 22 裸机运行。
其他依赖:可选集成 Redis 缓存、SMTP 邮件、S3 对象存储、ClamAV 病毒扫描,以及 LDAP 与 OAuth 认证。
安装与部署提示
最快的路线是 Docker 部署,下载 docker-compose.yml 后执行 docker compose up -d,服务就运行在 3000 端口。
数据目录通过 volume 挂载到宿主机,升级容器不会丢失已有分享数据。
如需 HTTPS 或反向代理访问,建议将环境变量 TRUST_PROXY 设为 true,并在代理层配置 SSL 证书。
有几个功能依赖外部服务,邮件要 SMTP,云存储要 S3 桶,病毒扫描只在 Docker 环境里启用 ClamAV。
系统默认允许注册,若仅对内部开放,可在后台关闭注册与匿名分享,改用管理员邀请制开通账号。
截图与演示说明

项目官方提供在线 Demo 与操作截图,可以先看看上传与分享的完整流程长什么样。
上传界面里拖拽文件,就会弹出创建分享面板,可以填描述、设置有效期与密码,选项很直观。
分享落地页打开就是文件列表,接收方可以逐项下载、预览,也可以一键打包全部文件。
账号中心能看到每个分享的访问次数与剩余有效期,想编辑、锁定上传或删除都行。
管理后台列出全站分享与用户,站点名称、Logo、注册开关、分享大小上限都能在后台调整。
常见问题
问:Pingvin Share 是什么?
答:Pingvin Share 是开源自托管文件分享平台,可理解为自部署的 WeTransfer,通过链接分享文件,数据掌握在自己手中。
问:这个源码怎么用?
答:推荐 Docker 部署,下载编排文件后执行 docker compose up -d,访问 3000 端口就能用,也可以按文档裸机安装。
问:它和 FileBrowser 这类网盘工具有什么区别?
答:FileBrowser 偏重服务器文件目录的浏览管理,Jirafeau 只做单文件临时分享,GoFile 是托管式网盘,Pingvin Share 专注链接式文件交付,自带有效期、密码与反向分享,用途上错开了。
问:源码是否免费?可以商用吗?
答:项目采用 BSD 2-Clause 开源协议,完全免费,允许个人与商业使用,二次开发保留版权声明即可。
安全风险提示
特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!
原版项目已于 2025 年 6 月归档,不再接收官方安全更新,生产部署前请评估风险,必要时改用 Pingvin Share X 维护分支。
上线前建议修改分享 ID 长度、关闭公开注册、配置 HTTPS,并定期备份数据目录与数据库。
下载说明
本页源码仅供学习与技术研究使用,请勿用于商业或违法用途。
下载前请确认环境满足 Node.js 22 或 Docker 要求,部署后修改默认密码并做好数据备份。
源码来自第三方整理,使用中如遇问题请以原版 GitHub 文档为准。
GitHub项目开源地址:https://github.com/stonith404/pingvin-share

最后更新:2026-08-18