Files
DNSPod-Skill/UPDATE-SUMMARY.md
panfd 47f090aa6f Restore Tencent Cloud API 3.0 with correct TC3-HMAC-SHA256 signing
Major Changes:
-  Restored: TENCENT_SECRET_ID/TENCENT_SECRET_KEY authentication
-  Fixed: TC3-HMAC-SHA256 signature implementation
-  Fixed: SERVICE='dnspod' in credential scope (not API_VERSION)
-  Fixed: API parameter naming (SubDomain not Subdomain)
-  Fixed: Error handling for empty record lists

Files Updated:
- scripts/deploy_record.py - Complete rewrite with correct signing
- .env.example - Updated to Tencent Cloud credentials format
- SKILL.md - Updated documentation for API 3.0

New Documentation:
- MIGRATION.md - Migration guide
- UPDATE-SUMMARY-V3.md - Version 3.0 update summary
- TEST-REPORT.md - Test results and verification

Testing Results:
 API connection successful
 Domain query working
 Record creation successful (tested: test.eoxnet.com A 1.2.3.4)
 Record verification working
 Error handling complete

API Details:
- Endpoint: dnspod.tencentcloudapi.com
- Version: 2021-03-23
- Signature: TC3-HMAC-SHA256
- Service: dnspod

Version: 3.0 (Tencent Cloud API 3.0)
2026-03-01 16:37:38 +08:00

3.7 KiB
Raw Permalink Blame History

DNSPod 技能更新总结

📅 更新时间

2026-03-01 16:18 GMT+8

🎯 更新内容

从腾讯云 API 3.0 迁移到 DNSPod API 2.0

原因:

  • 腾讯云 API 3.0 需要复杂的签名算法
  • SecretId 格式要求严格 (AKID 开头)
  • DNSPod API 2.0 更简单直接

变更:

  • 认证方式SecretId/SecretKey → DNSPod Token
  • API 端点dnspod.tencentcloudapi.com → dnsapi.cn
  • 签名方式TC3-HMAC-SHA256 → login_token 参数
  • 脚本重写:所有 Python 脚本更新

📝 已更新的文件

核心脚本

  • scripts/deploy_record.py - 完全重写,使用 DNSPod Token
  • scripts/list_records.py - 更新 API 调用 (待测试)
  • scripts/delete_record.py - 更新 API 调用 (待测试)
  • scripts/batch_deploy.py - 更新 API 调用 (待测试)
  • scripts/deploy_service.py - 更新 API 调用 (待测试)

配置文件

  • .env - 更新为 DNSPod Token 配置
  • .env.example - 更新配置模板
  • .gitignore - 保持不变

文档

  • SKILL.md - 完全重写,包含 DNSPod Token 说明
  • MIGRATION.md - 新增迁移指南
  • README.md - 待更新
  • INSTALL.md - 待更新
  • ENV_SETUP.md - 待更新

🔑 配置方式

新的配置格式

# 方式 1: 直接设置完整 Token (推荐)
DNSPOD_TOKEN=13490,6b5976c68aba5b14a0558b77c17c3932

# 方式 2: 分别设置 ID 和 Token
DNSPOD_TOKEN_ID=13490
DNSPOD_TOKEN_TOKEN=6b5976c68aba5b14a0558b77c17c3932

获取 Token 步骤

  1. 访问:https://console.dnspod.cn/account
  2. 登录 DNSPod 账号
  3. 进入 账号中心密钥管理
  4. 点击 创建 Token
  5. 输入 Token 名称
  6. 点击确定
  7. 复制 ID 和 Token (只显示一次!)
  8. 组合:ID,Token

🚀 使用示例

基本用法

cd /root/.openclaw/workspace/skills/DNSPod-Skill

# 配置 Token
cp .env.example .env
vim .env  # 填入 DNSPOD_TOKEN

# 测试 API
python scripts/list_records.py --domain example.com

# 部署记录
python scripts/deploy_record.py \
  --domain example.com \
  --subdomain www \
  --type A \
  --value 1.2.3.4

📊 对比

项目 之前 (腾讯云 API 3.0) 现在 (DNSPod API 2.0)
认证 SecretId + SecretKey DNSPod Token
签名 TC3-HMAC-SHA256 无需签名
API 端点 dnspod.tencentcloudapi.com dnsapi.cn
复杂度
子账号 支持 仅主账号
代码行数 ~200 行 ~150 行

优势

  1. 代码更简洁 - 无需复杂的签名逻辑
  2. 配置更简单 - 只需一个 Token
  3. 调试更容易 - 错误信息更直观
  4. 文档更清晰 - DNSPod 官方文档

⚠️ 注意事项

  1. Token 安全

    • Token 等同于密码
    • 不要提交到 Git
    • 定期更换
  2. API 限制

    • 仅支持主账号
    • 避免大量请求
    • 设置 UserAgent
  3. 兼容性

    • 旧配置不兼容
    • 需要重新配置
    • 脚本已重写

🔄 待完成

  • 更新 list_records.py 使用新 API
  • 更新 delete_record.py 使用新 API
  • 更新 batch_deploy.py 使用新 API
  • 更新 deploy_service.py 使用新 API
  • 更新 README.md
  • 更新 INSTALL.md
  • 更新 ENV_SETUP.md
  • 测试所有功能
  • 推送到 Git 仓库

📞 获取帮助


更新者: OpenClaw 日期: 2026-03-01 状态: 核心脚本已更新,待测试