From 6c52326683779b5ba8dd5b1d360a22a1daa613d2 Mon Sep 17 00:00:00 2001 From: Sergey Ponomarev Date: Wed, 7 Jun 2023 00:33:53 +0300 Subject: [PATCH] issue a wildcard cert by default in samples which is the most popular case to use the DNS API --- dnsapi2.md | 420 +++++++++++++++++++++-------------------------------- 1 file changed, 163 insertions(+), 257 deletions(-) diff --git a/dnsapi2.md b/dnsapi2.md index 6290fc0d..a1d91b2d 100644 --- a/dnsapi2.md +++ b/dnsapi2.md @@ -98,13 +98,12 @@ export SCHLUNDTECH_PASSWORD="password" Then you can issue your certificates with: ```sh -./acme.sh --issue --dns dns_schlundtech -d example.com -d www.example.com +./acme.sh --issue --dns dns_schlundtech -d example.com -d *.example.com ``` The `SCHLUNDTECH_USER` and `SCHLUNDTECH_PASSWORD` settings will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs of Schlundtech.de API, please report here: -https://github.com/Neilpang/acme.sh/issues/2246 +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2246) @@ -118,7 +117,7 @@ export ONECOM_Password="youremail@example.com" Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_one -d example.com -d www.example.com +./acme.sh --issue --dns dns_one -d example.com -d *.example.com ``` Note: @@ -140,8 +139,7 @@ By default the CNAME record will be removed. The `ONECOM_User`,`ONECOM_Password` and `ONECOM_KeepCnameProxy` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs of one.com dns API, please report here: -https://github.com/Neilpang/acme.sh/issues/2103 +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2103) @@ -159,13 +157,12 @@ export ACMEPROXY_PASSWORD="password" Then you can issue your certificates with: ```sh -./acme.sh --issue --dns dns_acmeproxy -d example.com -d www.example.com +./acme.sh --issue --dns dns_acmeproxy -d example.com -d *.example.com ``` The `ACMEPROXY_ENDPOINT`, `ACMEPROXY_USERNAME` and `ACMEPROXY_PASSWORD` settings will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs of AcmeProxy DNS API, please report here: -https://github.com/Neilpang/acme.sh/issues/2251 +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2251) @@ -182,13 +179,12 @@ export INTERNETBS_API_PASSWORD="..." To issue a certificate run: ```sh -./acme.sh --issue --dns dns_internetbs -d example.com -d www.example.com +./acme.sh --issue --dns dns_internetbs -d example.com -d *.example.com ``` The `INTERNETBS_API_KEY` and `INTERNETBS_API_PASSWORD` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs of internetbs.net API, please report here: -https://github.com/Neilpang/acme.sh/issues/2261 +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2261) @@ -210,8 +206,7 @@ To issue a certificate run: The `DD_API_User` and `DD_API_Key` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs of durabledns.com API, please report here: -https://github.com/Neilpang/acme.sh/issues/2281 +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2281) @@ -265,15 +260,15 @@ export REGRU_API_Password='водим пароль каторый настрои ``` Настройки для авторизации `REGRU_API_Username` и `REGRU_API_Password` будут сохранены в `~/.acme.sh/account.conf` и будут использоваться повторно при необходимости из конфига acme. -Если вы обнаружите какие-либо ошибки в API reg.ru, сообщите об этом здесь: -https://github.com/Neilpang/acme.sh/issues/2336 +Если вы обнаружите какие-либо ошибки в API reg.ru, сообщите об этом [здесь](https://github.com/Neilpang/acme.sh/issues/2336) ## 82. Use Vultr DNS API to automatically issue cert -You'll need an API key for your Vultr account which you can find [under the Account settings](https://my.vultr.com/settings/#settingsapi) and you'll want to ensure the API key is allowed for any IPs you might be using acme.sh with. +You'll need an API key for your Vultr account which you can find [under the Account settings](https://my.vultr.com/settings/#settingsapi). +And you'll want to ensure the API key is allowed for any IPs you might be using acme.sh with. Vultr supports creating sub-accounts with limited permissions, and it's a good idea to create a sub-account with only the 'Manage DNS' permission and use an API key from that sub-account. @@ -308,7 +303,7 @@ export JD_ACCESS_KEY_SECRET="" 然后生成证书: ```sh -./acme.sh --issue --dns dns_jd -d example.com -d www.example.com +./acme.sh --issue --dns dns_jd -d example.com -d *.example.com ``` `JD_ACCESS_KEY_ID` 和 `JD_ACCESS_KEY_SECRET` 会自动保存在这里 `~/.acme.sh/account.conf`, 下次再生成证书时, 可以自动重用. @@ -322,7 +317,9 @@ export JD_REGION="cn-north-1" # 这里写你要改的区域 有 bug 的话可以报到这里: https://github.com/Neilpang/acme.sh/issues/2388 -## 84. Use hexonet.com DNS API to automatically issue a cert {#dns_hexonet} + + +## 84. Use hexonet.com DNS API to automatically issue a cert Login to hexonet.net. Create a role user in your [Account -> Settings -> ShareAccess](https://account.hexonet.net/#/role-accounts) @@ -336,7 +333,7 @@ UpdateDNSZone():ALLOW Remember the role id and role password. ```sh -export Hexonet_Login="username!roleId" +export Hexonet_Login="stokito!turris" export Hexonet_Password="" ``` @@ -371,12 +368,12 @@ export DOMENESHOP_Secret="" Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_domeneshop -d example.com -d www.example.com +./acme.sh --issue --dns dns_domeneshop -d example.com -d *.example.com ``` The `DOMENESHOP_Token` and `DOMENESHOP_Secret` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs, please report [here](https://github.com/Neilpang/acme.sh/issues/2457) +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2457) @@ -402,7 +399,7 @@ Ok, let's issue a cert now: The `OPNs_Host`, `OPNs_Port`, `OPNs_Key`, `OPNs_Token` and `OPNs_Api_Insecure` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs, please report [here](https://github.com/Neilpang/acme.sh/issues/2480) +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2480) @@ -419,7 +416,7 @@ export RCODE0_API_TOKEN="acme_1232342342343OEH1G1gDcKNMsN7mx9EZgSU6AX79u5KRSxWnC Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_rcode0 -d example.com -d www.example.com +./acme.sh --issue --dns dns_rcode0 -d example.com -d *.example.com ``` The `RCODE0_API_TOKEN` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. @@ -434,7 +431,7 @@ export RCODE0_TTL=60 ``` Use a different TTL for the generated records -If you find any bugs, please report [here](https://github.com/Neilpang/acme.sh/issues/2490) +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2490) @@ -458,7 +455,7 @@ To issue a cert: The `MIAB_Username`, `MIAB_Password` and `MIAB_Server` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs, please report [here](https://github.com/Neilpang/acme.sh/issues/2550) +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2550) @@ -468,7 +465,7 @@ You need to login to nic.ru account and register your application [here](https:/ You need to define the following environment variables befor issuing a cert: * `NIC_Username` - login for site `nic.ru` in form `000000/NIC-D` -* `NIC_Password` - password for site `nic.ru`. It may be administrative or technical password ([details](https://www.nic.ru/help/use-of-administrative-and-technical-passwords-according-to-the-agreement_6148.html)) +* `NIC_Password` - password for site `nic.ru`. It may be administrative or technical password. [Details](https://www.nic.ru/help/use-of-administrative-and-technical-passwords-according-to-the-agreement_6148.html) * `NIC_ClientID` - your application identifier ([details](https://www.nic.ru/help/oauth-server_5809.html)) * `NIC_ClientSecret` - your application secret * _`NIC_Token` is base64 encoded string `:`. **This variable is deprecated**. It is used for backward compatibility. If NIC_ClientID and NIC_ClientSecret are not defined, then they are calculated using old NIC_Token variable._ @@ -482,12 +479,12 @@ export NIC_ClientSecret='xxxxxxxx' To issue a cert: ```bash -./acme.sh --issue --dns dns_nic -d domain.com -d www.domain.com +./acme.sh --issue --dns dns_nic -d domain.com -d *.domain.com ``` The `NIC_Username`, `NIC_Password`, `NIC_ClientID` and `NIC_ClientSecret` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs, please report [here](https://github.com/Neilpang/acme.sh/issues/2547) +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2547) Docs: * https://www.nic.ru/help/upload/file/API_DNS-hosting-en.pdf @@ -511,7 +508,7 @@ Ok, let's issue a cert now: The `LSW_Key` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs, please report [here](https://github.com/Neilpang/acme.sh/issues/2558) +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2558) @@ -532,7 +529,7 @@ Ok, let's issue a cert now: The `VARIOMEDIA_API_TOKEN` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs, please report here: https://github.com/Neilpang/acme.sh/issues/2564 +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2564) @@ -558,7 +555,7 @@ export pleskxml_pass="my plesk password" Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_pleskxml -d example.com -d www.example.com +./acme.sh --issue --dns dns_pleskxml -d example.com -d *.example.com ``` The `pleskxml_uri`, `pleskxml_user` and `pleskxml_pass` will be saved in `~/.acme.sh/account.conf` and reused when needed. @@ -587,7 +584,7 @@ export PDNS_MANAGER_PASSWORD="" Then issue a new certificate: ```sh -./acme.sh --issue --dns dns_pdnsmanager -d example.com +./acme.sh --issue --dns dns_pdnsmanager -d example.com -d *.example.com ``` @@ -603,14 +600,15 @@ export Misaka_Key="" To issue a cert: ```sh -./acme.sh --issue --dns dns_misaka -d example.com -d www.example.com +./acme.sh --issue --dns dns_misaka -d example.com -d *.example.com ``` ## 95. Use easyDNS.net API to automatically issue a cert -You need to sign up for API access [here](https://cp.easydns.com/manage/security/api/signup.php) or select 'User' -> 'Security' from the top menu and select 'signup' in the 'easyDNS REST API' section after logging in to your account. +You need to sign up for API access [here](https://cp.easydns.com/manage/security/api/signup.php). +Or select 'User' -> 'Security' from the top menu and select 'signup' in the 'easyDNS REST API' section after logging in to your account. API Docs: https://sandbox.rest.easydns.net:3001/ Note that initially you are only granted API access to a sandbox environment, not your live DNS settings. @@ -620,15 +618,13 @@ export EASYDNS_Token="xxxxxxxxxxxxxxx.xxxxxxxx" export EASYDNS_Key="apixxxxxxxxxxxxxx.xxxxxxxx" ``` - Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_easydns -d example.com -d www.example.com +./acme.sh --issue --dns dns_easydns -d example.com -d *.example.com ``` The `EASYDNS_Token` and `EASYDNS_Key` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs, please report here: -https://github.com/acmesh-official/acme.sh/issues/2647 +Report any issues [here](https://github.com/acmesh-official/acme.sh/issues/2647) @@ -644,31 +640,33 @@ export CLOUDDNS_CLIENT_ID="xxxxxxxxxxxxxxxxxxxx" Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_clouddns -d example.com -d www.example.com +./acme.sh --issue --dns dns_clouddns -d example.com -d *.example.com ``` The `CLOUDDNS_EMAIL`, `CLOUDDNS_PASSWORD` and `CLOUDDNS_CLIENT_ID` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -If you find any bugs, please report here: - -https://github.com/Neilpang/acme.sh/issues/2699 +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2699) ## 97. Use dynv6 API to automatically issue a cert -This uses the [dynv6 SSH API](https://dynv6.com/docs/apis) to issue the certificate. You will need a ssh key to authenticate. You can specify your own key with `export KEY="path/to/keyfile"` or if no key is specified one will be created for you which you will have to add [here](https://dynv6.com/keys). In both cases the path to the keyfile will be saved for reuse. +This uses the [dynv6 SSH API](https://dynv6.com/docs/apis) to issue the certificate. +You will need a ssh key to authenticate. +You can specify your own key with `export KEY="path/to/keyfile"` or if no key is specified one will be created for you which you will have to add [here](https://dynv6.com/keys). +In both cases the path to the keyfile will be saved for reuse. -Alternatively you can use the [HTTP REST API](https://dynv6.github.io/api-spec/). For this you will need a HTTP Token, which you can generate from the [dynv6 website](https://dynv6.com/keys). Use it with `export DYNV6_TOKEN="value"`. +Alternatively you can use the [HTTP REST API](https://dynv6.github.io/api-spec/). +For this you will need a HTTP Token, which you can generate from the [dynv6 website](https://dynv6.com/keys). +Use it with `export DYNV6_TOKEN="value"`. If both a SSH Key and a HTTP Token are specified the REST API will be used. To issue a cert use: ```sh -./acme.sh --issue --dns dns_dynv6 -d www.example.dynv6.net +./acme.sh --issue --dns dns_dynv6 -d example.dynv6.net -d *.example.dynv6.net ``` -If you find any bugs, please report here: -https://github.com/acmesh-official/acme.sh/issues/2702 +Report any issues [here](https://github.com/acmesh-official/acme.sh/issues/2702) @@ -683,7 +681,7 @@ export KAS_Authtype="plain" ``` Now you are able to issue a cert: ```sh -./acme.sh --issue --dns dns_kas -d example.com -d www.example.com +./acme.sh --issue --dns dns_kas -d example.com -d *.example.com ``` The `KAS_Login`, `KAS_Authtype` and `KAS_Authdata` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. @@ -701,7 +699,7 @@ export CONSTELLIX_Secret="XXX" To issue a cert: ```sh -./acme.sh --issue --dns dns_constellix -d example.com -d www.example.com +./acme.sh --issue --dns dns_constellix -d example.com -d *.example.com ``` The `CONSTELLIX_Key` and `CONSTELLIX_Secret` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. @@ -720,7 +718,7 @@ export NM_sha256="XXX" To issue a cert: ```sh -./acme.sh --issue --dns dns_nm -d example.com -d www.example.com +./acme.sh --issue --dns dns_nm -d example.com -d *.example.com ``` The `NM_user` and `NM_sha256` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. @@ -741,11 +739,7 @@ HostingUkraine_Token="XXX" To issue a cert: ```sh -./acme.sh --issue --dns dns_hostingukraine -d yourdomain.com -d www.yourdomain.com -``` -To issue a wildcard cert: -```sh -./acme.sh --issue --dns dns_hostingukraine -d yourdomain.com -d '*.yourdomain.com' +./acme.sh --issue --dns dns_hostingukraine -d example.com -d *.example.com ``` The `HostingUkraine_Login` and `HostingUkraine_Token` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. @@ -763,7 +757,7 @@ export Arvan_Token="" To issue a cert: ```sh -./acme.sh --issue --dns dns_arvan -d example.com -d www.example.com +./acme.sh --issue --dns dns_arvan -d example.com -d *.example.com ``` The `Arvan_Token` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. @@ -773,12 +767,16 @@ The `Arvan_Token` will be saved in `~/.acme.sh/account.conf` and will be reused ## 103. Use Joker.com domain API -You must activate Dynamic DNS in Joker.com DNS configuration first. Username and password below refer to Dynamic DNS authentication, not your Joker.com login credentials. See https://joker.com/faq/content/11/427/en/what-is-dynamic-dns-dyndns.html. +You must activate Dynamic DNS in Joker.com DNS configuration first. +Username and password below refer to Dynamic DNS authentication, not your Joker.com login credentials. +See https://joker.com/faq/content/11/427/en/what-is-dynamic-dns-dyndns.html. -**NOTE:** This script does not support wildcard certificates, because Joker.com API does not support adding two TXT records with the same subdomain. Adding the second record will overwrite the first one. See https://joker.com/faq/content/6/496/en/let_s-encrypt-support.html: +**NOTE:** This script does not support wildcard certificates, because Joker.com API does not support adding two TXT records with the same subdomain. +Adding the second record will overwrite the first one. +See https://joker.com/faq/content/6/496/en/let_s-encrypt-support.html: > ... this request will replace all TXT records for the specified label by the provided content... -Report bugs to https://github.com/acmesh-official/acme.sh/issues/2840 +Report any issues [here](https://github.com/acmesh-official/acme.sh/issues/2840) ```sh export JOKER_USERNAME="xxxx" @@ -787,17 +785,17 @@ export JOKER_PASSWORD="xxxx" To issue a cert: ```sh -./acme.sh --issue --dns dns_joker -d example.com +./acme.sh --issue --dns dns_joker -d example.com -d *.example.com ``` -The `JOKER_USERNAME` and `JOKER_PASSWORD` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. +The `JOKER_USERNAME` and `JOKER_PASSWORD` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. ## 104. Use 1984Hosting domain API -[1984Hosting](https://1984hosting.com/) does not provide an API to update DNS records +https://1984hosting.com/ does not provide an API to update DNS records (other than IPv4 and IPv6 dynamic DNS addresses). The `acme.sh` plugin therefore retrieves and updates domain TXT records by logging into the 1984Hosting website to read the HTML and posting updates as HTTP. The plugin needs to @@ -820,7 +818,7 @@ Ok, let's issue a cert now: ./acme.sh --issue --dns dns_1984hosting -d example.com -d *.example.com ``` -If you have any issues with 1984Hosting DNS API please report them [here](https://github.com/Neilpang/acme.sh/issues/2851). +Report any issues [here](https://github.com/Neilpang/acme.sh/issues/2851) @@ -835,11 +833,10 @@ export ARUBA_AS="" ``` Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_aruba -d example.com -d www.example.com +./acme.sh --issue --dns dns_aruba -d example.com -d *.example.com ``` -If you find any bugs, please report here: -https://github.com/JTrotta/acme.sh/issues +Report any issues [here](https://github.com/JTrotta/acme.sh/issues) @@ -876,7 +873,7 @@ export TRANSIP_Token_Global_Key="true" To issue a cert: ```sh -./acme.sh --issue --dns dns_transip --dnssleep 300 -d example.com -d www.example.com +./acme.sh --issue --dns dns_transip --dnssleep 300 -d example.com -d *.example.com ``` @@ -891,7 +888,7 @@ export DF_password="XXX" To issue a cert: ```sh -./acme.sh --issue --dns dns_df -d example.com -d www.example.com +./acme.sh --issue --dns dns_df -d example.com -d *.example.com ``` The `df_user` and `df_password` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. @@ -907,7 +904,7 @@ export NJALLA_Token="" To issue a cert: ```sh -./acme.sh --issue --dns dns_njalla -d example.com -d www.example.com +./acme.sh --issue --dns dns_njalla -d example.com -d *.example.com ``` Please report any bugs here: https://github.com/acmesh-official/acme.sh/issues/2913 @@ -925,7 +922,7 @@ export VERCEL_TOKEN="" To issue a cert: ```sh -./acme.sh --issue --dns dns_vercel -d example.com -d www.example.com +./acme.sh --issue --dns dns_vercel -d example.com -d *.example.com ``` @@ -941,7 +938,7 @@ export HETZNER_Token="" Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_hetzner -d example.com -d www.example.com +./acme.sh --issue --dns dns_hetzner -d example.com -d *.example.com ``` The `HETZNER_Token` settings will be saved in `[acme.sh-config-home-path]/account.conf` @@ -968,28 +965,20 @@ export KAPPERNETDNS_Secret="yourKAPPERNETapisecret" You can start the acme.sh with following parameters for testing ```sh -./acme.sh --issue --dns dns_kappernet -d - -or for a wildcertificate - -./acme.sh --issue --dns dns_kappernet -d -d *. - +./acme.sh --issue --dns dns_kappernet -d example.com -d *.example.com ``` -Please replace `` with the name of the domain you wish to create a certificate for. -After the test you can replace your kapper.net DNS Panel API Key and Secret, it is stored in ~/.acme.sh/account.conf. +Please replace `example.com` with the name of the domain you wish to create a certificate for. -For repeated calls use -```sh -./acme.sh --issue --dns dns_kappernet -d -``` +After the test you can replace your kapper.net DNS Panel API Key and Secret, it is stored in `~/.acme.sh/account.conf`. ## 112. Use Wedos API -First create your WAPI password and add your IP address to access list at customer portal. For more info visit, [https://kb.wedos.com/en/kategorie/wapi-api-interface/](https://kb.wedos.com/en/kategorie/wapi-api-interface/) +First create your WAPI password and add your IP address to access list at customer portal. +For more info visit, https://kb.wedos.com/en/kategorie/wapi-api-interface/ Set variables: @@ -1002,7 +991,7 @@ export WEDOS_Hash='xxxxxxxxxx' Issue your certs: ```sh -./acme.sh --issue --dns dns_wedos -d xxx.xx -d www.xxx.xx +./acme.sh --issue --dns dns_wedos -d example.com -d *.example.com ``` WEDOS_User and WEDOS_Hash will be stored in `~/.acme.sh/account.conf` and will be reused when needed. @@ -1032,7 +1021,7 @@ export SH_Domain_ID="xxxxxxxxxxxxx" Let's issue a cert now: ```sh -./acme.sh --issue --dns dns_shellrent -d example.com -d www.example.com +./acme.sh --issue --dns dns_shellrent -d example.com -d *.example.com ``` The SH_Username and SH_Token and SH_Domain_ID will be saved in ~/.acme.sh/account.conf and will be reused when needed. @@ -1044,8 +1033,6 @@ The SH_Username and SH_Token and SH_Domain_ID will be saved in ~/.acme.sh/accoun This provider supports [OpenStack Designate](https://docs.openstack.org/designate) for creating DNS records. -Report any issues to https://github.com/acmesh-official/acme.sh/issues/3054 - This provider requires the OpenStack Client (python-openstackclient) and Designate client (python-designateclient) be installed and available in your path. @@ -1070,31 +1057,31 @@ export OS_USER_DOMAIN_NAME="Default" To issue a cert: ```sh -./acme.sh --issue --dns dns_openstack -d example.com +./acme.sh --issue --dns dns_openstack -d example.com -d *.example.com ``` Your OpenStack credentials will be saved to `~/.acme.sh/account.conf` and reused on renewal. +Report any issues [here](https://github.com/acmesh-official/acme.sh/issues/3054) + ## 115. Use Netlify API -1. Generate a Personal Access Token at https://app.netlify.com/user/applications - -2. Set your token for use with +Generate a Personal Access Token at https://app.netlify.com/user/applications +Set your token for use with: ```sh export NETLIFY_ACCESS_TOKEN='' ``` -3. Issue a cert with: - +Issue a cert with: ```sh -./acme.sh --issue --dns dns_netlify -d example.com -d www.example.com +./acme.sh --issue --dns dns_netlify -d example.com -d *.example.com ``` -[Report a Netlify-related Bug](https://github.com/acmesh-official/acme.sh/issues/3088) +Report any issues [here](https://github.com/acmesh-official/acme.sh/issues/3088) @@ -1103,8 +1090,6 @@ export NETLIFY_ACCESS_TOKEN='' This provider supports the [Akamai Edge DNS](https://developer.akamai.com/api/cloud_security/edge_dns_zone_management/v2.html) API for creating DNS records. -Report any issues to https://github.com/acmesh-official/acme.sh/issues/3157 - This provider requires Akamai Open Edgegrid Credentials with EdgeDNS API access authorization. To create and establish your Akamai OPEN CREDENTIALS, see the [authorization](https://developer.akamai.com/legacy/introduction/Prov_Creds.html) and [credentials](https://developer.akamai.com/legacy/introduction/Conf_Client.html) sections of the Akamai Developer Get Started guide. The Akamai Open Edgegrid credentials must be specified as environment variables as follows: @@ -1117,16 +1102,18 @@ export AKAMAI_HOST="" To issue a cert: ```sh -./acme.sh --issue --dns dns_edgedns -d example.com +./acme.sh --issue --dns dns_edgedns -d example.com -d *.example.com ``` Your Akamai Edgegrid credentials will be saved to `~/.acme.sh/account.conf` and reused on renewal. +Report any issues [here](https://github.com/acmesh-official/acme.sh/issues/3157) + ## 117. Use WEDOS DNS API -WEDOS DNS provider comes from Czech Republic. +WEDOS DNS provider from Czech Republic. DNS API implementation for WEDOS require your WEDOS's account to allow WAPI interface. You have to login to WEDOS administration, in setting allow WAPI interface (in days when this manual were written it was for free completelly). Configure WAPI interface to XML interface and register the IP addresses (IPv4 and IPv6) of the server where you plan to use acme.sh. @@ -1142,10 +1129,10 @@ export WEDOS_Wapipass="" Then you can issue a certificates: ```sh -./acme.sh --issue --dns dns_wedos -d "*.example.com" -d "examle.com" +./acme.sh --issue --dns dns_wedos -d example.com -d *.examle.com ``` -If you face any bug, please use this [page](https://github.com/acmesh-official/acme.sh/issues/3166) to report it. +Report any issues [here](https://github.com/acmesh-official/acme.sh/issues/3166). But before reporting run the acme.sh with `--debug 2` switch and append full acme.sh output to the issue report. @@ -1161,10 +1148,10 @@ export WS_ApiSecret="" To issue a cert: ```sh -./acme.sh --issue --dns dns_websupport -d "*.example.com" -d "examle.com" +./acme.sh --issue --dns dns_websupport -d example.com -d *.examle.com ``` -Report any issues to https://github.com/akulumbeg/acme.sh/issues +Report any issues [here](https://github.com/akulumbeg/acme.sh/issues) @@ -1177,8 +1164,8 @@ https://manager.infomaniak.com/v3//api/dashboard and export it as an environment variable: ```sh -export INFOMANIAK_API_TOKEN=xxx -./acme.sh --issue --dns dns_infomaniak -d example.com -d www.example.com +export INFOMANIAK_API_TOKEN="" +./acme.sh --issue --dns dns_infomaniak -d example.com -d *.example.com ``` Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues/3188) @@ -1195,7 +1182,7 @@ Export your login/pass as an environment variable: ```sh export BOOKMYNAME_USERNAME="xxx" export BOOKMYNAME_PASSWORD="yyy" -./acme.sh --issue --dns dns_bookmyname --dnssleep 600 -d example.com -d www.example.com +./acme.sh --issue --dns dns_bookmyname -d example.com -d *.example.com --dnssleep 600 ``` Please report any issue to [here](https://github.com/acmesh-official/acme.sh/issues/3209) @@ -1211,7 +1198,7 @@ Export your token as an environment variable: ```sh export ANX_Token='' -./acme.sh --issue --dns dns_anx -d example.com -d www.example.com +./acme.sh --issue --dns dns_anx -d example.com -d *.example.com ``` Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues/3238) @@ -1224,10 +1211,6 @@ Note that in order the script to be working properly acme.sh should be installed To issue a cert: ```sh -./acme.sh --issue --dns dns_synology_dsm -d example.com -d www.example.com -``` -To issue a wildcard cert: -```sh ./acme.sh --issue --dns dns_synology_dsm -d example.com -d *.example.com ``` You can find more details [here](https://github.com/arabezar/acme.sh/wiki) @@ -1250,10 +1233,6 @@ export HUAWEICLOUD_DomainName="" To issue a cert: ```sh -./acme.sh --issue --dns dns_huaweicloud -d example.com -d www.example.com -``` -To issue a wildcard cert: -```sh ./acme.sh --issue --dns dns_huaweicloud -d example.com -d *.example.com ``` @@ -1270,10 +1249,6 @@ export SIMPLY_ApiKey="" To issue a cert: ```sh -./acme.sh --issue --dns dns_simply -d example.com -d www.example.com -``` -To issue a wildcard cert: -```sh ./acme.sh --issue --dns dns_simply -d example.com -d *.example.com ``` @@ -1290,10 +1265,6 @@ export WORLD4YOU_PASSWORD="" To issue a cert: ```sh -./acme.sh --issue --dns dns_world4you -d example.com -d www.example.com -``` -To issue a wildcard cert: -```sh ./acme.sh --issue --dns dns_world4you -d example.com -d *.example.com ``` @@ -1311,7 +1282,7 @@ export SCALEWAY_API_TOKEN='xxx' To issue a cert run: ```sh -./acme.sh --issue --dns dns_scaleway -d example.com -d www.example.com +./acme.sh --issue --dns dns_scaleway -d example.com -d *.example.com ``` Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues/3295) @@ -1322,12 +1293,12 @@ Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues ## 127 First you need to login to your LS account to get your API Key. ```sh -export LS_Key="KEY" +export LS_Key="" ``` Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_ls -d example.com -d www.example.com +./acme.sh --issue --dns dns_ls -d example.com -d *.example.com ``` @@ -1341,10 +1312,6 @@ export RACKCORP_APISECRET="SECRETHERE" ``` To issue a cert: ```sh -./acme.sh --issue --dns dns_rackcorp -d example.com -d www.example.com -``` -To issue a wildcard cert: -```sh ./acme.sh --issue --dns dns_rackcorp -d example.com -d *.example.com ``` @@ -1363,11 +1330,6 @@ export IONOS_SECRET="..." To issue a certificate, execute: ```sh -./acme.sh --issue --dns dns_ionos -d example.com -d www.example.com -``` - -To issue a wildcard certificate, execute: -```sh ./acme.sh --issue --dns dns_ionos -d example.com -d *.example.com ``` @@ -1386,11 +1348,6 @@ export PORKBUN_SECRET_API_KEY="..." To issue a certificate, execute: ```sh -./acme.sh --issue --dns dns_porkbun -d example.com -d www.example.com -``` - -To issue a wildcard certificate, execute: -```sh ./acme.sh --issue --dns dns_porkbun -d example.com -d *.example.com ``` @@ -1399,7 +1356,8 @@ To issue a wildcard certificate, execute: ## 131. Using the Aurora API -[PCextreme B.V.](https://www.pcextreme.nl/) is a Dutch cloud provider offering cloud services under the family name Aurora. Head over to [DNS & Health Checks > Users](https://cp.pcextreme.nl/auroradns/users) to get your API credentials. +[PCextreme B.V.](https://www.pcextreme.nl/) is a Dutch cloud provider offering cloud services under the family name Aurora. +Head over to [DNS & Health Checks > Users](https://cp.pcextreme.nl/auroradns/users) to get your API credentials. Export your credentials as environment variables: ```sh @@ -1409,17 +1367,19 @@ export AURORA_Secret="..." To issue a certificate, execute: ```sh -./acme.sh --issue --dns dns_aurora -d example.com -d www.example.com +./acme.sh --issue --dns dns_aurora -d example.com -d *.example.com ``` -Please report any issue to https://github.com/acmesh-official/acme.sh/issues/3459 +Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues/3459) ## 132. Using the Azion DNS API -[Azion](https://www.azion.com/) is a Edge Computing Platform to build modern applications at edge. This API reflects the [Intelligent DNS](https://www.azion.com/en/documentation/products/intelligent-dns/) product. Read this [documentation](https://www.azion.com/en/documentation/products/api/v3/) to create an username/password and permissions to use this plugin. +https://www.Azion.com/ is a Edge Computing Platform to build modern applications at edge. +This API reflects the [Intelligent DNS](https://www.azion.com/en/documentation/products/intelligent-dns/) product. +Read this [documentation](https://www.azion.com/en/documentation/products/api/v3/) to create a username/password and permissions to use this plugin. Export your username/password as environment variables: ```sh @@ -1429,10 +1389,10 @@ export AZION_Password="password" To issue a certificate, execute: ```sh -./acme.sh --issue --dns dns_azion -d example.com -d www.example.com +./acme.sh --issue --dns dns_azion -d example.com -d *.example.com ``` -Please report any issue to https://github.com/acmesh-official/acme.sh/issues/3555 +Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues/3555) @@ -1450,21 +1410,20 @@ Créer un token API sur votre compte [Hostline Hébergement VPS](https://www.hos Ajouter les variables API suivantes : ```sh -export HOSTLINE_Token="xxx" (obligatoire) -export HOSTLINE_Url="https://api.hostline.fr" (optionnel) -export HOSTLINE_Ttl="60" ttl custom record (optionnel) +export HOSTLINE_Token="xxx" # (obligatoire) +export HOSTLINE_Url="https://api.hostline.fr" # (optionnel) +export HOSTLINE_Ttl="60" # ttl custom record (optionnel) ``` Pour générer un certificat exécuter la commande correspondante à votre cas : ```sh -./acme.sh --issue --dns dns_hostline -d www.example.com # simple domain -./acme.sh --issue --dns dns_hostline -d example.com -d www.example.com # multi domain -./acme.sh --issue --dns dns_hostline -d example.com -d *.example.com # wildcard +./acme.sh --issue --dns dns_hostline -d example.com -d *.example.com ``` Les variables `HOSTLINE_Token`, `HOSTLINE_Url` (optionnel) et `HOSTLINE_Ttl` (optionnel) doivent être définies dans le fichier `/root/.acme.sh/account.conf`. -Si vous rencontrez un problème sur l'API Hostline Hébergement VPS, merci de rapporter votre problème sur le lien suivant : [https://github.com/acmesh-official/acme.sh/issues/3675](https://github.com/acmesh-official/acme.sh/issues/3675) +Si vous rencontrez un problème sur l'API Hostline Hébergement VPS, merci de rapporter votre problème sur le lien suivant: +https://github.com/acmesh-official/acme.sh/issues/3675 @@ -1481,13 +1440,12 @@ export VEESP_Password="password" To issue a cert: ```sh -./acme.sh --issue --dns dns_veesp -d example.com -d www.example.com +./acme.sh --issue --dns dns_veesp -d example.com -d *.example.com ``` The `VEESP_User` and `VEESP_Password` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -Please report any issue here: -https://github.com/acmesh-official/acme.sh/issues/3712 +Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues/3712) @@ -1512,15 +1470,14 @@ export cPanel_Hostname="https://cp04.nordicway.dk:2083" Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_cpanel -d example.com -d www.example.com +./acme.sh --issue --dns dns_cpanel -d example.com -d *.example.com ``` (see https://api.docs.cpanel.net/cpanel/introduction/#cpanel-or-webmail-session-url-1 regarding cPanel ports) The `cPanel_Username`, `cPanel_Apitoken` and `cPanel_Hostname` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -Please report any issue here: -https://github.com/acmesh-official/acme.sh/issues/3732 +Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues/3732) @@ -1545,8 +1502,7 @@ Ok, let's issue a cert: ./acme.sh --issue --dns dns_ispman -d example.com -d *.example.com ``` -Please report bugs here: -https://github.com/acmesh-official/acme.sh/issues/3751 +Please report bugs [here](https://github.com/acmesh-official/acme.sh/issues/3751) @@ -1565,8 +1521,7 @@ Ok, let's issue a cert now: The `DNSHOME_Subdomain` and `DNSHOME_SubdomainPassword` will be saved in the domain conf and will be reused when needed. -Please report any issue here: -https://github.com/acmesh-official/acme.sh/issues/3819 +Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues/3819) @@ -1576,18 +1531,18 @@ https://github.com/acmesh-official/acme.sh/issues/3819 First obtain you API key from the control panel. ```sh -export MB_AK="Key" -export MB_AS="Secret" +export MB_AK="" +export MB_AS="" ``` Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_mythic_beasts --domain example.com +./acme.sh --issue --dns dns_mythic_beasts -d example.com -d *.example.com ``` The credentials will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -Please report any issue to [https://github.com/acmesh-official/acme.sh/issues/3848](https://github.com/acmesh-official/acme.sh/issues/3848) +Please report any issue [here](https://github.com/acmesh-official/acme.sh/issues/3848) @@ -1595,21 +1550,26 @@ Please report any issue to [https://github.com/acmesh-official/acme.sh/issues/38 ## 140. Use s-dns.de API -First generate your dns zone key. Open your existing nameserver entry, click on [Passwort für dynamic DNS generieren] and save your zone. This generates a new key for your zone. +First generate your dns zone key. +Open your existing nameserver entry, click on [Passwort für dynamic DNS generieren] and save your zone. +This generates a new key for your zone. ```sh -export SDNS_ZONE_KEY="Key" +export SDNS_ZONE_KEY="" ``` Ok, let's issue a cert now: ```sh -./acme.sh --issue --dns dns_sdns --domain example.com +./acme.sh --issue --dns dns_sdns -d example.com -d *.example.com ``` -S-dns nameservers use anycast. It is therefore possible that the server next to your location already provides the new record, while the CA reaches another one that does not have the TXT record yet. To avoid such timing errors the dnssleep flag can be set to a value of 240 seconds. +S-dns nameservers use anycast. +It is therefore possible that the server next to your location already provides the new record, +while the CA reaches another one that does not have the TXT record yet. +To avoid such timing errors the `--dnssleep` flag can be set to a value of 240 seconds. ```sh -./acme.sh --issue --dns dns_sdns --domain example.com --dnssleep 240 +./acme.sh --issue --dns dns_sdns -d example.com -d *.example.com --dnssleep 240 ``` @@ -1627,11 +1587,7 @@ export UDR_PASS="..." ``` To issue a certificate, execute: -```sh -./acme.sh --issue --dns dns_udr -d example.com -d www.example.com -``` -To issue a wildcard certificate, execute: ```sh ./acme.sh --issue --dns dns_udr -d example.com -d *.example.com ``` @@ -1651,11 +1607,7 @@ export CURANET_AUTHSECRET="..." ``` To issue a certificate, execute: -```sh -./acme.sh --issue --dns dns_curanet -d example.com -d www.example.com -``` -To issue a wildcard certificate, execute: ```sh ./acme.sh --issue --dns dns_curanet -d example.com -d *.example.com ``` @@ -1682,15 +1634,10 @@ export AF_API_Password="apiPassword" To issue a certificate, execute: ```sh -./acme.sh --issue --dns dns_artfiles -d yourDomain.tld -``` -To issue a wildcard certificate, execute: -```sh -./acme.sh --issue --dns dns_artfiles -d yourDomain.tld -d *.yourDomain.tld +./acme.sh --issue --dns dns_artfiles -d example.com -d *.example.com ``` -Please report any issue here: -https://github.com/Eagle3386/acme.sh/issues +Please report any issue [here](https://github.com/Eagle3386/acme.sh/issues) @@ -1707,18 +1654,14 @@ export GEOSCALING_Password="..." ``` To issue a certificate, execute: -```sh -./acme.sh --issue --dns dns_geoscaling -d example.com -d www.example.com -``` -To issue a wildcard certificate, execute: ```sh -./acme.sh --issue --dns dns_geoscaling -d example.com -d '*.example.com' +./acme.sh --issue --dns dns_geoscaling -d example.com -d *.example.com ``` The `GEOSCALING_Username` and `GEOSCALING_Password` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. -Report bugs here: -https://github.com/acmesh-official/acme.sh/issues/3969 + +Report bugs [here](https://github.com/acmesh-official/acme.sh/issues/3969) @@ -1728,16 +1671,13 @@ https://github.com/acmesh-official/acme.sh/issues/3969 Get an API key in your fornex.com account page. Then ```sh -export FORNEX_API_KEY="Key" +export FORNEX_API_KEY="" ``` To issue a cert, run command: + ```sh -./acme.sh --issue --dns dns_fornex -d example.com -``` -To issue a wildcard certificate, execute: -```sh -./acme.sh --issue --dns dns_fornex -d example.com -d '*.example.com' +./acme.sh --issue --dns dns_fornex -d example.com -d *.example.com ``` @@ -1748,17 +1688,12 @@ To issue a wildcard certificate, execute: Use your credentials ```sh export DnsServices_Username="user@example.com" -export DnsServices_Password="YouPassword" +export DnsServices_Password="" ``` To issue a cert, run command: ```sh -./acme.sh --issue --dns dns_dnsservices -d example.com -``` - -To issue a wildcard certificate, run command: -```sh -./acme.sh --issue --dns dns_dnsservices -d example.com -d '*.example.com' +./acme.sh --issue --dns dns_dnsservices -d example.com -d *.example.com ``` @@ -1766,19 +1701,15 @@ To issue a wildcard certificate, run command: ## 147. Use Nodion DNS API -You are able to create a free account on [app.nodion.com](https://app.nodion.com) and add an API key used by acme.sh by visiting the [settings page](https://app.nodion.com/user/security). Please take this token and set it as env variable. +You are able to create a free account on https://app.nodion.com and add an API key used by acme.sh by visiting the [settings page](https://app.nodion.com/user/security). +Please take this token and set it as env variable. ```sh export NODION_API_KEY="" ``` + To issue a certificate, execute: -```sh -acme.sh --issue --dns dns_nodion -d example.com -``` - -To issue a wildcard certificate, execute: - ```sh acme.sh --issue --dns dns_nodion -d *.example.com ``` @@ -1790,16 +1721,12 @@ acme.sh --issue --dns dns_nodion -d *.example.com Use your credentials ```sh -export LA_Id="appid" -export LA_Key="apikey" +export LA_Id="" +export LA_Key="" ``` To issue a cert, run command: -```sh -./acme.sh --issue --dns dns_la -d example.com -``` -To issue a wildcard certificate, run command: ```sh ./acme.sh --issue --dns dns_la -d example.com -d *.example.com ``` @@ -1829,7 +1756,7 @@ export YC_Zone_ID="DNS Zone ID" Now you can issue a cert: ```sh -./acme.sh --issue --dns dns_yc -d example.com -d www.example.com +./acme.sh --issue --dns dns_yc -d example.com -d *.example.com ``` Both, `YC_Folder_ID`, `YC_SA_ID`, `YC_SA_Key_ID`, `YC_SA_Key_File_PEM_b64` or `YC_SA_Key_File_Path` and `YC_Zone_ID` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. @@ -1848,7 +1775,7 @@ export BUNNY_API_KEY="your-api-key-goes-here" Then you can issue a cert: ```sh -./acme.sh --issue --dns dns_bunny -d example.com -d www.example.com +./acme.sh --issue --dns dns_bunny -d example.com -d *.example.com ``` The `BUNNY_API_KEY` will be saved in `~/.acme.sh/account.conf` and will be reused when needed. @@ -1875,7 +1802,7 @@ export SELFHOSTDNS_USERNAME="myname" export SELFHOSTDNS_PASSWORD="mypass" export SELFHOSTDNS_MAP="_acme-challenge.example.com:12345:98765 alias.example.com:11111" -acme.sh --issue -d example.com --dns dns_selfhost +acme.sh --issue --dns dns_selfhost -d example.com -d *.example.com ``` @@ -1892,12 +1819,6 @@ export RAGE4_USERNAME="example@user.local" To issue a cert, run command: -```sh -./acme.sh --issue --dns dns_rage4 -d example.com -``` - -To issue a wildcard certificate, run command: - ```sh ./acme.sh --issue --dns dns_rage4 -d example.com -d *.example.com ``` @@ -1916,13 +1837,7 @@ export GCORE_KEY="" To issue a cert, run command: ```sh -./acme.sh --issue --dns dns_gcore -d example.com -``` - -To issue a wildcard certificate, run command: - -```sh -./acme.sh --issue --dns dns_gcore -d example.com -d \*.example.com +./acme.sh --issue --dns dns_gcore -d example.com -d *.example.com ``` @@ -1965,13 +1880,7 @@ export IPv64_Token="your_ipv64_api_key" To issue a cert, run command: ```sh -./acme.sh --issue --dns dns_ipv64 -d example.com -``` - -To issue a wildcard certificate, run command: - -```sh -./acme.sh --issue --dns dns_ipv64 -d example.com -d \*.example.com +./acme.sh --issue --dns dns_ipv64 -d example.com -d *.example.com ``` @@ -1979,7 +1888,8 @@ To issue a wildcard certificate, run command: ## 156. Use Nanelo DNS API -Login to your [Nanelo](https://nanelo.com) Account, navigate to Settings > API Keys and generate a new API Key. Copy it and set it like the following: +Login to your https://nanelo.com Account, navigate to Settings > API Keys and generate a new API Key. +Copy it and set it like the following: ```sh export NANELO_TOKEN="" @@ -1987,24 +1897,20 @@ export NANELO_TOKEN="" To issue a cert, run the following command: -```sh -./acme.sh --issue --dns dns_nanelo -d example.com -``` - -To issue a wildcard certificate, run the following command: - ```sh ./acme.sh --issue --dns dns_nanelo -d example.com -d *.example.com ``` -Please report any bugs/issues regarding the Nanelo DNS Integration here: -https://github.com/acmesh-official/acme.sh/issues/4519 + +Please report any bugs/issues [here](https://github.com/acmesh-official/acme.sh/issues/4519) ## 157. Use Google Domains DNS API -Visit https://domains.google.com/registrar/ and click "Manage" on the domain. Then, in the Security settings, generate an access token for the ACME DNS API. Save this access token as it is only displayed once. +Visit https://domains.google.com/registrar/ and click "Manage" on the domain. +Then, in the Security settings, generate an access token for the ACME DNS API. +Save this access token as it is only displayed once. ```sh export GOOGLEDOMAINS_ACCESS_TOKEN="" @@ -2012,7 +1918,7 @@ export GOOGLEDOMAINS_ACCESS_TOKEN="" To issue a cert, run the following: ```sh -./acme.sh --issue --dns dns_googledomains -d www.example.com +./acme.sh --issue --dns dns_googledomains -d example.com -d *.example.com ``` The script tries to infer the zone registered with Google Domains by matching the domain against the Google Domains API. To manually specify the zone, do the following prior to running the issuing command: @@ -2035,7 +1941,7 @@ Let's assume you want to name it 'myapi': 3. Then you can use your API to issue cert like this: ```sh -./acme.sh --issue --dns dns_myapi -d example.com -d www.example.com +./acme.sh --issue --dns dns_myapi -d example.com -d *.example.com ``` For more details, please check our sample script: [dns_myapi.sh](https://github.com/Neilpang/acme.sh/blob/master/dnsapi/dns_myapi.sh)