Pangolin:开源美观带有仪表板界面的的隧道反向代理服务器,轻松访问内网

项目介绍

Pangolin是一个具有身份和访问控制的自托管隧道反向代理服务器,旨在安全地公开分布式网络上的私有资源。作为中央枢纽,它通过加密隧道连接孤立的网络(甚至是那些位于限制性防火墙后面的网络),无需打开端口即可轻松访问远程服务。让家里的设备无需公网 ip 即可暴露到公网上。

项目截图

Pangolin:具有身份和访问控制以及仪表板 UI 的隧道反向代理服务器

主要特点

通过 WireGuard 隧道的反向代理

  • 在不打开端口(防火墙打孔)的情况下公开网络上的私有资源。
  • 通过自定义用户空间 WireGuard 客户端 Newt 安全且易于配置站点到站点连接。
  • 对任何 WireGuard 客户端的内置支持。
  • 通过 LetsEncrypt 自动获得 SSL 证书 (https)。
  • 支持 HTTP/HTTPS 和原始 TCP/UDP 服务
  • 负载均衡。

身份和访问管理

  • 使用平台 SSO 的集中式身份验证系统。用户只需管理一次登录。
  • 为每个资源的 IP、IP 范围和 URL 路径定义访问控制规则。
  • 带有备份代码的 TOTP,用于双重身份验证。
  • 创建组织,每个组织都有多个站点、用户和角色。
  • 基于角色的访问控制,用于管理资源访问权限。
  • 其他身份验证选项包括:
    • 使用一次性密码将电子邮件列入白名单。
    • 临时的、自毁的共享链接。
    • 特定于资源的 pin 代码。
    • 特定于资源的密码。
  • OAuth2/OIDC 的外部身份提供商 (IdP) 支持,例如 Authentik、Keycloak、Okta 等。
    • 从 IdP 自动配置用户和角色。

简单的仪表板 UI

  • 使用简洁直观的 UI 管理站点、用户和角色。
  • 监控站点使用情况和连接性。
  • 浅色和深色模式选项。
  • 移动友好。

轻松部署

  • 在任何云提供商或本地运行。
  • 基于 Docker Compose 的设置,可简化部署。
  • 面向未来的安装脚本,用于简化设置和功能添加。
  • 使用任何 WireGuard 客户端连接,或使用我们的自定义用户空间客户端 Newt 以获得最佳体验。
  • 使用 API 创建自定义集成和脚本。
    • 通过限定范围的 API 密钥对 API 进行精细的访问控制。
    • API 的全面 Swagger 文档。

模块化设计

  • 使用现有的 Traefik 插件扩展功能,例如 CrowdSec 和 Geoblock。
    • 通过 Pangolin 的安装程序脚本自动安装和配置 Crowdsec。
  • 根据需要将任意数量的站点连接到中央服务器。

部署和使用示例

部署中央服务器

  • 将 Docker Compose 堆栈部署到托管在 RackNerd、Amazon EC2、DigitalOcean Droplet 等云平台上的 VPS 上。有许多廉价的 VPS 托管选项可满足您的需求。
  1. 域配置
    • 将您的域名指向VPS,然后使用您的首选设置配置Pangolin。
  2. 连接私有站点
    • 在私有站点上安装 Newt 或使用其他 WireGuard 客户端。
    • 自动建立从这些站点到中央服务器的连接。
  3. 公开资源
    • 将资源添加到中央服务器并配置访问控制规则。
    • 从任何地方安全地访问这些资源。

项目地址

https://github.com/fosrl/pangolin

© 版权声明
THE END
喜欢就支持一下吧
点赞28 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容