zordhalo/runs-on.dev · 上手攻略

  • 仓库:zordhalo/runs-on.dev
  • 链接:https://github.com/zordhalo/runs-on.dev
  • 分类:开发者工具 · 基础设施
  • 作者:Tom
  • 更新:2026-09-04

是什么

runs-on.dev 是一个免费子域名注册服务,允许开发者认领形如 yourname.runs-on.dev 的子域名,并将其指向任意托管平台。本质是一个开源的"子域名注册表"——它的 registry 就是 GitHub 仓库里的一个 JSON 文件目录,没有任何隐藏数据库,git log 就是完整的历史记录,规则全部写在代码里(lib/)。

开发者 zordhalo 在 2026 年初搭建了这项服务(Stars 98,周增 +182,增长迅猛),背后的运营方是 Advance Labs。它与传统的 TLD 注册完全不同:它不是 ICANN 顶级域名,而是一个在已注册域名 runs-on.dev 下分配二级域名的开放注册表。

解决什么问题

个人开发者做作品集、简历页、博客或 side project 时,往往想用一个简短好看的域名(例如 myprofile.runs-on.dev),但: - 注册真实 TLD 每年约 $10–$15,且需要一个 registry 来运行它; - GitHub Pages、Netlify、Vercel 的默认 URL 后缀(github.iovercel.app)不够个性化; - is-a.dev / js.org / eu.org 等类似服务虽然免费,但要么限制严格,要么体验较老。

runs-on.dev 的思路是:花一个域名的钱(runs-on.dev 本身约 $10/年),用开放注册表的方式,把二级域名免费分配给所有开发者,既有个性,又没有自建 registry 的麻烦。

快速认领

无需安装任何东西,全程在浏览器完成:

  1. 打开 runs-on.dev,用 GitHub 账号登录
  2. 输入你想注册的名称(如 mycoolapp
  3. 系统会写入一条 JSON 记录到 zordhalo/runs-on.dev/domains/,即 domains/mycoolapp.json
  4. DNS 在数秒内生效,mycoolapp.runs-on.dev 立即可访问(默认显示一个基于你 GitHub 资料生成的 profile card)

资格要求(README 原文): - GitHub 账户至少有 30 天历史 - 账户下至少有一个公开仓库 - 一个账户只能注册一个名称

核心用法

方式一:通过网站管理面板(最简单)

登录后访问 runs-on.dev/manage,选择记录类型并填写内容,保存后自动提交 git commit,DNS 秒级生效。

支持的记录类型:

类型 格式 共存规则
CNAME 主机名字符串 独立存在,不能与 A/TXT/MX 共用
A 一个或多个 IPv4 地址 可与 TXT、MX 共用
TXT 字符串(每条 ≤255 字符) 可与 A、MX 共用
MX 1–5 条 {priority, value} 可与 A、TXT 共用
URL 一个完整 http(s):// 字符串 独立存在,不能与任何其他记录共用

方式二:通过 Pull Request(适合需要审核的场景)

  1. Fork zordhalo/runs-on.dev
  2. domains/ 目录下新建 <name>.json,内容如:
{
  "name": "mycoolapp",
  "owner": { "github": "mygithubhandle" },
  "claimedAt": "2026-01-01T00:00:00.000Z",
  "records": {}
}
  1. 添加 records(对外服务)和可选的 subdomains(一层子域)配置,提交 PR
  2. CI 自动用 schema/record.schema.json 做校验,通过后合并,GitHub Actions 自动推送 DNS

指向具体托管平台(常用配置)

Vercel(最快)

"records": { "CNAME": "cname.vercel-dns.com" }

然后在 Vercel 项目设置中把 you.runs-on.dev 加为自定义域名,Vercel 会提示相同的 CNAME 目标。

Bluesky AT Protocol(无需托管)

"subdomains": {
  "_atproto": { "TXT": ["did=did:plc:你的DID"] }
}

在 Bluesky 个人资料设置里把 _atproto.myname.runs-on.dev 填入即可验证。

GitHub Pages、Netlify、Railway 等九种平台的完整配置示例见 docs/guides.md

典型适用场景

  • 个人简历/作品集页:一个好看的 myname.runs-on.devmyname.vercel.app 更有辨识度
  • 简历链接:在简历上放 resume.runs-on.dev 指向你的静态站点,比 GitHub Pages URL 简短
  • side project 首页:项目名 .runs-on.dev 作为正式落地页
  • 开发者主页:集成了 GitHub 资料的默认 profile card,无需额外配置
  • Bluesky / Discord 验证:用 TXT 记录验证社交平台身份,无需搭建服务器

坑与注意

  1. CNAME 不能与 A/TXT/MX 共用:如果你同时需要 MX(邮件)和 CNAME,是做不到的,需要用 A 记录替代。
  2. 30 天 + 有公开仓库的限制:新注册的 GitHub 账户无法使用,但这个门槛本身是合理的(防滥用)。
  3. URL 类型独占:如果你配置了 URL 重定向,该记录不能与其他任何记录共存。
  4. 名称不可重命名:一旦 claimedAt 写入,只能删掉重新注册新名字,不支持 rename 操作。
  5. 运营商 Advance Labs 的可靠性:这是一个个人运营的服务(Stars 98,周增 +182 说明正在快速获得关注),但背后的 runs-on.dev 域名续费依赖运营方。要关注项目的维护状态。
  6. 生产环境慎用:虽然机制透明(git 即 registry),但目前 Stars 98,属于早期项目,用于正式产品前建议评估风险。

与同类对比

方案 特点 限制
runs-on.dev 免费、简单、记录类型丰富、支持 PR 依赖第三方运营,非真正 TLD
is-a.dev 免费、最老牌 管理较为宽松,界面陈旧
js.org 面向 JS 项目 仅限特定用途,审核较严
eu.org 免费、历史悠久 审核极慢,功能有限
自购 TLD + Cloudflare 完全拥有、控制权大 需要每年续费,配置稍复杂

runs-on.dev 的核心优势是体验最接近真正的 TLD(用户感觉拥有了自己的域名),同时维护成本极低。它比 is-a.dev 更新、更现代,比 eu.org 快得多。

一句话推荐结论

如果你想要一个好看的二级域名指向你的作品集或项目页,又不想折腾 DNS 和每年续费,认领一个 myname.runs-on.dev 是目前最简单可靠的免费方案,前提是你接受它不是真正的 TLD 且依赖第三方运营。