返回更新列表
新发布Sep 15, 2026

warpgate v0.29.0-beta.1

全透明的 SSH、HTTPS、Kubernetes、数据库及 RDP/VNC 堡垒机/PAM,无需额外客户端软件

分享


Shows a black logo in light color mode and a white one in dark color mode.


GitHub All Releases     Discord   Docs


Warpgate 是一个智能且完全透明的 SSH、HTTPS、Kubernetes、MySQL、PostgreSQL、RDP 和 VNC 堡垒主机,无需客户端应用或 SSH 包装器。

  • 将其部署在 DMZ 中,添加用户账户,并轻松将其分配给网络内的特定主机和 URL。
  • Warpgate 会为你记录每个会话,以便稍后通过内置的管理 Web UI 进行(实时)查看和回放。
  • 内置基于浏览器的 SSH、RDP 和 VNC 访问;原生客户端继续可用。
  • 不是跳板机——以对客户端完全透明的方式将连接直接转发到目标。
  • 原生 2FA 和 SSO 支持(TOTP 和 OpenID Connect)
  • 内置暴力破解防护,支持 IP 封禁和用户锁定
  • 单一二进制文件,无依赖。
  • 100% 使用安全的 Rust 编写。

支持者:

FLOSS/fund badge

快速开始与下载

文档

完整文档可在 warpgate.null.page 获取,包括:

  • 登录保护 - 配置暴力破解防护
  • SSO - 使用 OpenID Connect 的单点登录
  • 票据 - 临时访问凭证

Warpgate 与跳板机 / VPN / Teleport 有何不同?

WarpgateSSH 跳板机VPNTeleport
✅ 用户与服务之间精确的一对一分配(通常)可完全访问跳板机后面的网络(通常)可完全访问网络✅ 用户与服务之间精确的一对一分配
✅ 无需自定义客户端需要配置跳板机✅ 无需自定义客户端需要自定义客户端
✅ 开箱即用的 2FA🟡 可通过额外的 PAM 插件实现 2FA🟡 取决于提供商✅ 开箱即用的 2FA
✅ 开箱即用的 SSO🟡 可通过额外的 PAM 插件实现 SSO🟡 取决于提供商付费
✅ 命令级审计🟡 跳板机上的连接级审计,如果授予 root 访问权限,目标上无安全审计如果授予 root 访问权限,目标上无安全审计✅ 命令级审计
✅ 完整会话录制如果授予 root 访问权限,目标上无法进行安全录制如果授予 root 访问权限,目标上无法进行安全录制✅ 完整会话录制
✅ 非交互式连接🟡 如果客户端原生支持跳板机,则可以进行非交互式连接✅ 非交互式连接非交互式连接需要使用 SSH 客户端包装器或运行隧道
✅ 自托管,数据归你所有✅ 自托管,数据归你所有🟡 取决于提供商SaaS
✅ 内置暴力破解防护🟡 需要设置 fail2ban🟡 取决于提供商✅ 内置暴力破解防护
image

报告安全问题

请使用 GitHub 的漏洞报告系统。

项目状态

Warpgate 正在企业环境中被积极使用。

下一步的计划和正在进行的工作在公开的路线图上跟踪。

工作原理

Warpgate 是一个部署在堡垒机/DMZ 主机上的服务,它将接受 SSH、HTTPS、Kubernetes、MySQL、PostgreSQL、RDP 和 VNC 连接,并提供(可选的)Web 管理 UI。

运行 warpgate setup 以交互方式生成配置文件,包括端口绑定。详情请参阅快速开始。

它接收带有特定格式凭证的连接,在本地对用户进行身份验证,自行连接到目标,然后将双方连接在一起,同时(可选地)录制会话。

通过 HTTPS 连接时,Warpgate 会呈现可用目标的选项,然后将会话中的所有流量代理到所选目标。你可以随时在目标之间切换。

你可以通过管理 UI 管理目标和用户列表,并将它们相互分配,会话历史记录存储在 SQLite 数据库中(默认位置:/var/lib/warpgate)。

你还可以使用管理 Web 界面查看实时会话列表、查看会话录制、日志等。

AI 透明度披露

2025 年底,本项目开始接受 AI 辅助的贡献。贡献者必须披露 AI 的使用情况。我相信,通过对所有 PR(无论是否由 AI 辅助)应用同样高质量的标准,无需在质量或安全性上做出任何牺牲。

由于 AI 是一个从无脑跟风者到自动补全用户之间的光谱,我相信对其使用保持透明有助于确立并限制 AI 在本项目中的位置。

本项目的架构和安全决策 100% 由人类做出。

贡献 / 从源码构建

  • 你需要 Rust、NodeJS 和 NPM
  • 克隆仓库
  • 使用 Just 来运行任务——安装它:cargo install just
  • 安装管理 UI 依赖:just npm install
  • 构建前端:just npm run build
  • 构建 Warpgate:cargo build(可选 --release)

二进制文件位于 target/{debug|release}。

技术栈

  • Rust 🦀
    • HTTP:poem-web
    • 数据库:通过 sea-orm + sqlx 使用 SQLite
    • SSH:russh
  • Typescript
    • Svelte 5
    • Bootstrap

后端 API

  • Warpgate 管理端和用户端 API 使用自动生成的 OpenAPI schema 和 SDK。在更改查询/响应结构后,要更新 SDK,请运行 just openapi-all。

贡献者 ✨

分类