你真正拥有的
许可证管理系统。

不再按席位付费来管理你自己的软件许可证。Keygate 是一个开源许可证服务器,部署在你的基础设施上,密钥、激活、用量计量、支付全部集成。

$docker compose up -d
app.keygate.app
Keygate admin dashboard showing license management, usage statistics and customer overview

为真实许可场景而建

不是玩具项目。Keygate 处理那些自研方案搞不定的边界情况:并发激活、原子级配额执行、Webhook 幂等性、支付生命周期管理。

许可证

所有模式,一套 API

订阅、永久、试用、浮动许可,按需选择。激活数可按设备或用户限制。支持宽限期。密钥以 SHA-256 哈希存储并加密落库。令牌使用 Ed25519 签名,你的应用用公钥离线校验,因此拿到二进制也伪造不出授权。完整生命周期:创建、激活、验证、暂停、吊销。

  • 4 种许可模式
  • 设备和用户激活限制
  • Ed25519 令牌离线校验
POST /api/v1/license/verify
Content-Type: application/json

{
  "license_key": "KG-LE376JPT-MJHHUNGZ-UCZJFD47-6E8RA6AL",
  "identifier": "device-abc-123"
}

→ 200 OK
{
  "success": true,
  "data": {
    "status": "active",
    "plan_name": "Professional",
    "grace_days": 7,
    "token": "eyJsaWQiOiI1YTA4YjJiMC0x..."
  }
}
POST /api/v1/license/usage
{
  "license_key": "KG-LE376JPT-...",
  "feature": "api_calls",
  "quantity": 1
}

→ 200 OK
{
  "success": true,
  "data": {
    "accepted": true,
    "used": 9847,
    "limit": 10000,
    "remaining": 153,
    "period": "monthly",
    "period_key": "2026-09"
  }
}
计量

原子级用量追踪

追踪 API 调用、存储、带宽,或自定义指标。配额在数据库层通过 SELECT FOR UPDATE 原子执行,两个并发请求不会同时通过限额检查。

  • 自定义指标
  • 防竞态条件
  • 自动重置周期
支付

Stripe 和 PayPal 端到端集成

客户付款 → 许可证自动创建。付款失败 → 催款邮件触发。支持结账、按比例升降级、取消、退款和账单门户。配置一次,自动运行。

  • 自动开通
  • 催款与生命周期
  • 升级 / 降级
1
checkout.session.completed

→ Create license + subscription

2
invoice.payment_failed

→ Start dunning sequence

3
customer.subscription.deleted

→ Revoke license, notify user

4
charge.refunded

→ Revoke license, credit customer

管理后台

一个面板管理一切

产品、计划、客户、许可证、API 密钥、Webhook、分析、审计日志、团队管理、邮件模板,都在一个管理面板中完成,支持搜索、筛选和 CSV/JSON 导出。

三步跑起来

一个二进制文件加一个数据库。不用注册账号,不用申请 API Key。

  1. 1

    部署

    Postgres 和服务一起起来,之后交给安装向导。

    curl -O https://raw.githubusercontent.com/tabloy/keygate/main/docker-compose.yml
    docker compose up -d
  2. 2

    创建产品

    在后台建一个产品、一个方案,签发第一张授权,大约一分钟。

    # In the setup wizard: create a product, then a plan,
    # then issue a license from the dashboard.
    open http://localhost:9000
  3. 3

    验证授权

    和你的应用发出的是同一个请求。返回授权状态,以及一个可离线校验的签名令牌。

    curl -X POST http://localhost:9000/api/v1/license/verify \
      -H 'Content-Type: application/json' \
      -d '{"license_key":"KG-XXXX-XXXX-XXXX-XXXX","identifier":"device-1"}'

Keygate vs. 其他方案

与商业许可证管理平台的功能对比。

功能KeygateKeygenCryptlexLicenseSpring
开源~
可自托管
浮动许可
用量计量
内置支付
客户门户
Webhooks
审计日志
多语言

依据各厂商公开文档与定价页整理,2026 年 9 月。发现过时的地方?欢迎提 issue。

要花多少钱

Keygate 免费使用,商用也免费。用它给你自己销售的软件发授权,或者面向自己的客户运行,都不用付费。软件本身没有付费版本。

自托管

免费

完整功能,基于 AGPL v3。两个条件:界面上保留 Powered by Keygate 署名;如果你改了代码并让别人使用,把改动公开。

  • 包含商业使用,不限授权数和席位数
  • 可以自由 fork 和修改
  • 功能全开,没有留给付费版的部分

商业授权

面谈

解除上面那两个条件。日常商用不需要它;想白标或闭源的才需要。

  • 去掉界面上的 Powered by Keygate 署名
  • 改动不公开,同时对外提供服务
  • 按你自己的条款转售
咨询商业授权

适用于任何软件业务的开源许可证管理

无论你销售桌面应用、SaaS 订阅、API 访问还是企业软件,Keygate 都能在一个可自托管的平台中处理许可证密钥、激活、用量限制和定期付款。