Updated DNS API Dev Guide (markdown)

master
tomo 2024-07-27 18:01:17 +02:00
parent 82836c88b0
commit 939507f233
1 changed files with 15 additions and 16 deletions

@ -20,33 +20,32 @@ acme.sh --issue -d example.com --dns dns_myapi
Here we go: Here we go:
### 1. The Cloudflare DNS API is a recommended reference: ### 1. The Cloudflare DNS API is a recommended reference:
Read it first: Read it first:
https://github.com/acmesh-official/acme.sh/blob/master/dnsapi/dns_cf.sh https://github.com/acmesh-official/acme.sh/blob/master/dnsapi/dns_cf.sh
### 2. The script file name must be `dns_myapi.sh` ### 2. The script file name must be `dns_myapi.sh`
The file name must be in this format: `dns_yourApiName.sh`, in this example, it should be `dns_myapi.sh`
The file name must be in this format: `dns_yourApiName.sh`, in this example, it should be `dns_myapi.sh`
### 3. The file can be placed in `acme.sh/` folder, or in `acme.sh/dnsapi/` subfolder. ### 3. The file can be placed in `acme.sh/` folder, or in `acme.sh/dnsapi/` subfolder.
If you want to contribute your script to `acme.sh` project, it must be placed in `acme.sh/dnsapi/` folder. If you want to contribute your script to `acme.sh` project, it must be placed in `acme.sh/dnsapi/` folder.
If you just want to use your script on your machine, you can put it in `.acme.sh/` or `.acme.sh/dnsapi/` folders. If you just want to use your script on your machine, you can put it in `.acme.sh/` or `.acme.sh/dnsapi/` folders.
acme.sh searches the script files in either the acme.sh home dir(`.acme.sh/`) or in the `dnsapi` subfolder(`.acme.sh/dnsapi`). acme.sh searches the script files in either the acme.sh home dir(`.acme.sh/`) or in the `dnsapi` subfolder(`.acme.sh/dnsapi`).
### 4. There must be 2 functions in your script: ### 4. There must be 2 functions in your script:
```sh ```sh
# Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" # Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
# Used to add txt record # Used to add txt record
dns_myapi_add() { } dns_myapi_add() { }
# Usage: fulldomain txtvalue # Usage: fulldomain txtvalue
# Used to remove the txt record after validation # Used to remove the txt record after validation
dns_myapi_rm() { } dns_myapi_rm() { }
```
``` Actually, the `dns_myapi_add()` is required, but `dns_myapi_rm()` is optional. You can just write the add function at the beginning for testing purposes, it's `highly recommended` to implement the rm function too. Otherwise, your TXT records will increase 1 every 2 months.
Actually, the `dns_myapi_add()` is required, but `dns_myapi_rm()` is optional. You can just write the add function at the beginning for testing purposes, it's `highly recommended` to implement the rm function too. Otherwise, your TXT records will increase 1 every 2 months.
### 5. Guide for the add function ### 5. Guide for the add function