Metadata-Version: 2.1
Name: certbot-dns-dnspod-109
Version: 1.0.0
Summary: The `certbot-dns-dnspod-109` plugin automates the process of completing a `dns-01` challenge (`~acme.challenges.DNS01`) by creating, and subsequently removing, TXT records using the Dnspod API (Tencent Cloud API 3.0).
Home-page: https://github.com/10935336/certbot-dns-dnspod-109
Author: 10935336
Author-email: 10935336 <109@pha.pub>
Project-URL: Homepage, https://github.com/10935336/certbot-dns-dnspod-109
Project-URL: Issues, https://github.com/10935336/certbot-dns-dnspod-109/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt

[English](#english) | [简体中文](#%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)


# English


## Just Another DNSPod DNS Authenticator plugin for Certbot
The `certbot-dns-dnspod-109` plugin automates the process of 
completing a `dns-01` challenge (`~acme.challenges.DNS01`) 
by creating, and subsequently removing, TXT records using the 
Dnspod API (Tencent Cloud API 3.0).

## Usage

### 1. Install

#### pip:
```bash
pip install git+https://github.com/10935336/certbot-dns-dnspod-109.git
```
or
```bash
pip install certbot-dns-dnspod-109
```


#### snap:
```bash
snap install certbot-dns-dnspod-109
snap connect certbot:plugin certbot-dns-dnspod-109
```

if root snap:
```bash
snap install certbot-dns-dnspod-109
snap set certbot trust-plugin-with-root=ok
snap connect certbot:plugin certbot-dns-dnspod-109
```

### 2. Obtain SecretId and SecretKey
   1. Visit https://console.cloud.tencent.com/cam to create a sub-user
   2. Select "Programmatic access" for the sub-user access method
   3. Grant the sub-user QcloudDNSPodFullAccess (Cloud DNS full read and write access rights) permission
   4. Record SecretId and SecretKey

### 3. Prepare Credentials File

foobar.ini:
```ini
dns_dnspod_109_secret_id=foo
dns_dnspod_109_secret_key=bar
```

### 4. Ready to go

#### Usage Examples

To acquire a certificate for `example.com`

```bash
certbot certonly \
  -a dns-dnspod-109 \
  --dns-dnspod-109-credentials ~/.secrets/certbot/dnspod-109.ini \
  -d example.com
```

To acquire a single certificate for both example.com and www.example.com
```bash
certbot certonly \
  -a dns-dnspod-109 \
  --dns-dnspod-109-credentials ~/.secrets/certbot/dnspod-109.ini \
  -d example.com \
  -d www.example.com
```

To acquire a certificate for example.com, waiting 60 seconds for DNS propagation
```bash
certbot certonly \
  -a dns-dnspod-109 \
  --dns-dnspod-109-credentials ~/.secrets/certbot/dnspod-109.ini \
  --dns-dnspod-109-propagation-seconds 60 \
  -d example.com
```

Test run

```bash
certbot certonly \
  --register-unsafely-without-email \
  -a dns-dnspod-109 \
  --dns-dnspod-109-credentials ~/.secrets/certbot/dnspod-109.ini \
  -v \
  --dry-run
```







# 简体中文




## 只是另一个适用于 Certbot 的 DNSPod DNS Authenticator 插件

`certbot-dns-dnspod-109` 插件通过使用 Dnspod API（腾讯云 API 3.0）创建并随后删除 TXT 记录，自动完成`dns-01` 质询（`~acme.challenges.DNS01`）。

## 使用方法

### 1. 安装

#### pip:
```bash
pip install git+https://github.com/10935336/certbot-dns-dnspod-109.git
```
或者
```bash
pip install certbot-dns-dnspod-109
```

#### snap:
```bash
snap install certbot-dns-dnspod-109
snap connect certbot:plugin certbot-dns-dnspod-109
```

如果你使用 root snap:
```bash
snap install certbot-dns-dnspod-109
snap set certbot trust-plugin-with-root=ok
snap connect certbot:plugin certbot-dns-dnspod-109
```

### 2. 获取SecretId和SecretKey
1. 访问 https://console.cloud.tencent.com/cam 创建子用户
2. 子用户访问方式选择“编程访问”
3. 授予子用户 QcloudDNSPodFullAccess（Cloud DNS 完全读写访问权限）权限
4. 记录 SecretId 和 SecretKey

### 3. 准备凭证文件

foobar.ini:
```ini
dns_dnspod_109_secret_id=foo
dns_dnspod_109_secret_key=bar
```

### 4. 准备就绪

#### 使用示例

获取 `example.com` 的证书

```bash
certbot certonly \
-a dns-dnspod-109 \
--dns-dnspod-109-credentials ~/.secrets/certbot/dnspod-109.ini \
-d example.com
```

获取同时有 `example.com` 和 `www.example.com` 的单个证书
```bash
certbot certonly \
-a dns-dnspod-109 \
--dns-dnspod-109-credentials ~/.secrets/certbot/dnspod-109.ini \
-d example.com \
-d www.example.com
```

获取 `example.com` 的证书，但设置等待 60 秒（等待 DNS 传播）
```bash
certbot certonly \
-a dns-dnspod-109 \
--dns-dnspod-109-credentials ~/.secrets/certbot/dnspod-109.ini \
--dns-dnspod-109-propagation-seconds 60 \
-d example.com
```

测试运行

```bash
certbot certonly \
  --register-unsafely-without-email \
  -a dns-dnspod-109 \
  --dns-dnspod-109-credentials ~/.secrets/certbot/dnspod-109.ini \
  -v \
  --dry-run
```
