Keycloak + Pingvin Share X+ S3+ ClamAV

集成 S3 存储、反向分享与病毒扫描的安全文件分享平台

Pingvin Share X 作为平台主体承载分享/到期/反向分享等业务流;S3 Buckets 提供对象存储;ClamAV 负责上传文件安全扫描;Keycloak 提供高级身份认证。

✓ 组件齐全,可对接企业级认证✓ 支持 ClamAV 上传安全扫描 ✕ 组件多,部署复杂度较高✕ 依赖外部 Keycloak 与 S3

方案简介

Pingvin Share X 是一份从 Pingvin Share 分叉而来的自托管文件分享平台,定位偏向企业或团队内部的「可控文件交换」场景。它在原版基础上加入了反向分享、链接过期、S3 后端、对接 ClamAV 进行病毒扫描、以及通过 Keycloak 等提供的高级身份认证等能力。

适合以下用户:

  • 希望在自有基础设施上提供一份带登录、可过期、可追踪的临时文件分享服务;
  • 已使用或愿意部署 Keycloak 做统一 SSO 的组织;
  • 需要在上载环节做病毒/恶意文件拦截的团队;
  • 希望把数据放在自有 S3 兼容对象存储中,而非服务进程本地磁盘的运维者。

亮点与能力

根据材料原文摘录,Pingvin Share X 具备以下能力:

  • 登录与用户体系:通过 advanced authentication 提供登录控制能力。
  • 反向分享(Reverse Shares):允许接收方向发送方投递文件。
  • 分享链接过期(Share Expiry):可配置到期时间,过期后自动失效。
  • S3 Buckets 后端:文件可直接落到 S3 兼容对象存储桶中,便于容量扩展与跨节点共享。
  • ClamAV 安全扫描:上传时调用 ClamAV 进行病毒/恶意文件检测。
  • Keycloak 集成:可对接 Keycloak 实现统一身份认证。

材料中给出的项目标签为 BSD-2-Clause Docker/Nodejs,说明其以 Docker 容器 + Node.js 形态分发。

组成与分工

  • Pingvin Share X:平台主体,提供 Web UI、上传/下载/分享、反向分享与过期等业务逻辑(Docker/Nodejs)。
  • S3 Buckets:对象存储后端,承载用户上传的文件实体;可使用 MinIO、SeaweedFS、ZOT OCI Registry 等 S3 兼容方案,或公有云 S3。
  • ClamAV:开源杀毒引擎,Pingvin Share X 调用其在上载环节做安全扫描。
  • Keycloak:身份与访问管理服务,Pingvin Share X 通过 advanced authentication 对接其完成 SSO/用户认证。

注意事项与常见问题

  • 部署栈较长:需同时维护 Pingvin Share X、S3、ClamAV、Keycloak,运维成本显著高于单进程文件分享服务。
  • 材料中给出的授权与运行时标签为 BSD-2-Clause Docker/Nodejs,实际配置需结合上游仓库 README 进行。
  • 当使用 S3 作为后端时,需保证 Pingvin Share X 节点与 S3 之间的网络可达性与凭据安全。

优缺点

  • ✓ 组件齐全,可对接企业级认证
  • ✓ 支持 ClamAV 上传安全扫描
  • ✕ 组件多,部署复杂度较高
  • ✕ 依赖外部 Keycloak 与 S3

出处

本方案挖掘自开源项目 awesome-selfhosted/awesome-selfhosted,方案内容与实施命令均来自其 README 原文。

方案出处
awesome-selfhosted/awesome-selfhosted

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。