你有没有过这样的瞬间——想给朋友发个稍微大点的文件,微信提示你“文件大小超过限制”;想用网盘分享,对方却必须登录注册;咬牙自建了个网盘,界面又复杂得像个飞机驾驶舱。我知道,这些“文件分享的日常痛”,你我都懂。
今天要聊的Pingvin Share X,就是来终结这些烦恼的。它的目标很简单:让你在自己的服务器上,轻松拥有一个像WeTransfer一样简洁、但完全由你掌控的分享工具。
痛点场景:从“求求你快登录”到“点开即存”
想象一下这个场景:
你是一位设计师,刚完成一个2GB的3D源文件,需要立刻传给客户确认。你把文件传上某商业网盘,生成链接发过去。客户点开链接,迎接他的却是一个大大的登录框——“请注册/登录后下载”。客户在微信那头叹了口气,你的项目进度又多了一丝风险。
Pingvin Share X要解决的就是这个。它让你在自己的服务器(或者家里的NAS)上架设一个轻量的网页服务,你可以直接生成分享链接发给任何人。对方点开链接,看到的就是一个干净、直接的下载按钮,仅此而已,没有套路。
不止是“传文件”,它是一把瑞士军刀
别被它简单的界面骗了,Pingvin Share X的功能藏得很深,就像一只会魔法的企鹅(它的Logo和名字都源于企鹅):
- 文件共享的“安全锁”
你可以给分享链接设置密码保护或访问次数上限。比如,你可以生成一个最多被下载5次的链接,发给合作者,用完即焚。还可以设置过期时间,链接在24小时后自动失效,就像特工电影里的自毁消息。
- 反着来也行:“反向共享”
这是个很有趣的功能。你可以创建一个“反向共享”链接,把它发给一群人,他们可以通过这个链接向你上传文件。这简直是收集作业、征集素材的完美方案,你再也不用在微信里一个个点“另存为”了。
- 存储与安全,尽在掌控
在存储上,它支持本地硬盘,也支持S3兼容的对象存储(比如MinIO、AWS S3),数据和备份策略全由你定。安全方面,它还可以集成ClamAV,自动扫描上传文件是否带病毒。对团队使用来说,它支持OIDC和LDAP协议,可以无缝接入你现有的统一账号体系,不用再单独注册。
一分钟上手:是时候启动你的“私人WeTransfer”了
上手极其简单,前提是你有一台装了Docker的机器(NAS、VPS或者树莓派都行)。
第一步:创建一个docker-compose.yml文件,把下面的内容粘进去:
version: '3.8'
services:
pingvin-share-x:
image: ghcr.io/smp46/pingvin-share-x:latest
container_name: pingvin-share-x
ports:
- "3000:3000"
volumes:
- "./data:/app/data" # 文件实际存在这里
restart: unless-stopped
第二步:在这个文件所在的目录,打开终端,执行一条命令:
docker compose up -d
第三步:打开浏览器,输入http://你的服务器IP:3000。好了,你的私人文件分享站点已经上线。后台管理地址就在网址后面加/admin,初始账号密码可以查容器日志找到。
就这么简单,你拥有了一个对文件大小、速度、隐私完全自主的分享站。
不止于此,这是个有活力的“企鹅社区”
Pingvin Share X是从广受欢迎的Pingvin Share(意为“企鹅分享”)分叉而来,由一群热爱自托管精神的开发者维护。它完全开源,代码在GitHub上公开。虽然是由个人开发者发起,但社区参与非常活跃,至今已有近千次代码提交,支持28种语言,甚至制定了自己的AI辅助编码使用政策,以确保代码质量和透明度。
这意味着,它不是一个“死”项目,而是一个持续进化、倾听社区声音的活平台。
如果你也受够了各种限制,想找回文件分享的纯粹感,不妨去它的GitHub仓库看看: https://github.com/smp46/pingvin-share-x。
给个Star是对项目最好的鼓励,如果你发现翻译有瑕疵、有功能点子,或者想贡献代码,这个企鹅家庭非常欢迎你。说不定,下一个让数万人用得更爽的功能,就是你的手笔。