API 文件
輕湖DNS 提供兩種協定:面向腳本與 Agent 的 JSON API,以及面向標準 DNS 客戶端的 DoH。兩者使用同一把 API Key 與同一份額度。
驗證
JSON 請求透過 X-API-Key 標頭傳遞 Key。無法自訂標頭的 DoH 客戶端把 Key 放在 URL 路徑中,格式見下方範例。Key 可隨時在主控台重新命名或撤銷。
JSON API
向 POST /api/open/resolve 發送 JSON 請求體,或用 GET 加查詢參數快速除錯。region 必須為 cn 或 us;支援的類型為 A、AAAA、CNAME、TXT、MX、NS、SOA。
curl -s https://dns.litelake.cn/api/open/resolve \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"example.com","type":"A","region":"cn"}'JSON API
{
"code": 200,
"message": "ok",
"data": {
"status": "NOERROR",
"rcode": 0,
"answers": [
{ "name": "example.com.", "type": "A", "ttl": 300, "data": "93.184.216.34" }
],
"provenance": {
"region": "cn",
"exec_region": "cn",
"upstream": "223.5.5.5",
"cache": "miss",
"latency_ms": 23
}
}
}DNS over HTTPS
GET /api/open/doh/{region}/{apikey}?dns={base64url},以及使用 application/dns-message 請求體的 POST /api/open/doh/{region}/{apikey}。任何合法 DNS 應答(包括 NXDOMAIN 或 SERVFAIL)都回傳 HTTP 200 與二進位封包。
GET
curl -s -H "Accept: application/dns-message" \
"https://dns.litelake.cn/api/open/doh/cn/YOUR_KEY?dns=AAABAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB"POST
curl -s -X POST \
-H "Content-Type: application/dns-message" \
--data-binary @query.bin \
"https://dns.litelake.cn/api/open/doh/cn/YOUR_KEY"region 參數
視角是顯式參數,不做 GeoDNS 自動判斷。未知 region 回傳 404。
region=cn— cn — 中國視角,由境內邊緣節點與境內上游執行。region=us— us — 海外視角,由海外邊緣節點與無過濾上游執行。
應答溯源
每條 JSON 應答都攜帶視角、執行區域、實際應答上游、快取狀態(miss、fresh、stale)與耗時。DoH 透過 X-LiteDNS-Region、X-LiteDNS-Upstream、X-LiteDNS-Cache 暴露同樣資訊。
region · exec_region · upstream · cache · latency_ms · rcode
錯誤碼
JSON API 失敗時使用原生 HTTP 狀態碼。DoH 遵循 RFC 8484:合法 DNS 應答一律 2xx,4xx 表示沒有產生 DNS 應答。
| HTTP | 錯誤碼 |
|---|---|
| 400 | 網域、類型或封包格式不合法。 |
| 401 | 未攜帶 Key 或 Key 無效。 |
| 403 | Key 已撤銷、方案不可用或無對應 scope。 |
| 404 | 未知的 region。 |
| 406 | Accept 不允許 application/dns-message。 |
| 413 | 請求體超過 64 KB。 |
| 415 | 媒體類型不支援。 |
| 429 | 帳號額度超限,請按 Retry-After 間隔重試。 |
| 504 | 全部上游失敗且無可用快取。 |
客戶端設定
DoH URL 包含路徑,標準客戶端均支援。請使用主控台產生的完整帶 Key URL。
| 客戶端設定 | 狀態 | 說明 |
|---|---|---|
| Firefox 自訂 DoH | 支援 | 填寫完整的帶 Key URL。 |
| Chrome / Edge 安全 DNS | 支援 | URI 範本可包含路徑。 |
| iOS / macOS 描述檔 | 支援 | 在 DNS 設定載荷中填寫完整 URL。 |
| curl / 程式化客戶端 | 支援 | GET 使用 base64url,POST 使用二進位封包。 |
| Android Private DNS | 不支援 | 只接受主機名,無法攜帶 Key 路徑。 |
Agent Skill
讀取 Skill 文件無需驗證。請勿把 API Key 寫入共享日誌。
開啟 /docs/skill.md