Skip to content

Commit 6b7b5ca

Browse files
committed
DNS provider API: structured description
Instead of using comments declare info in a special variable. Then the variable can be used to print the DNS API provider usage. The usage can be parsed on UI and show all needed inputs for options. The info is stored in plain string that it's both human-readable and easy to parse: dns_example_info='API name An extended description. Multiline. Domains: list of alternative domains to find Site: the dns provider website e.g. example.com Docs: Link to ACME.sh wiki for the provider Options: VARIABLE1 Title for the option1. VARIABLE2 Title for the option2. Default "default value". VARIABLE3 Title for the option3. Description to show on UI. Optional. Issues: Link to a support ticket on https://github.com/acmesh-official/acme.sh Author: First Lastname <[email protected]>, Another Author <https://github.com/example>; ' Here: VARIABLE1 will be required. VARIABLE2 will be required too but will be populated with a "default value". VARIABLE3 is optional and can be empty. A DNS provider may have alternative options like CloudFlare may use API KEY or API Token. You can use a second section OptionsAlt: section. Some providers may have alternative names or domains e.g. Aliyun and AlibabaCloud. Add them to Domains: section. Signed-off-by: Sergey Ponomarev <[email protected]>
1 parent bd48c99 commit 6b7b5ca

File tree

144 files changed

+1399
-986
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+1399
-986
lines changed

dnsapi/dns_1984hosting.sh

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,18 @@
11
#!/usr/bin/env sh
2-
# This file name is "dns_1984hosting.sh"
3-
# So, here must be a method dns_1984hosting_add()
4-
# Which will be called by acme.sh to add the txt record to your api system.
5-
# returns 0 means success, otherwise error.
6-
7-
# Author: Adrian Fedoreanu
8-
# Report Bugs here: https://github.com/acmesh-official/acme.sh
9-
# or here... https://github.com/acmesh-official/acme.sh/issues/2851
2+
# shellcheck disable=SC2034
3+
dns_1984hosting_info='1984.hosting
4+
Domains: 1984.is
5+
Site: 1984.hosting
6+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_1984hosting
7+
Options:
8+
One984HOSTING_Username Username
9+
One984HOSTING_Password Password
10+
Issues: github.com/acmesh-official/acme.sh/issues/2851
11+
Author: Adrian Fedoreanu
12+
'
1013

1114
######## Public functions #####################
1215

13-
# Export 1984HOSTING username and password in following variables
14-
#
15-
# One984HOSTING_Username=username
16-
# One984HOSTING_Password=password
17-
#
18-
# username/password and csrftoken/sessionid cookies are saved in ~/.acme.sh/account.conf
19-
2016
# Usage: dns_1984hosting_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
2117
# Add a text record.
2218
dns_1984hosting_add() {

dnsapi/dns_acmedns.sh

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
#!/usr/bin/env sh
2-
#
3-
#Author: Wolfgang Ebner
4-
#Author: Sven Neubuaer
5-
#Report Bugs here: https://github.com/dampfklon/acme.sh
6-
#
7-
# Usage:
8-
# export ACMEDNS_BASE_URL="https://auth.acme-dns.io"
9-
#
10-
# You can optionally define an already existing account:
11-
#
12-
# export ACMEDNS_USERNAME="<username>"
13-
# export ACMEDNS_PASSWORD="<password>"
14-
# export ACMEDNS_SUBDOMAIN="<subdomain>"
15-
#
2+
# shellcheck disable=SC2034
3+
dns_acmedns_info='acme-dns Server API
4+
The acme-dns is a limited DNS server with RESTful API to handle ACME DNS challenges.
5+
Site: github.com/joohoi/acme-dns
6+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_acmedns
7+
Options:
8+
ACMEDNS_USERNAME Username. Optional.
9+
ACMEDNS_PASSWORD Password. Optional.
10+
ACMEDNS_SUBDOMAIN Subdomain. Optional.
11+
ACMEDNS_BASE_URL API endpoint. Default: "https://auth.acme-dns.io".
12+
Issues: github.com/dampfklon/acme.sh
13+
Author: Wolfgang Ebner, Sven Neubuaer
14+
'
15+
1616
######## Public functions #####################
1717

1818
#Usage: dns_acmedns_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"

dnsapi/dns_acmeproxy.sh

100644100755
Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
#!/usr/bin/env sh
2-
3-
## Acmeproxy DNS provider to be used with acmeproxy (https://github.com/mdbraber/acmeproxy)
4-
## API integration by Maarten den Braber
5-
##
6-
## Report any bugs via https://github.com/mdbraber/acme.sh
2+
# shellcheck disable=SC2034
3+
dns_acmeproxy_info='AcmeProxy Server API
4+
AcmeProxy can be used to as a single host in your network to request certificates through a DNS API.
5+
Clients can connect with the one AcmeProxy host so you do not need to store DNS API credentials on every single host.
6+
Site: github.com/mdbraber/acmeproxy
7+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_acmeproxy
8+
Options:
9+
ACMEPROXY_ENDPOINT API Endpoint
10+
ACMEPROXY_USERNAME Username
11+
ACMEPROXY_PASSWORD Password
12+
Issues: github.com/acmesh-official/acme.sh/issues/2251
13+
Author: Maarten den Braber
14+
'
715

816
dns_acmeproxy_add() {
917
fulldomain="${1}"

dnsapi/dns_active24.sh

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
#!/usr/bin/env sh
2-
3-
#ACTIVE24_Token="sdfsdfsdfljlbjkljlkjsdfoiwje"
2+
# shellcheck disable=SC2034
3+
dns_active24_info='Active24.com
4+
Site: Active24.com
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_active24
6+
Options:
7+
ACTIVE24_Token API Token
8+
Issues: github.com/acmesh-official/acme.sh/issues/2059
9+
Author: Milan Pála
10+
'
411

512
ACTIVE24_Api="https://api.active24.com"
613

dnsapi/dns_ad.sh

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
#!/usr/bin/env sh
2-
3-
#
4-
#AD_API_KEY="sdfsdfsdfljlbjkljlkjsdfoiwje"
5-
6-
#This is the Alwaysdata api wrapper for acme.sh
7-
#
8-
#Author: Paul Koppen
9-
#Report Bugs here: https://github.com/wpk-/acme.sh
2+
# shellcheck disable=SC2034
3+
dns_ad_info='AlwaysData.com
4+
Site: AlwaysData.com
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_ad
6+
Options:
7+
AD_API_KEY API Key
8+
Issues: github.com/acmesh-official/acme.sh/pull/503
9+
Author: Paul Koppen
10+
'
1011

1112
AD_API_URL="https://$AD_API_KEY:@api.alwaysdata.com/v1"
1213

dnsapi/dns_ali.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
#!/usr/bin/env sh
2+
# shellcheck disable=SC2034
3+
dns_ali_info='AlibabaCloud.com
4+
Domains: Aliyun.com
5+
Site: AlibabaCloud.com
6+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_ali
7+
Options:
8+
Ali_Key API Key
9+
Ali_Secret API Secret
10+
'
211

312
Ali_API="https://alidns.aliyuncs.com/"
413

5-
#Ali_Key="LTqIA87hOKdjevsf5"
6-
#Ali_Secret="0p5EYueFNq501xnCPzKNbx6K51qPH2"
7-
814
#Usage: dns_ali_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
915
dns_ali_add() {
1016
fulldomain=$1

dnsapi/dns_anx.sh

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
#!/usr/bin/env sh
2-
3-
# Anexia CloudDNS acme.sh hook
4-
# Author: MA
5-
6-
#ANX_Token="xxxx"
2+
# shellcheck disable=SC2034
3+
dns_anx_info='Anexia.com CloudDNS
4+
Site: Anexia.com
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_anx
6+
Options:
7+
ANX_Token API Token
8+
Issues: github.com/acmesh-official/acme.sh/issues/3238
9+
'
710

811
ANX_API='https://engine.anexia-it.com/api/clouddns/v1'
912

dnsapi/dns_artfiles.sh

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
#!/usr/bin/env sh
2-
3-
################################################################################
4-
# ACME.sh 3rd party DNS API plugin for ArtFiles.de
5-
################################################################################
6-
# Author: Martin Arndt, https://troublezone.net/
7-
# Released: 2022-02-27
8-
# Issues: https://github.com/acmesh-official/acme.sh/issues/4718
9-
################################################################################
10-
# Usage:
11-
# 1. export AF_API_USERNAME='api12345678'
12-
# 2. export AF_API_PASSWORD='apiPassword'
13-
# 3. acme.sh --issue -d example.com --dns dns_artfiles
14-
################################################################################
2+
# shellcheck disable=SC2034
3+
dns_artfiles_info='ArtFiles.de
4+
Site: ArtFiles.de
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_artfiles
6+
Options:
7+
AF_API_USERNAME API Username
8+
AF_API_PASSWORD API Password
9+
Issues: github.com/acmesh-official/acme.sh/issues/4718
10+
Author: Martin Arndt <https://troublezone.net/>
11+
'
1512

1613
########## API configuration ###################################################
1714

dnsapi/dns_arvan.sh

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
#!/usr/bin/env sh
2-
3-
# Arvan_Token="Apikey xxxx"
2+
# shellcheck disable=SC2034
3+
dns_arvan_info='ArvanCloud.ir
4+
Site: ArvanCloud.ir
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_arvan
6+
Options:
7+
Arvan_Token API Token
8+
Issues: github.com/acmesh-official/acme.sh/issues/2796
9+
Author: Vahid Fardi
10+
'
411

512
ARVAN_API_URL="https://napi.arvancloud.ir/cdn/4.0/domains"
6-
# Author: Vahid Fardi
7-
# Report Bugs here: https://github.com/Neilpang/acme.sh
8-
#
13+
914
######## Public functions #####################
1015

1116
#Usage: dns_arvan_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"

dnsapi/dns_aurora.sh

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
#!/usr/bin/env sh
2-
3-
#
4-
#AURORA_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
5-
#
6-
#AURORA_Secret="sdfsdfsdfljlbjkljlkjsdfoiwje"
2+
# shellcheck disable=SC2034
3+
dns_aurora_info='versio.nl AuroraDNS
4+
Domains: pcextreme.nl
5+
Site: versio.nl
6+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_aurora
7+
Options:
8+
AURORA_Key API Key
9+
AURORA_Secret API Secret
10+
Issues: github.com/acmesh-official/acme.sh/issues/3459
11+
Author: Jasper Zonneveld
12+
'
713

814
AURORA_Api="https://api.auroradns.eu"
915

dnsapi/dns_autodns.sh

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
#!/usr/bin/env sh
2-
# -*- mode: sh; tab-width: 2; indent-tabs-mode: s; coding: utf-8 -*-
3-
4-
# This is the InternetX autoDNS xml api wrapper for acme.sh
5-
6-
# Created: 2018-01-14
7-
#
8-
# export AUTODNS_USER="username"
9-
# export AUTODNS_PASSWORD="password"
10-
# export AUTODNS_CONTEXT="context"
11-
#
12-
# Usage:
13-
# acme.sh --issue --dns dns_autodns -d example.com
2+
# shellcheck disable=SC2034
3+
dns_autodns_info='InternetX autoDNS
4+
InternetX autoDNS XML API
5+
Site: InternetX.com/autodns/
6+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_autodns
7+
Options:
8+
AUTODNS_USER Username
9+
AUTODNS_PASSWORD Password
10+
AUTODNS_CONTEXT Context
11+
12+
'
1413

1514
AUTODNS_API="https://gateway.autodns.com"
1615

dnsapi/dns_aws.sh

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
#!/usr/bin/env sh
2-
3-
#
4-
#AWS_ACCESS_KEY_ID="sdfsdfsdfljlbjkljlkjsdfoiwje"
5-
#
6-
#AWS_SECRET_ACCESS_KEY="xxxxxxx"
7-
8-
#This is the Amazon Route53 api wrapper for acme.sh
9-
#All `_sleep` commands are included to avoid Route53 throttling, see
10-
#https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-requests
2+
# shellcheck disable=SC2034
3+
dns_aws_info='Amazon AWS Route53 domain API
4+
Site: docs.aws.amazon.com/route53/
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_aws
6+
Options:
7+
AWS_ACCESS_KEY_ID API Key ID
8+
AWS_SECRET_ACCESS_KEY API Secret
9+
'
10+
11+
# All `_sleep` commands are included to avoid Route53 throttling, see
12+
# https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-requests
1113

1214
AWS_HOST="route53.amazonaws.com"
1315
AWS_URL="https://$AWS_HOST"

dnsapi/dns_azion.sh

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
#!/usr/bin/env sh
2-
3-
#
4-
#AZION_Email=""
5-
#AZION_Password=""
6-
#
2+
# shellcheck disable=SC2034
3+
dns_azion_info='Azion.om
4+
Site: Azion.com
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_azion
6+
Options:
7+
AZION_Email Email
8+
AZION_Password Password
9+
Issues: github.com/acmesh-official/acme.sh/issues/3555
10+
'
711

812
AZION_Api="https://api.azionapi.net"
913

dnsapi/dns_azure.sh

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
#!/usr/bin/env sh
2-
3-
WIKI="https://github.com/acmesh-official/acme.sh/wiki/How-to-use-Azure-DNS"
2+
# shellcheck disable=SC2034
3+
dns_azure_info='Azure
4+
Site: Azure.microsoft.com
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_azure
6+
Options:
7+
AZUREDNS_SUBSCRIPTIONID Subscription ID
8+
AZUREDNS_TENANTID Tenant ID
9+
AZUREDNS_APPID App ID. App ID of the service principal
10+
AZUREDNS_CLIENTSECRET Client Secret. Secret from creating the service principal
11+
AZUREDNS_MANAGEDIDENTITY Use Managed Identity. Use Managed Identity assigned to a resource instead of a service principal. "true"/"false"
12+
'
413

514
######## Public functions #####################
615

dnsapi/dns_bookmyname.sh

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
#!/usr/bin/env sh
2+
# shellcheck disable=SC2034
3+
dns_bookmyname_info='BookMyName.com
4+
Site: BookMyName.com
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_bookmyname
6+
Options:
7+
BOOKMYNAME_USERNAME Username
8+
BOOKMYNAME_PASSWORD Password
9+
Issues: github.com/acmesh-official/acme.sh/issues/3209
10+
Author: Neilpang
11+
'
212

3-
#Here is a sample custom api script.
4-
#This file name is "dns_bookmyname.sh"
5-
#So, here must be a method dns_bookmyname_add()
6-
#Which will be called by acme.sh to add the txt record to your api system.
7-
#returns 0 means success, otherwise error.
8-
#
9-
#Author: Neilpang
10-
#Report Bugs here: https://github.com/acmesh-official/acme.sh
11-
#
1213
######## Public functions #####################
1314

14-
# Please Read this guide first: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Dev-Guide
15-
1615
# BookMyName urls:
1716
# https://BOOKMYNAME_USERNAME:[email protected]/dyndns/?hostname=_acme-challenge.domain.tld&type=txt&ttl=300&do=add&value="XXXXXXXX"'
1817
# https://BOOKMYNAME_USERNAME:[email protected]/dyndns/?hostname=_acme-challenge.domain.tld&type=txt&ttl=300&do=remove&value="XXXXXXXX"'

dnsapi/dns_bunny.sh

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
#!/usr/bin/env sh
2-
3-
## Will be called by acme.sh to add the TXT record via the Bunny DNS API.
4-
## returns 0 means success, otherwise error.
5-
6-
## Author: nosilver4u <nosilver4u at ewww.io>
7-
## GitHub: https://github.com/nosilver4u/acme.sh
8-
9-
##
10-
## Environment Variables Required:
11-
##
12-
## BUNNY_API_KEY="75310dc4-ca77-9ac3-9a19-f6355db573b49ce92ae1-2655-3ebd-61ac-3a3ae34834cc"
13-
##
2+
# shellcheck disable=SC2034
3+
dns_bunny_info='Bunny.net
4+
Site: Bunny.net/dns/
5+
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_bunny
6+
Options:
7+
BUNNY_API_KEY API Key
8+
Issues: github.com/acmesh-official/acme.sh/issues/4296
9+
10+
'
1411

1512
##################### Public functions #####################
1613

0 commit comments

Comments
 (0)