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

主要特点
通过 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 托管选项可满足您的需求。
- 域配置:
- 将您的域名指向VPS,然后使用您的首选设置配置Pangolin。
- 连接私有站点:
- 在私有站点上安装 Newt 或使用其他 WireGuard 客户端。
- 自动建立从这些站点到中央服务器的连接。
- 公开资源:
- 将资源添加到中央服务器并配置访问控制规则。
- 从任何地方安全地访问这些资源。
项目地址
https://github.com/fosrl/pangolin
声明:本站为个人非盈利博客,资源均网络收集且免费分享无限制,无需登录。资源仅供测试学习,请于24小时内删除,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集。请支持正版!如若侵犯了您的合法权益,可联系我们处理。