路由管理
| 命令 | 说明 |
|---|---|
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:
- 选择计费周期(月付或年付)
- 显示所有支持的支付方式的二维码
- 选择支付渠道(微信支付、支付宝或 PayPal)
- 输入交易单号的后 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 平台
| 平台 | HTTPS | SSH | 自托管 |
|---|---|---|---|
| GitHub | 支持 | 支持 | — |
| GitLab | 支持 | 支持 | 支持 |
| Bitbucket | 支持 | 支持 | — |
| Codeberg | 支持 | 支持 | — |
| 自定义 | 支持 | 支持 | 支持 |
配置文件
凭证(access token、邮箱、套餐信息)存储在 ~/.config/gvu/config.yaml,首次使用时自动创建。
隐私说明: 服务端不存储你的 Git 凭证、SSH 密钥或仓库密码。
gvu只会向服务端发送邮箱和验证码——access token 始终保存在你的本地机器上。