Skip to content

DNSPod (Tencent Cloud)

Dotnify connects to DNSPod using a SecretId and SecretKey pair from Tencent Cloud. Requests are signed using the TC3-HMAC-SHA256 algorithm — no SDK dependency is needed.

Creating a SecretId and SecretKey

  1. Log in to the Tencent Cloud console
  2. Go to Access ManagementAPI Key ManagementAPI Keys
  3. Click Create Key — a SecretId and SecretKey will be generated
  4. Save the SecretKey securely — you won't be able to view it again after closing the dialog

WARNING

DNSPod uses the same Tencent Cloud API credentials. If you already have a SecretId/SecretKey with DNS permissions, you can reuse it — there's no need to create a new one.

Required Permissions

The API key needs the following DNSPod permissions:

ServiceActionDescription
DNSPoddnspod:DescribeDomainListList domains
DNSPoddnspod:DescribeRecordListList records in a domain
DNSPoddnspod:CreateRecordCreate a record
DNSPoddnspod:ModifyRecordUpdate a record
DNSPoddnspod:DeleteRecordDelete a record
DNSPoddnspod:DescribeRecordLineCategoryListList resolution lines

You can assign these through a custom policy in Access ManagementPoliciesCreate Custom Policy.

Example custom policy (JSON):

json
{
  "version": "2.0",
  "statement": [
    {
      "effect": "allow",
      "action": [
        "dnspod:DescribeDomainList",
        "dnspod:DescribeRecordList",
        "dnspod:CreateRecord",
        "dnspod:ModifyRecord",
        "dnspod:DeleteRecord",
        "dnspod:DescribeRecordLineCategoryList"
      ],
      "resource": "*"
    }
  ]
}

For simplicity, you can also use the QcloudDNSPodFullAccess preset policy, which grants full DNSPod access.

Adding the Provider in Dotnify

  1. Go to ProvidersAdd provider
  2. Select DNSPod as the provider type
  3. Enter a Display name (e.g. "My DNSPod")
  4. Enter the SecretId and SecretKey
  5. Click Verify & continue

Dotnify will attempt to list domains using the provided credentials. If verification fails, check that:

  • The SecretId and SecretKey were copied correctly
  • The API key has the required DNSPod permissions
  • The account has domains configured in DNSPod

Selecting Zones

After verification, Dotnify shows all domains accessible with the credentials. You can:

  • Check specific domains to manage only those
  • Leave all unchecked to manage every accessible domain

You can change the domain selection later by editing the provider.

How Dotnify Uses the Credentials

Dotnify stores the SecretId and SecretKey in Redis and uses them to make signed calls to the DNSPod API (version 2021-03-23):

OperationDNSPod API Action
List domainsDescribeDomainList
List recordsDescribeRecordList
Create recordCreateRecord
Update recordModifyRecord
Delete recordDeleteRecord
List linesDescribeRecordLineCategoryList

All requests are signed with the TC3-HMAC-SHA256 algorithm and sent as POST to https://dnspod.tencentcloudapi.com/.

DNSPod-Specific Features

Resolution Lines

DNSPod supports resolution lines — you can set different records for different ISPs, regions, or search engines (e.g. default, telecom, unicom, mobile, Baidu, Google). When creating or editing a record in Dotnify, you can select a resolution line from a dropdown.

Unlike Huawei Cloud (which uses a local static file), DNSPod lines are fetched live from the API via the DescribeRecordLineCategoryList action. The available lines may vary per domain depending on your DNSPod plan.

Lines are organized into categories with a two-level hierarchy:

CategoryExamples
DefaultDefault line
ISP/CarrierTelecom, Unicom, Mobile
RegionChina, Overseas, Continents, Countries
Search EngineBaidu, Google, Bing, Youdao, Sogou, Qihoo

When selecting a line in the Dotnify UI, the first dropdown shows the top-level group and the second dropdown shows the specific line within that group.

Record Weight

DNSPod supports per-record weighting. When creating or editing a record, you can set a weight value. This is useful for load balancing — DNSPod will distribute traffic based on the weight ratio across records with the same name and type.

Minimum TTL

DNSPod enforces a minimum TTL of 600 seconds (10 minutes) on the free plan. Dotnify automatically enforces this: if you set a TTL below 600, it will be rounded up to 600.

PlanMinimum TTL
Free600s
Professional300s
Enterprise60s
Ultimate1s

URL Forwarding Types

DNSPod uses Chinese names for URL forwarding record types. Dotnify automatically converts between the standard names and DNSPod's API names:

Dotnify TypeDNSPod API Type
REDIRECT_URL显性URL
FORWARD_URL隐性URL

Record Status

DNSPod records have an enable/disable status. Dotnify exposes this as a status field on records ("enable" or "disable"). This is read-only in the current version.

Security Notes

  • The SecretId and SecretKey are stored in plaintext in Redis (current MVP design). Protect your Redis instance with strong credentials.
  • When the provider list is returned via the API, keys are masked — only the last 4 characters are visible.
  • When editing a provider, you can leave the SecretId/SecretKey fields blank to keep the current values unchanged.
  • All DNSPod API calls are made server-side — the credentials are never exposed to the browser.