路由管理

命令说明
gvu add <vanity-path> <repo-url>添加新的 vanity URL 路由
gvu list列出所有已注册的路由
gvu remove <route-id> [...]删除一个或多个路由

gvu add

托管平台会根据仓库 URL 自动识别

参数

参数说明
--subdir <path>仓库中 go.mod 所在的子目录路径(Go 1.25+)。使用 * 表示 subdir 通配(仅 Pro)。单模块仓库无需指定。

示例

# ── gomod.io 路由(默认域名,所有用户可用)──

# GitHub
gvu add gomod.io/mylib https://github.com/myorg/mylib.git
gvu add gomod.io/mylib ssh://git@github.com:myorg/mylib.git

# GitLab
gvu add gomod.io/mylib https://gitlab.com/myorg/mylib.git
gvu add gomod.io/mylib ssh://git@gitlab.com:myorg/mylib.git

# Bitbucket
gvu add gomod.io/mylib https://user@bitbucket.org/myorg/mylib.git
gvu add gomod.io/mylib ssh://git@bitbucket.org:myorg/mylib.git

# Codeberg
gvu add gomod.io/mylib https://codeberg.org/myorg/mylib.git
gvu add gomod.io/mylib ssh://git@codeberg.org:myorg/mylib.git

# 自托管 GitLab(自定义端口)
gvu add gomod.io/mylib http://gitlab.example.com/group/mylib.git
gvu add gomod.io/mylib ssh://git@gitlab.example.com:2222/group/mylib.git

# ── Monorepo(Go 1.25+,--subdir)──

# go.mod 位于仓库内的 go/module-a/go.mod
gvu add gomod.io/module-a https://github.com/myorg/monorepo.git --subdir go/module-a
gvu add gomod.io/module-b https://github.com/myorg/monorepo.git --subdir go/module-b

# ── 自定义域名路由(仅 Verified/Pro 用户可用)──

gvu add go.mycompany.com/mylib https://github.com/myorg/mylib.git
gvu add go.mycompany.com/mylib ssh://git@gitlab.com:myorg/mylib.git

# ── 通配路由(仅 Pro + 自定义域名)──

# Repo 通配 — 覆盖 GitHub org 下的所有仓库
gvu add 'go.mycorp.com/dept1/*' 'https://github.com/dept1/*.git'

# Subdir 通配 — 覆盖 monorepo 中的所有子目录
gvu add go.mycorp.com/dept1/mono https://github.com/dept1/mono.git '--subdir=*'

注意: 通配路由需要 Pro 账户和自定义域名。Repo 通配和 Subdir 通配互斥。详见通配路由

自定义域名前置条件:运行 gvu add 之前必须先配置好 DNS CNAME 记录。服务端会在路由创建时验证 CNAME。详见自定义域名配置步骤。

Pro 域名绑定:Pro 用户享有独占域名绑定 — 一旦你在某个自定义域名下添加了路由,只有你可以在该域名下继续添加路由。

注意: 添加 vanity URL 后,你的模块 go.mod 必须使用 vanity 路径作为 module path(如 module gomod.io/mylib),而不是原始托管地址(如 github.com/myorg/mylib)。

gvu list

列出所有已注册的路由。通配路由会标记 [W1][W2]

$ gvu list
[1] m_abc123  gomod.io/mylib  [exact]
[2] m_def456  go.mycorp.com/dept1/*  [W1]
[3] m_ghi789  go.mycorp.com/dept1/mono  [W2]

gvu remove

支持批量删除:

gvu remove m_abc123                    # 单个删除
gvu remove m_abc123 m_def456           # 多个删除
gvu remove m_abc123 m_def456 -y        # 跳过确认

# 删除通配路由
gvu remove m_def456                    # 删除 W1 通配规则

认证

命令说明
gvu auth signup创建匿名账户
gvu auth bind <email>绑定邮箱,升级为 Verified
gvu auth login <email>在新设备上通过邮箱验证码登录
gvu auth logout清除本地凭证
gvu auth whoami显示当前账户信息和配额

gvu auth whoami

显示你的账户详情,包括套餐、配额和 access token。

示例 — Pro 用户:

$ gvu auth whoami
User ID:        usr_abc123
Plan:           PRO
Pro Expires:    2027-06-24T00:00:00Z (365 days remaining)
Email Status:   Verified (user@example.com)
Access Token:   gvu_a1b2...c3d4 (expires 2026-07-25)
Route Quota:    12 / 50 used (38 slots remaining)

当 Pro 订阅剩余 7 天或更少时,到期日期旁会显示警告提示。

订阅

命令说明
gvu subscribe订阅 Pro 套餐(交互式流程)

gvu subscribe

通过交互式支付流程将账户升级为 Pro:

  1. 选择计费周期(月付或年付)
  2. 显示所有支持的支付方式的二维码
  3. 选择支付渠道(微信支付、支付宝或 PayPal)
  4. 输入交易单号的后 4 位字符

提交后,管理员会核实付款并激活你的 Pro 订阅。

详见定价了解套餐和支付方式详情。

其他命令

命令说明
gvu donate显示捐赠二维码(微信支付、支付宝、PayPal)
gvu issue提交 GitHub Issue
gvu --version显示版本号

全局参数

参数简写说明
--json-j结构化 JSON 输出
--yes-y跳过确认提示
--version-v显示版本号

JSON 输出

所有命令都支持 --json

$ gvu list --json
{
  "status": "success",
  "data": {
    "routes": [
      {
        "id": "m_abc123",
        "vanity_path": "gomod.io/private-module",
        "target_repo": "https://github.com/myorg/private-module.git",
        "repo_type": "github",
        "route_type": "exact"
      },
      {
        "id": "m_def456",
        "vanity_path": "gomod.io/module-a",
        "target_repo": "https://github.com/myorg/monorepo.git",
        "repo_type": "github",
        "subdir": "go/module-a",
        "route_type": "exact"
      },
      {
        "id": "m_ghi789",
        "vanity_path": "go.mycorp.com/dept1/*",
        "target_repo": "https://github.com/dept1/*.git",
        "repo_type": "github",
        "route_type": "wildcard_repo"
      }
    ]
  }
}

支持的 Git 平台

平台HTTPSSSH自托管
GitHub支持支持
GitLab支持支持支持
Bitbucket支持支持
Codeberg支持支持
自定义支持支持支持

配置文件

凭证(access token、邮箱、套餐信息)存储在 ~/.config/gvu/config.yaml,首次使用时自动创建。

隐私说明: 服务端不存储你的 Git 凭证、SSH 密钥或仓库密码。gvu 只会向服务端发送邮箱和验证码——access token 始终保存在你的本地机器上。