新版Cheep 0.1.0 已发布。可以用 Homebrew、Go 或预编译的二进制文件安装。
开源 · 非官方 Namecheap CLI
Namecheap, 敲个命令就搞定。
查询域名、读取你账户的价格,按审阅过的计划修改 DNS。在终端里用,或交给你的 AI 智能体。
试试翻牌板
所有名字,一条命令查完。
输入一个名字,翻牌板会排出要查的域名。Cheep 在你自己的电脑上,用你自己的 API 密钥向 Namecheap 查询实时结果。
本页面不做任何查询。结果由 Cheep 显示在你的终端里。
运行这条命令来查询
cheep domains check paperkite.com paperkite.dev paperkite.app paperkite.io paperkite.co paperkite.sh $ cheep domains check paperkite.dev paperkite.com paperkite.app paperkite.co DOMAIN AVAILABLE PREMIUM PREMIUM REGISTRATION paperkite.dev yes no 0.00 paperkite.com no no 0.00 paperkite.app yes no 0.00 paperkite.co yes yes 1288.00
$ cheep --json domains check paperkite.dev paperkite.com {"schema_version":"v1","command":"domains.check","ok":true,"data":[{"domain":"paperkite.dev","available":true,"premium":false,"premium_registration_price":0},{"domain":"paperkite.com","available":false,"premium":false,"premium_registration_price":0}],"meta":{"profile":"live","environment":"production"}}
真实 CLI 的示例输出。Cheep 每次都会向 Namecheap 查询实时结果。
花钱的操作
真金白银,得你亲口点头。
在生产环境中,任何可能让账户扣费的调用都会停下,直到你加上三个选项。Cheep 每次都会指出缺的是哪一个,所以手滑的代价只是重试一次,而不是钱。
--yes批准这项变更。先运行 --dry-run,可以看到 Cheep 将要发送的参数。--production确认这项变更针对的是你的真实账户,而不是沙箱。--accept-charge确认你已核对当前价格,之后 Cheep 才会花钱。
- 先用沙箱 新建的配置默认使用 Namecheap 的沙箱,上手期间不会改动任何真实数据。
- 试运行 任何 DNS 或 API 变更都可以加上 --dry-run。Cheep 只展示它会做什么,不做任何更改。
- 密钥收进钥匙串 Cheep 把你的 API 密钥存放在操作系统自带的凭据存储里,绝不写进配置文件。
DNS
先审计划,再改 DNS。
Namecheap 每次写入都会替换整个区域,所以 Cheep 把每一处改动都当作整个区域的变更。你先导出区域、编辑文件,读完计划再应用。
- 导出完整的区域,存为带版本号的 YAML 文件。
- 计划每一项新增和删除,都在改动发生前列出。
- 应用先存快照,再写入一次,然后回读校验。
- 恢复一条命令,就能把快照恢复回去。
应用时,Cheep 会在写入前一刻重新读取线上区域,如果区域在应用过程中变了,就会停止。 阅读 DNS 指南 (英语)
AI 智能体
专为 AI 智能体打造。
你的智能体运行和你一样的命令,输出结构稳定的 JSON。数据写到 stdout,错误写到 stderr,退出码都有文档说明。
退出码
0 | 成功 |
|---|---|
1 | 意外错误 |
2 | 用法错误 |
3 | 凭据缺失或无效 |
4 | 网络错误或超时 |
5 | Namecheap 返回了错误 |
6 | 冲突或结果未知 |
7 | 被安全关卡拒绝 |
8 | 扣费需要 --accept-charge |
130 | 已中断 |
--json带版本号的 JSON,包含命令、结果和所用的配置。--no-input从不等待交互提示,无人值守的运行不会卡住。--readonly拒绝对你 Namecheap 账户的一切更改,退出码为 7。
完整 API
Namecheap 的 59 个 API 方法,一个不少。
日常工作用专门的命令就够了。其余的一切,cheep api 都能调用 Namecheap 官方目录里的每一个方法,而每次写入和扣费都要等对应的选项到位。
显示 59 个,共 59 个
| 命令 | Namecheap 方法 | 类型 |
|---|---|---|
cheep api domainprivacy change-email-address | namecheap.whoisguard.changeemailaddress | 写入 |
cheep api domainprivacy disable | namecheap.whoisguard.disable | 写入 |
cheep api domainprivacy enable | namecheap.whoisguard.enable | 写入 |
cheep api domainprivacy get-list | namecheap.whoisguard.getlist | 读取 |
cheep api domainprivacy renew | namecheap.whoisguard.renew | 扣费 |
cheep api domains check | namecheap.domains.check | 读取 |
cheep api domains create | namecheap.domains.create | 扣费 |
cheep api domains dns get-email-forwarding | namecheap.domains.dns.getEmailForwarding | 读取 |
cheep api domains dns get-hosts | namecheap.domains.dns.getHosts | 读取 |
cheep api domains dns get-list | namecheap.domains.dns.getList | 读取 |
cheep api domains dns set-custom | namecheap.domains.dns.setCustom | 写入 |
cheep api domains dns set-default | namecheap.domains.dns.setDefault | 写入 |
cheep api domains dns set-email-forwarding | namecheap.domains.dns.setEmailForwarding | 写入 |
cheep api domains dns set-hosts | namecheap.domains.dns.setHosts | 写入 |
cheep api domains get-contacts | namecheap.domains.getContacts | 读取 |
cheep api domains get-info | namecheap.domains.getInfo | 读取 |
cheep api domains get-list | namecheap.domains.getList | 读取 |
cheep api domains get-registrar-lock | namecheap.domains.getRegistrarLock | 读取 |
cheep api domains get-tld-list | namecheap.domains.getTldList | 读取 |
cheep api domains ns create | namecheap.domains.ns.create | 写入 |
cheep api domains ns delete | namecheap.domains.ns.delete | 写入 |
cheep api domains ns get-info | namecheap.domains.ns.getInfo | 读取 |
cheep api domains ns update | namecheap.domains.ns.update | 写入 |
cheep api domains reactivate | namecheap.domains.reactivate | 扣费 |
cheep api domains renew | namecheap.domains.renew | 扣费 |
cheep api domains set-contacts | namecheap.domains.setContacts | 写入 |
cheep api domains set-registrar-lock | namecheap.domains.setRegistrarLock | 写入 |
cheep api domains transfer create | namecheap.domains.transfer.create | 扣费 |
cheep api domains transfer get-list | namecheap.domains.transfer.getList | 读取 |
cheep api domains transfer get-status | namecheap.domains.transfer.getStatus | 读取 |
cheep api domains transfer update-status | namecheap.domains.transfer.updateStatus | 写入 |
cheep api ssl activate | namecheap.ssl.activate | 写入 |
cheep api ssl create | namecheap.ssl.create | 扣费 |
cheep api ssl edit-dcv-method | namecheap.ssl.editDCVMethod | 写入 |
cheep api ssl get-approver-email-list | namecheap.ssl.getApproverEmailList | 读取 |
cheep api ssl get-info | namecheap.ssl.getInfo | 读取 |
cheep api ssl get-list | namecheap.ssl.getList | 读取 |
cheep api ssl parse-csr | namecheap.ssl.parseCSR | 读取 |
cheep api ssl purchase-more-sans | namecheap.ssl.purchasemoresans | 扣费 |
cheep api ssl reissue | namecheap.ssl.reissue | 写入 |
cheep api ssl renew | namecheap.ssl.renew | 扣费 |
cheep api ssl resend-approver-email | namecheap.ssl.resendApproverEmail | 写入 |
cheep api ssl resend-fulfillment-email | namecheap.ssl.resendfulfillmentemail | 写入 |
cheep api ssl revoke-certificate | namecheap.ssl.revokecertificate | 写入 |
cheep api users address create | namecheap.users.address.create | 写入 |
cheep api users address delete | namecheap.users.address.delete | 写入 |
cheep api users address get-info | namecheap.users.address.getInfo | 读取 |
cheep api users address get-list | namecheap.users.address.getList | 读取 |
cheep api users address set-default | namecheap.users.address.setDefault | 写入 |
cheep api users address update | namecheap.users.address.update | 写入 |
cheep api users change-password | namecheap.users.changePassword | 写入 |
cheep api users create | namecheap.users.create | 写入 |
cheep api users create-add-funds-request | namecheap.users.createaddfundsrequest | 扣费 |
cheep api users get-add-funds-status | namecheap.users.getAddFundsStatus | 读取 |
cheep api users get-balances | namecheap.users.getBalances | 读取 |
cheep api users get-pricing | namecheap.users.getPricing | 读取 |
cheep api users login | namecheap.users.login | 读取 |
cheep api users reset-password | namecheap.users.resetPassword | 写入 |
cheep api users update | namecheap.users.update | 写入 |
没有匹配的方法。
隐私
只在你和 Namecheap 之间。
Cheep 运行在你的电脑上,只与 Namecheap 的 API 通信。没有任何数据经过我们的服务器,我们也从来看不到你的密钥或域名。
- 没有遥测,没有数据分析,也没有更新检查。
- 你的 API 密钥始终留在操作系统自带的凭据存储里。
- 以 MIT 许可证开源,它发出的每一个请求你都能读到。
安装
三步完成第一次查询。
- 安装 Cheep
在 macOS 或 Linux 上用 Homebrew,或用 Go 1.26.10 及更高版本,也可以下载适用于 macOS、Linux 或 Windows 的预编译二进制文件。
brew install turushan/tap/cheep或使用 Go 1.26.10 及更高版本
下载预编译的二进制文件go install github.com/turushan/cheep/cmd/cheep@latest - 连接沙箱
在 Namecheap 沙箱中创建 API 用户和密钥,并把公网 IPv4 加入白名单。保存配置、存好密钥,再让 doctor 检查一遍。
cheep --environment sandbox auth configure sandbox --api-user YOUR_SANDBOX_USER --client-ip YOUR_PUBLIC_IPV4 --defaultcheep auth set-keycheep doctor - 查询你的名字
一条命令,想查多少个名字都行。
cheep domains check paperkite.dev paperkite.com
任何命令生效之前,Namecheap 都要求先有 API 用户、API 密钥和已加入白名单的公网 IPv4。 阅读认证指南 (英语)
常见问题
Cheep 是 Namecheap 的官方工具吗?
不是。Cheep 是独立的开源项目,Namecheap 不开发、不背书,也不提供支持。它用你自己的 API 密钥调用 Namecheap 的公开 API。
开始使用需要什么?
Cheep 本身(通过 Homebrew、Go 或预编译的二进制文件安装),以及一个开通了 API 访问的 Namecheap 账户:API 用户、API 密钥和已加入白名单的公网 IPv4 地址。建议先在 Namecheap 的沙箱里把一切都试一遍。
我的 API 密钥存在哪里?
存进操作系统自带的凭据存储:macOS 上是钥匙串,Windows 上是凭据管理器,Linux 上是 Secret Service。在服务器上,Cheep 改为读取 CHEEP_API_KEY。千万不要把密钥写在命令参数里。
Cheep 会把我的数据发到别处吗?
不会。Cheep 只与 Namecheap 的 API 通信,没有遥测,没有更新检查,也没有我们自己的服务器。
它能注册、续费和转移域名吗?
可以,通过 cheep api 就能调用 Namecheap 目录中的全部 59 个方法。可能让账户扣费的调用需要 --yes 和 --accept-charge,在真实账户上还要加上 --production。
我的 AI 智能体能安全地使用 Cheep 吗?
能。给它 --json,拿到带版本号的 JSON;给它 --no-input,它就永远不会卡在提示上;不能让它改动你的账户时,再加上 --readonly。被拒绝的变更会返回退出码 7。
为什么 Cheep 默认使用沙箱?
这样在你上手期间,真实环境不会有任何改动。准备好之后,把配置切换到生产环境就行,而生产环境的变更仍然需要 --production。
它能在哪些系统上运行?
macOS、Linux 和 Windows,支持 Intel 和 ARM 处理器。macOS 和 Linux 上可以用 Homebrew 安装,每个版本都提供这三个系统的二进制文件。
Cheep 能修改不托管在 Namecheap 的 DNS 吗?
不能。Cheep 只修改使用 Namecheap DNS 的域名,其余的一律拒绝。
开发者
你好,我是 turushan
Cheep 是我为管理自己的域名而写的。每当我的某个应用有了新网站,Cheep 就会把它的 Namecheap 域名指向托管平台。它免费开源,采用 MIT 许可证,所以接下来该做什么,欢迎到 GitHub 上告诉我。
你的下一个点子,从一个名字开始。
在终端里查一查。每一项变更都会等你批准。
brew install turushan/tap/cheep 指南和 Cheep 的命令与输出一样,都是英文。