Add GoDaddy provider support
@rtanglao がすでに取り組んでいます。
2026年7月15日 から。
評価
この issue はまだ評価されていません。
説明
Add GoDaddy provider support
Add godaddy as a remediation provider in records.json so both the CLI
(--provider godaddy) and the web app emit GoDaddy-panel-specific fix instructions
for the 13-record Thundermail set (1 MX, 5 SRV, 4 TXT, 3 DKIM CNAME).
Internal ticket: TBPRO 6850 (6850_GODADDY_CUSTOM_DOMAIN).
⚠️ Ship as UNVERIFIED first. Field conventions below are derived from GoDaddy's
official help docs + a screenshot of the live SRV add-record form — but not yet
confirmed against a live end-to-end add on a real GoDaddy-hosted domain. Follow the
spaceship precedent: prefix the header stringsUNVERIFIED —until validated, then
drop the prefix (see the "Pending verification" pattern in recent commits).
Add-record model
GoDaddy uses a single Add-record form with a Type dropdown (like bunny/spaceship,
not per-type sections like cosmotown).
Path: Domain Portfolio → select domain → DNS tab → DNS Records → Add New Record →
choose Type, fill fields, optional Add More Records, then Save / Save All Records.
Key conventions:
- Apex host = literal
@(GoDaddy explicitly uses@for the root — do NOT leave
it empty, unlikebunny/cosmotown). So use the{host}token, not{subhost}. - MX and SRV have separate Priority (and Weight/Port for SRV) fields — never fold the
priority into Value. - TTL defaults to "1 Hour"; leave it unset.
- On Save, domains with Domain Protection / 2-step verification may prompt for a
one-time code (informational only). - Domain must be on GoDaddy nameservers for these panels to apply.
Field mappings (for the records.json provider block)
Token vocabulary available today: {host}, {subhost}, {target}, {value},
{match}, {priority}, {weight}, {port}.
MX — Type=MX, Name={host}, Priority={priority}, Value={target} (mail host only), TTL default
[add-an-mx-record-19234]
TXT (covers SPF / MTA-STS / TLSRPT / DMARC — GoDaddy adds SPF as a plain TXT) —
Type=TXT, Name={host}, Value={value}, TTL default
[add-a-txt-record-19232,
add-an-spf-record-19218]
CNAME (3 DKIM) — Type=CNAME, Name={host} (DKIM selectors are prefixes, so the
"Name cannot be @" rule doesn't bite), Value={target}, TTL default
[add-a-cname-record-19236]
SRV — ⚠️ fully decomposed into 7 inputs (transcribed from the live form screenshot,
stored at 6850_GODADDY_CUSTOM_DOMAIN/6850-godaddy-adding-srv-record.png):
| Form field | Value |
|---|---|
| Type | SRV |
| Service | e.g. _jmap — the service label |
| Protocol | e.g. _tcp |
| Name | @ (apex) → {host} |
| Value | {target} (host.domain.com) |
| Priority | {priority} |
| Weight | {weight} |
| Port | {port} |
| TTL | default |
⚠️ Implementation gap — new interpreter tokens needed for SRV
GoDaddy is the first provider that splits the SRV _service._protocol label into two
separate inputs. Every other provider puts the whole _jmap._tcp string in the Host
field, so there are no {service} / {protocol} tokens today.
This means GoDaddy support is not a pure records.json addition — it also needs the
tiny interpreter in both front-ends (resolve_record in Python, resolveRecord in JS)
extended to derive {service} and {protocol} by splitting the SRV host label on the
first . (_jmap._tcp → service _jmap, protocol _tcp), with the SRV Name becoming
the apex @. Per CLAUDE.md these two interpreters are duplicated and must stay in sync.
Acceptance criteria
-
godaddyblock added torecords.json(MX/SRV/TXT/CNAME) using the mappings above. -
{service}/{protocol}tokens implemented identically in the Python and JS interpreters. -
uv run verify_thundermail_dns.py example.com --provider godaddyrenders all 13 records
(both--fix-formattable and long) without error. - Web app "GoDaddy" provider mirrors the CLI output (table + detailed).
- README provider list updated (the one hardcoded spot).
- Headers prefixed
UNVERIFIED —until confirmed against a live GoDaddy add-record panel;
then verified end-to-end (add records on a GoDaddy-hosted test domain, confirm 13/13 via
--resolver <domain's GoDaddy authoritative NS>) and prefixes dropped.
Reference docs (GoDaddy Help CA)
- MX — https://www.godaddy.com/en-ca/help/add-an-mx-record-19234
- TXT — https://www.godaddy.com/en-ca/help/add-a-txt-record-19232
- SPF — https://www.godaddy.com/en-ca/help/add-an-spf-record-19218
- CNAME — https://www.godaddy.com/en-ca/help/add-a-cname-record-19236
- SRV — https://www.godaddy.com/en-ca/help/add-an-srv-record-19216
Local source PDFs + SRV form screenshot: THUNDERBIRD_2023/TBPRO/6850_GODADDY_CUSTOM_DOMAIN/.
- 主要言語
- HTML
- スター
- 3
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
thunderbird/dns-scripts のほかの issue
-
Handle CNAME and A record co-existence for MX records対応中かも @rtanglao が 10 日前に担当しました。 オープン
thunderbird/dns-scripts#22 · コメント 1 件 · 担当者 1 名 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
thunderbird/dns-scripts#20 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 42/100
thunderbird/dns-scripts#13 ·
-
Add DigitalOcean provider support再び着手できるかも @rtanglao が 79 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
thunderbird/dns-scripts#9 · コメント 3 件 · 担当者 1 名 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 68/100