什么是 Vanity URL?
简单来说,Vanity URL 让你的 Go 模块拥有一个属于你自己的导入路径,而不是绑定在 GitHub/GitLab 的地址上。
// ❌ 冗长且绑定平台
import "github.com/your-org/your-project"
// ✅ 简洁、品牌化、与平台无关
import "go.yourcompany.com/your-project"
底层代码可以放在任何 Git 服务器上——GitHub、GitLab、Gitea、自建服务器都行。更换代码仓库时,import path 不需要任何改动。
这篇教程带你从零开始,30 秒搞定。
Step 1:安装 gvu(10 秒)
Linux / macOS:
curl -fsSL gomodvanityurls.com/install.sh | bash
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://gomodvanityurls.com/install.ps1 | iex"
安装完成后验证:
$ gvu --version
gvu version 0.1.5 (built: 2026-07-09T10:00:00Z)
Step 2:添加你的第一个 Vanity URL(20 秒)
假设你有一个 GitHub 仓库 https://github.com/yourorg/awesome-lib,你想让它可以用 gomod.io/yourname/awesome-lib 来导入。
$ gvu add gomod.io/yourname/awesome-lib https://github.com/yourorg/awesome-lib.git
✔ Route created successfully!
═══════════════════════════════════════════════════════════
┃ Route ID: m_abc123
┃ Vanity Path: gomod.io/yourname/awesome-lib
┃ Target Repo: https://github.com/yourorg/awesome-lib.git
┃ Quota: 1 / 5 used (4 slots remaining)
═══════════════════════════════════════════════════════════
搞定了。 一个匿名账户会自动创建,无需注册、无需邮箱、无需信用卡。
免费用户有 5 条路由。如果需要更多,绑定邮箱升级为 Verified 即可获得 10 条 + 1 个自定义域名:
$ gvu auth bind
Step 3:验证效果
在任何 Go 项目中试试:
$ go get gomod.io/yourname/awesome-lib
go: downloading gomod.io/yourname/awesome-lib v0.1.0
go: added gomod.io/yourname/awesome-lib v0.1.0
在代码中使用:
package main
import (
"fmt"
"gomod.io/yourname/awesome-lib"
)
func main() {
fmt.Println(lib.Hello())
}
完美运行。
进阶一:使用你自己的域名
gomod.io 是免费共享域名,适合个人项目和快速体验。如果你想要更专业的品牌形象,可以使用自己的域名:
# 1. 添加 DNS CNAME 记录
# go.yourcompany.com → gomodvanityurls.com
# 2. 添加路由
$ gvu add go.yourcompany.com/auth https://github.com/yourorg/auth-service.git
HTTPS 证书会自动签发,无需手动配置。
注意:自定义域名需要 Verified(绑定邮箱)或 Pro 计划。
进阶二:通配路由(Pro 功能)
如果你有一个 GitHub 组织,下面有 50 个仓库,你不想逐个添加路由?用一条通配规则搞定:
$ gvu add 'go.yourcompany.com/dept/*' 'https://github.com/yourorg/*.git'
这条规则会自动匹配:
| 请求的 import path | 实际拉取的仓库 |
|---|---|
go.yourcompany.com/dept/auth | github.com/yourorg/auth |
go.yourcompany.com/dept/config | github.com/yourorg/config |
go.yourcompany.com/dept/logger | github.com/yourorg/logger |
新增仓库时无需任何操作——通配规则自动覆盖。
进阶三:主版本自动支持
Go 模块在 v2 及以上版本时,import path 需要带 /v2 后缀。gvu 自动处理这个:
# 你只需要添加基础路由
$ gvu add gomod.io/mylib https://github.com/yourorg/mylib.git
# v2、v3、v10... 全部自动支持
import "gomod.io/mylib" # v0.x / v1.x
import "gomod.io/mylib/v2" # v2.x
import "gomod.io/mylib/v3" # v3.x
无需为每个版本单独创建路由。
常用命令速查
| 命令 | 说明 |
|---|---|
gvu add <path> <repo> | 添加路由 |
gvu list | 查看所有路由 |
gvu remove <id> | 删除路由 |
gvu auth whoami | 查看账户和配额 |
gvu auth bind | 绑定邮箱升级为 Verified |
gvu auth login | 用邮箱 OTP 登录(换设备时) |
gvu subscribe | 升级到 Pro |
gvu update | 更新 gvu 到最新版 |
下一步
- 📖 完整文档 — 安装选项、自定义域名、故障排查
- 💬 GitHub Issues — 反馈问题和建议
- 🗣️ 社区 — 加入讨论
你的 import path,应该由你说了算。