新版Cheep 0.1.0 已推出。可以用 Homebrew、Go 或預先編譯的二進位檔安裝。

開源 · 非官方 Namecheap CLI

Namecheap, 打個指令就搞定。

查詢網域、讀取你帳號的價格,並依照檢視過的計畫修改 DNS。在終端機操作,或交給你的 AI 代理。

用 Homebrew 安裝

brew install turushan/tap/cheep

macOS、Linux 與 Windows · 免費,採用 MIT 授權 · 其他安裝方式

插畫短片 · 以範例資料產生的真實 Cheep 輸出

試試翻牌看板

所有名稱,一個指令查完。

輸入一個名稱,翻牌看板就會排出要查的網域。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

真實 CLI 的範例輸出。Cheep 每次都會向 Namecheap 查詢即時結果。

花錢的操作

真金白銀,要你親口點頭。

在正式環境中,任何可能向你帳號收費的呼叫,都會先停下,直到你加上三個選項。Cheep 每次都會指出少了哪一個,所以一時手滑,代價只是重試一次,不會花到錢。

  1. --yes核准這項變更。先執行 --dry-run,就能看到 Cheep 會送出的參數。
  2. --production確認這項變更是針對你的真實帳號,而不是沙盒。
  3. --accept-charge確認你已核對目前價格,Cheep 才會花錢。
  • 先用沙盒 新的設定檔預設使用 Namecheap 的沙盒,熟悉的過程中不會動到任何真實資料。
  • 模擬執行 任何 DNS 或 API 變更都能加上 --dry-run。Cheep 只會顯示它要做的事,不會改動任何東西。
  • 金鑰收進鑰匙圈 Cheep 把你的 API 金鑰存放在作業系統內建的憑證儲存區,絕不寫進組態檔。

DNS

先看計畫,再改 DNS。

Namecheap 每次寫入都會取代整個區域,所以 Cheep 把每項變更都當成整個區域的變更。你先匯出區域、編輯檔案,看完計畫再套用。

  1. 匯出完整的區域,存成附版本號的 YAML 檔。
  2. 計畫每一筆新增和刪除,都在變更之前列出。
  3. 套用先存快照,再寫入一次,然後回讀驗證。
  4. 還原一個指令,就能把快照還原回去。

套用時,Cheep 會在寫入前一刻重新讀取線上區域,如果區域在套用期間有變動,就會停止。 閱讀 DNS 指南 (英語)

AI 代理

專為 AI 代理打造。

你的 AI 代理執行的指令和你一樣,並以結構穩定的 JSON 輸出。資料寫到 stdout,錯誤寫到 stderr,結束代碼都有文件說明。

結束代碼

0成功
1非預期的錯誤
2用法錯誤
3認證資訊缺少或無效
4網路錯誤或逾時
5Namecheap 回傳錯誤
6衝突或結果不明
7遭安全關卡拒絕
8收費需要 --accept-charge
130已中斷
  • --json附版本號的 JSON,包含指令、結果和使用的設定檔。
  • --no-input絕不等待互動提示,無人值守的執行不會卡住。
  • --readonly拒絕對你 Namecheap 帳號的任何變更,結束代碼為 7。

可以寫進 AI 代理指示的一行

cheep --json --no-input --readonly domains check paperkite.dev
閱讀自動化指南 (英語)

完整 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 寫入
閱讀 API 指南 (英語)

隱私權

只在你和 Namecheap 之間。

Cheep 在你的電腦上執行,只和 Namecheap 的 API 溝通。沒有任何資料經過我們的伺服器,我們也從來看不到你的金鑰或網域。

  • 沒有遙測,沒有分析工具,也沒有更新檢查。
  • 你的 API 金鑰一直留在作業系統內建的憑證儲存區。
  • 以 MIT 授權開源,它送出的每個請求,你都能親自讀到。

安裝

三個步驟,完成第一次查詢。

  1. 安裝 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
    下載預先編譯的二進位檔
  2. 連接沙盒

    在 Namecheap 沙盒建立 API 使用者和金鑰,並把公用 IPv4 加入白名單。儲存設定檔、存好金鑰,再讓 doctor 檢查一遍。

    cheep --environment sandbox auth configure sandbox --api-user YOUR_SANDBOX_USER --client-ip YOUR_PUBLIC_IPV4 --default
    cheep auth set-key
    cheep doctor
  3. 查詢你的名稱

    一個指令,想查多少個名稱都可以。

    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 是我為了管理自己的網域而寫的。每當我的某個 App 有了新網站,Cheep 就會把它的 Namecheap 網域指向網站主機。它免費開源,採用 MIT 授權,所以接下來該做什麼,歡迎到 GitHub 上告訴我。

你的下一個點子,從一個名字開始。

在終端機查一查。每項變更都會等你核准。

brew install turushan/tap/cheep

指南和 Cheep 的指令與輸出一樣,都是英文。