Hacker News 中文摘要

RSS订阅

Show HN: Pangolin – Cloudflare Tunnels 的开源替代方案 -- Show HN: Pangolin – Open source alternative to Cloudflare Tunnels

文章摘要

Pangolin 是一个隧道反向代理服务器,具备身份验证、访问控制功能,并提供仪表盘用户界面,帮助用户管理和监控代理服务。

文章总结

GitHub 项目 fosrl/pangolin 是一个隧道式反向代理服务器,具备身份验证、访问控制功能,并提供了一个仪表盘用户界面。该项目旨在通过加密隧道安全地暴露私有资源,特别适用于分布式网络环境,尤其是那些位于严格防火墙后的网络。

主要功能

  1. 反向代理与 WireGuard 隧道

    • 无需开放端口即可暴露私有资源。
    • 支持自定义用户空间 WireGuard 客户端 Newt
    • 自动生成 SSL 证书(通过 Let's Encrypt)。
    • 支持 HTTP/HTTPS 和原始 TCP/UDP 服务,并具备负载均衡功能。
  2. 身份与访问管理

    • 集中式身份验证系统,支持平台单点登录(SSO)。
    • 基于 IP、IP 范围和 URL 路径的访问控制规则。
    • 支持 TOTP 双因素认证和角色访问控制。
    • 支持外部身份提供商(如 Authentik、Keycloak、Okta 等)。
  3. 仪表盘 UI

    • 提供简洁直观的界面,用于管理站点、用户和角色。
    • 支持监控站点使用情况和连接状态,具备亮暗模式切换和移动端友好设计。
  4. 易于部署

    • 支持在任何云平台或本地部署。
    • 提供基于 Docker Compose 的简化部署方案。
    • 支持使用任何 WireGuard 客户端连接,或使用 Newt 以获得最佳体验。
  5. 模块化设计

    • 可扩展功能,支持现有 Traefik 插件(如 CrowdSec 和 Geoblock)。
    • 支持将多个站点连接到中央服务器。

部署与使用示例

  1. 部署中央服务器:通过 Docker Compose 在云平台(如 RackNerd、Amazon EC2、DigitalOcean 等)上部署。
  2. 域名配置:将域名指向 VPS 并配置 Pangolin。
  3. 连接私有站点:在私有站点上安装 Newt 或其他 WireGuard 客户端,自动建立与中央服务器的连接。
  4. 暴露资源:在中央服务器上添加资源并配置访问控制规则,安全访问这些资源。

使用场景

  • 家庭实验室:绕过 ISP 的端口限制,安全暴露 HTTP/HTTPS 资源。
  • 企业应用:将业务应用暴露给用户,集成到身份提供商解决方案中。
  • 物联网网络:集中管理分散的物联网站点,简化访问控制。

类似项目与灵感

  • Cloudflare Tunnels:类似的安全代理私有资源,但 Pangolin 是自托管方案。
  • Authelia:启发了 Pangolin 的集中式身份验证系统。

开发与许可

  • 项目正在积极开发中,未来可能会增加新功能和改进。
  • 采用 AGPL-3.0 和 Fossorial 商业许可双重许可。

贡献与支持

Pangolin Logo

Preview

Collage

评论总结

主要观点总结:

  1. 系统组件与功能

    • Pangolin 使用 Traefik 进行 HTTP 代理,Badger 插件提供请求认证,Gerbil 管理 WireGuard 连接,Newt 则通过用户空间的 WireGuard 代理本地资源,无需特权进程或容器。
    • 关键引用:
      • "Pangolin uses Traefik under the hood to do the actual HTTP proxying."
      • "This means that you do not need to run a privileged process or container in order to expose your services!"
  2. 用户认可与期待

    • 多位用户对 Pangolin 表示高度期待和认可,认为其界面简洁且功能强大。
    • 关键引用:
      • "This is exactly what I have been looking for!"
      • "UI looks quite sleek!"
  3. 与其他工具的对比

    • 用户询问 Pangolin 与 TailscaleCF Tunnels 的区别,尤其是其在管理远程设备或私有服务方面的优势。
    • 关键引用:
      • "Could you explain in layman’s terms what this solves that e.g. tailscale doesn’t?"
      • "I love working with CF Tunnels but I got frustrated with their lackluster web admin ux."
  4. 适用场景与部署

    • Pangolin 适用于家庭实验室、VPS 或生产环境,能够提供安全的反向代理管理,但需注意在 VPS 上运行时可能存在的隐私问题。
    • 关键引用:
      • "If you run it on a VPS, traffic is decrypted on VPS, the same privacy issue with Cloudflare tunnels."
      • "Installed in a small VPS (static IP) as an entry point for all the services I want to expose to friends and family from my homelab."
  5. 技术兼容性

    • 用户询问 Pangolin 是否兼容 Docker Swarm,但目前评论中未明确回答。
    • 关键引用:
      • "Does this work well behind Docker Swarm or is it not designed for that?"

总结:

Pangolin 因其简洁的界面、强大的功能和灵活的部署方式受到用户广泛关注和好评。用户对其在家庭实验室、VPS 和生产环境中的应用表现出浓厚兴趣,但也对隐私问题和技术兼容性提出了疑问。