2
0
mirror of https://github.com/acmesh-official/acme.sh synced 2025-08-22 09:57:29 +00:00

Upload latest dev branch to master (#3)

* Fix for empty error objects in response breaking extraction of domain validation types

Fix for empty error objects in the response which mess up the extraction of domain validation types due to the closing brace in the error object prematurely matching the end of the search pattern.

This seems to be a recent change with ZeroSSL in particular where "error":{} is being included in responses.

There could potentially be a related issue if there is a complex error object ever returned in the validation check response where an embedded sub-object could lead to an incomplete extraction of the error message, roughly around line 5040.

Adapted from fix suggested here: https://github.com/acmesh-official/acme.sh/issues/4933#issuecomment-1870499018

* Add new dnsapi support for OpenProvider.eu using new REST API

* Cleanup duplicate debug log output based on DNS test run

* Resolve spellcheck error

* Configure 10 second timeout to ACME_DIRECTORY API call

* add support for AIX style netstat

* add

* fix for wiki

* minor

* minor

* wiki

* wiki

* dnsapi: dns_mydnsjp.sh fix author

The @epgdatacapbon was renamed to @tkmsst

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>

* dnsapi: dns_ddnss.sh remove RaidenII from authors

He made the DuckDNS script that was used for this script but he can't support the script.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>

* dnsapi: fix authors: use @ for GitHub profiles

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>

* dnsapi: dns_vultr.sh remove empty author

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>

* dnsapi: dns_mijnhost.sh rearrange fields, use user docs instead of API docs

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>

* dnsapi: fix Structured DNS Info

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>

* Fix logged typo when running pre hook

* Run post hook when _on_before_issue errors

---------

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
Co-authored-by: Ciaran Walsh <ciaran@ciaran-walsh.com>
Co-authored-by: Lambiek12 <algemeen@lambiek12.nl>
Co-authored-by: Erwin Oegema <blablaechthema@hotmail.com>
Co-authored-by: laDanz <cdanzmann@gmail.com>
Co-authored-by: neil <github@neilpang.com>
Co-authored-by: neil <gitpc@neilpang.com>
Co-authored-by: Sergey Ponomarev <stokito@gmail.com>
Co-authored-by: David Beitey <david@davidjb.com>
Co-authored-by: Jan-willem van Kampen <Lambiek12@users.noreply.github.com>
This commit is contained in:
keryfan 2025-08-12 11:12:09 +03:00 committed by GitHub
parent 289d895423
commit 1f486fc9a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
29 changed files with 305 additions and 57 deletions

60
.github/workflows/wiki-monitor.yml vendored Normal file
View File

@ -0,0 +1,60 @@
name: Notify via Issue on Wiki Edit
on:
gollum:
jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Checkout wiki repository
uses: actions/checkout@v4
with:
repository: ${{ github.repository }}.wiki
path: wiki
- name: Generate wiki change message
run: |
actor="${{ github.actor }}"
sender_url=$(jq -r '.sender.html_url' "$GITHUB_EVENT_PATH")
page_name=$(jq -r '.pages[0].page_name' "$GITHUB_EVENT_PATH")
page_sha=$(jq -r '.pages[0].sha' "$GITHUB_EVENT_PATH")
page_url=$(jq -r '.pages[0].html_url' "$GITHUB_EVENT_PATH")
page_action=$(jq -r '.pages[0].action' "$GITHUB_EVENT_PATH")
now="$(date '+%Y-%m-%d %H:%M:%S')"
cd wiki
prev_sha=$(git rev-list $page_sha^ -- "$page_name.md" | head -n 1)
if [ -n "$prev_sha" ]; then
git diff $prev_sha $page_sha -- "$page_name.md" > ../wiki.diff || echo "(No diff found)" > ../wiki.diff
else
echo "(no diff)" > ../wiki.diff
fi
cd ..
{
echo "Wiki edited"
echo -n "User: "
echo "[$actor]($sender_url)"
echo "Time: $now"
echo "Page: [$page_name]($page_url) (Action: $page_action)"
echo ""
echo "----"
echo "### diff"
echo '```diff'
cat wiki.diff
echo '```'
} > wiki-change-msg.txt
- name: Create issue to notify Neilpang
uses: peter-evans/create-issue-from-file@v5
with:
title: "Wiki edited"
content-filepath: ./wiki-change-msg.txt
assignees: Neilpang
env:
TZ: Asia/Shanghai

17
acme.sh
View File

@ -1401,6 +1401,12 @@ _ss() {
return 0 return 0
fi fi
if [ "$(uname)" = "AIX" ]; then
_debug "Using: AIX netstat"
netstat -an | grep "^tcp" | grep "LISTEN" | grep "\.$_port "
return 0
fi
if _exists "netstat"; then if _exists "netstat"; then
_debug "Using: netstat" _debug "Using: netstat"
if netstat -help 2>&1 | grep "\-p proto" >/dev/null; then if netstat -help 2>&1 | grep "\-p proto" >/dev/null; then
@ -2761,7 +2767,7 @@ _initAPI() {
_request_retry_times=0 _request_retry_times=0
while [ -z "$ACME_NEW_ACCOUNT" ] && [ "${_request_retry_times}" -lt "$MAX_API_RETRY_TIMES" ]; do while [ -z "$ACME_NEW_ACCOUNT" ] && [ "${_request_retry_times}" -lt "$MAX_API_RETRY_TIMES" ]; do
_request_retry_times=$(_math "$_request_retry_times" + 1) _request_retry_times=$(_math "$_request_retry_times" + 1)
response=$(_get "$_api_server") response=$(_get "$_api_server" "" 10)
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
_debug2 "response" "$response" _debug2 "response" "$response"
_info "Cannot init API for: $_api_server." _info "Cannot init API for: $_api_server."
@ -3507,7 +3513,7 @@ _on_before_issue() {
_debug _chk_alt_domains "$_chk_alt_domains" _debug _chk_alt_domains "$_chk_alt_domains"
#run pre hook #run pre hook
if [ "$_chk_pre_hook" ]; then if [ "$_chk_pre_hook" ]; then
_info "Runing pre hook:'$_chk_pre_hook'" _info "Running pre hook:'$_chk_pre_hook'"
if ! ( if ! (
export Le_Domain="$_chk_main_domain" export Le_Domain="$_chk_main_domain"
export Le_Alt="$_chk_alt_domains" export Le_Alt="$_chk_alt_domains"
@ -4496,6 +4502,7 @@ issue() {
if ! _on_before_issue "$_web_roots" "$_main_domain" "$_alt_domains" "$_pre_hook" "$_local_addr"; then if ! _on_before_issue "$_web_roots" "$_main_domain" "$_alt_domains" "$_pre_hook" "$_local_addr"; then
_err "_on_before_issue." _err "_on_before_issue."
_on_issue_err "$_post_hook"
return 1 return 1
fi fi
@ -4755,7 +4762,8 @@ $_authorizations_map"
_debug keyauthorization "$keyauthorization" _debug keyauthorization "$keyauthorization"
fi fi
entry="$(echo "$response" | _egrep_o '[^\{]*"type":"'$vtype'"[^\}]*')" # Fix for empty error objects in response which mess up the original code, adapted from fix suggested here: https://github.com/acmesh-official/acme.sh/issues/4933#issuecomment-1870499018
entry="$(echo "$response" | sed s/'"error":{}'/'"error":null'/ | _egrep_o '[^\{]*"type":"'$vtype'"[^\}]*')"
_debug entry "$entry" _debug entry "$entry"
if [ -z "$keyauthorization" -a -z "$entry" ]; then if [ -z "$keyauthorization" -a -z "$entry" ]; then
@ -6344,7 +6352,8 @@ _deactivate() {
fi fi
_debug "Trigger validation." _debug "Trigger validation."
vtype="$(_getIdType "$_d_domain")" vtype="$(_getIdType "$_d_domain")"
entry="$(echo "$response" | _egrep_o '[^\{]*"type":"'$vtype'"[^\}]*')" # Fix for empty error objects in response which mess up the original code, adapted from fix suggested here: https://github.com/acmesh-official/acme.sh/issues/4933#issuecomment-1870499018
entry="$(echo "$response" | sed s/'"error":{}'/'"error":null'/ | _egrep_o '[^\{]*"type":"'$vtype'"[^\}]*')"
_debug entry "$entry" _debug entry "$entry"
if [ -z "$entry" ]; then if [ -z "$entry" ]; then
_err "$d: Cannot get domain token" _err "$d: Cannot get domain token"

View File

@ -7,7 +7,7 @@ Options:
BEGET_User API user BEGET_User API user
BEGET_Password API password BEGET_Password API password
Issues: github.com/acmesh-official/acme.sh/issues/6200 Issues: github.com/acmesh-official/acme.sh/issues/6200
Author: ARNik arnik@arnik.ru Author: ARNik <arnik@arnik.ru>
' '
Beget_Api="https://api.beget.com/api" Beget_Api="https://api.beget.com/api"

View File

@ -7,7 +7,7 @@ Options:
BOOKMYNAME_USERNAME Username BOOKMYNAME_USERNAME Username
BOOKMYNAME_PASSWORD Password BOOKMYNAME_PASSWORD Password
Issues: github.com/acmesh-official/acme.sh/issues/3209 Issues: github.com/acmesh-official/acme.sh/issues/3209
Author: Neilpang Author: @Neilpang
' '
######## Public functions ##################### ######## Public functions #####################

View File

@ -6,7 +6,7 @@ Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_ddnss
Options: Options:
DDNSS_Token API Token DDNSS_Token API Token
Issues: github.com/acmesh-official/acme.sh/issues/2230 Issues: github.com/acmesh-official/acme.sh/issues/2230
Author: RaidenII, helbgd, mod242 Author: @helbgd, @mod242
' '
DDNSS_DNS_API="https://ddnss.de/upd.php" DDNSS_DNS_API="https://ddnss.de/upd.php"

View File

@ -7,7 +7,7 @@ Options:
DNSHOME_Subdomain Subdomain DNSHOME_Subdomain Subdomain
DNSHOME_SubdomainPassword Subdomain Password DNSHOME_SubdomainPassword Subdomain Password
Issues: github.com/acmesh-official/acme.sh/issues/3819 Issues: github.com/acmesh-official/acme.sh/issues/3819
Author: dnsHome.de https://github.com/dnsHome-de Author: @dnsHome-de
' '
# Usage: add subdomain.ddnsdomain.tld "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs" # Usage: add subdomain.ddnsdomain.tld "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"

View File

@ -5,7 +5,7 @@ Site: www.DuckDNS.org
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_duckdns Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_duckdns
Options: Options:
DuckDNS_Token API Token DuckDNS_Token API Token
Author: RaidenII Author: @RaidenII
' '
DuckDNS_API="https://www.duckdns.org/update" DuckDNS_API="https://www.duckdns.org/update"

View File

@ -8,7 +8,7 @@ Options:
DYN_Customer Customer DYN_Customer Customer
DYN_Username API Username DYN_Username API Username
DYN_Password Secret DYN_Password Secret
Author: Gerd Naschenweng <https://github.com/magicdude4eva> Author: Gerd Naschenweng <@magicdude4eva>
' '
# Dyn Managed DNS API # Dyn Managed DNS API

View File

@ -8,7 +8,7 @@ Options:
OptionsAlt: OptionsAlt:
KEY Path to SSH private key file. E.g. "/root/.ssh/dynv6" KEY Path to SSH private key file. E.g. "/root/.ssh/dynv6"
Issues: github.com/acmesh-official/acme.sh/issues/2702 Issues: github.com/acmesh-official/acme.sh/issues/2702
Author: StefanAbl Author: @StefanAbl
' '
dynv6_api="https://dynv6.com/api/v2" dynv6_api="https://dynv6.com/api/v2"

View File

@ -7,7 +7,7 @@ Options:
EASYDNS_Token API Token EASYDNS_Token API Token
EASYDNS_Key API Key EASYDNS_Key API Key
Issues: github.com/acmesh-official/acme.sh/issues/2647 Issues: github.com/acmesh-official/acme.sh/issues/2647
Author: Neilpang, wurzelpanzer <wurzelpanzer@maximolider.net> Author: @Neilpang, wurzelpanzer <wurzelpanzer@maximolider.net>
' '
# API Documentation: https://sandbox.rest.easydns.net:3001/ # API Documentation: https://sandbox.rest.easydns.net:3001/

View File

@ -7,7 +7,7 @@ Options:
FREEDNS_User Username FREEDNS_User Username
FREEDNS_Password Password FREEDNS_Password Password
Issues: github.com/acmesh-official/acme.sh/issues/2305 Issues: github.com/acmesh-official/acme.sh/issues/2305
Author: David Kerr <https://github.com/dkerr64> Author: David Kerr <@dkerr64>
' '
######## Public functions ##################### ######## Public functions #####################

View File

@ -5,6 +5,7 @@ Site: dns.he.net
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_he_ddns Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_he_ddns
Options: Options:
HE_DDNS_KEY The DDNS key HE_DDNS_KEY The DDNS key
Issues: https://github.com/acmesh-official/acme.sh/issues/5238
Author: Markku Leiniö Author: Markku Leiniö
' '

View File

@ -7,7 +7,7 @@ Options:
JOKER_USERNAME Username JOKER_USERNAME Username
JOKER_PASSWORD Password JOKER_PASSWORD Password
Issues: github.com/acmesh-official/acme.sh/issues/2840 Issues: github.com/acmesh-official/acme.sh/issues/2840
Author: <https://github.com/aattww/> Author: @aattww
' '
JOKER_API="https://svc.joker.com/nic/replace" JOKER_API="https://svc.joker.com/nic/replace"

View File

@ -1,16 +1,15 @@
#!/usr/bin/env sh #!/usr/bin/env sh
# shellcheck disable=SC2034 # shellcheck disable=SC2034
dns_mijnhost_info='mijn.host dns_mijnhost_info='mijn.host
Domains: mijn.host
Site: mijn.host Site: mijn.host
Docs: https://mijn.host/api/doc/ Docs: https://github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_mijnhost
Issues: https://github.com/acmesh-official/acme.sh/issues/6177
Author: peterv99
Options: Options:
MIJNHOST_API_KEY API Key MIJNHOST_API_KEY API Key
Issues: github.com/acmesh-official/acme.sh/issues/6177
Author: @peterv99
' '
######## Public functions ###################### Constants for your mijn-host API ######## Public functions ######################
MIJNHOST_API="https://mijn.host/api/v2" MIJNHOST_API="https://mijn.host/api/v2"
# Add TXT record for domain verification # Add TXT record for domain verification

View File

@ -6,7 +6,7 @@ Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_mydnsjp
Options: Options:
MYDNSJP_MasterID Master ID MYDNSJP_MasterID Master ID
MYDNSJP_Password Password MYDNSJP_Password Password
Author: epgdatacapbon Author: @tkmsst
' '
######## Public functions ##################### ######## Public functions #####################

View File

@ -6,7 +6,7 @@ Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_namecom
Options: Options:
Namecom_Username Username Namecom_Username Username
Namecom_Token API Token Namecom_Token API Token
Author: RaidenII Author: @RaidenII
' '
######## Public functions ##################### ######## Public functions #####################

View File

@ -5,7 +5,7 @@ Site: NameSilo.com
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_namesilo Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_namesilo
Options: Options:
Namesilo_Key API Key Namesilo_Key API Key
Author: meowthink Author: @meowthink
' '
#Utilize API to finish dns-01 verifications. #Utilize API to finish dns-01 verifications.

View File

@ -0,0 +1,186 @@
#!/usr/bin/env sh
# shellcheck disable=SC2034
dns_openprovider_rest_info='OpenProvider (REST)
Domains: OpenProvider.com
Site: OpenProvider.eu
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_openprovider_rest
Options:
OPENPROVIDER_REST_USERNAME Openprovider Account Username
OPENPROVIDER_REST_PASSWORD Openprovider Account Password
Issues: github.com/acmesh-official/acme.sh/issues/6122
Author: Lambiek12
'
OPENPROVIDER_API_URL="https://api.openprovider.eu/v1beta"
######## Public functions #####################
# Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
# Used to add txt record
dns_openprovider_rest_add() {
fulldomain=$1
txtvalue=$2
_openprovider_prepare_credentials || return 1
_debug "Try fetch OpenProvider DNS zone details"
if ! _get_dns_zone "$fulldomain"; then
_err "DNS zone not found within configured OpenProvider account."
return 1
fi
if [ -n "$_domain_id" ]; then
addzonerecordrequestparameters="dns/zones/$_domain_name"
addzonerecordrequestbody="{\"id\":$_domain_id,\"name\":\"$_domain_name\",\"records\":{\"add\":[{\"name\":\"$_sub_domain\",\"ttl\":900,\"type\":\"TXT\",\"value\":\"$txtvalue\"}]}}"
if _openprovider_rest PUT "$addzonerecordrequestparameters" "$addzonerecordrequestbody"; then
if _contains "$response" "\"success\":true"; then
return 0
elif _contains "$response" "\"Duplicate record\""; then
_debug "Record already existed"
return 0
else
_err "Adding TXT record failed due to errors."
return 1
fi
fi
fi
_err "Adding TXT record failed due to errors."
return 1
}
# Usage: rm _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
# Used to remove the txt record after validation
dns_openprovider_rest_rm() {
fulldomain=$1
txtvalue=$2
_openprovider_prepare_credentials || return 1
_debug "Try fetch OpenProvider DNS zone details"
if ! _get_dns_zone "$fulldomain"; then
_err "DNS zone not found within configured OpenProvider account."
return 1
fi
if [ -n "$_domain_id" ]; then
removezonerecordrequestparameters="dns/zones/$_domain_name"
removezonerecordrequestbody="{\"id\":$_domain_id,\"name\":\"$_domain_name\",\"records\":{\"remove\":[{\"name\":\"$_sub_domain\",\"ttl\":900,\"type\":\"TXT\",\"value\":\"\\\"$txtvalue\\\"\"}]}}"
if _openprovider_rest PUT "$removezonerecordrequestparameters" "$removezonerecordrequestbody"; then
if _contains "$response" "\"success\":true"; then
return 0
else
_err "Removing TXT record failed due to errors."
return 1
fi
fi
fi
_err "Removing TXT record failed due to errors."
return 1
}
#################### OpenProvider API common functions ####################
_openprovider_prepare_credentials() {
OPENPROVIDER_REST_USERNAME="${OPENPROVIDER_REST_USERNAME:-$(_readaccountconf_mutable OPENPROVIDER_REST_USERNAME)}"
OPENPROVIDER_REST_PASSWORD="${OPENPROVIDER_REST_PASSWORD:-$(_readaccountconf_mutable OPENPROVIDER_REST_PASSWORD)}"
if [ -z "$OPENPROVIDER_REST_USERNAME" ] || [ -z "$OPENPROVIDER_REST_PASSWORD" ]; then
OPENPROVIDER_REST_USERNAME=""
OPENPROVIDER_REST_PASSWORD=""
_err "You didn't specify the Openprovider username or password yet."
return 1
fi
#save the credentials to the account conf file.
_saveaccountconf_mutable OPENPROVIDER_REST_USERNAME "$OPENPROVIDER_REST_USERNAME"
_saveaccountconf_mutable OPENPROVIDER_REST_PASSWORD "$OPENPROVIDER_REST_PASSWORD"
}
_openprovider_rest() {
httpmethod=$1
queryparameters=$2
requestbody=$3
_openprovider_rest_login
if [ -z "$openproviderauthtoken" ]; then
_err "Unable to fetch authentication token from Openprovider API."
return 1
fi
export _H1="Content-Type: application/json"
export _H2="Accept: application/json"
export _H3="Authorization: Bearer $openproviderauthtoken"
if [ "$httpmethod" != "GET" ]; then
response="$(_post "$requestbody" "$OPENPROVIDER_API_URL/$queryparameters" "" "$httpmethod")"
else
response="$(_get "$OPENPROVIDER_API_URL/$queryparameters")"
fi
if [ "$?" != "0" ]; then
_err "No valid parameters supplied for Openprovider API: Error $queryparameters"
return 1
fi
_debug2 response "$response"
return 0
}
_openprovider_rest_login() {
export _H1="Content-Type: application/json"
export _H2="Accept: application/json"
loginrequesturl="$OPENPROVIDER_API_URL/auth/login"
loginrequestbody="{\"ip\":\"0.0.0.0\",\"password\":\"$OPENPROVIDER_REST_PASSWORD\",\"username\":\"$OPENPROVIDER_REST_USERNAME\"}"
loginresponse="$(_post "$loginrequestbody" "$loginrequesturl" "" "POST")"
openproviderauthtoken="$(printf "%s\n" "$loginresponse" | _egrep_o '"token" *: *"[^"]*' | _head_n 1 | sed 's#^"token" *: *"##')"
export openproviderauthtoken
}
#################### Private functions ##################################
# Usage: _get_dns_zone _acme-challenge.www.domain.com
# Returns:
# _domain_id=123456789
# _domain_name=domain.com
# _sub_domain=_acme-challenge.www
_get_dns_zone() {
domain=$1
i=1
p=1
while true; do
h=$(printf "%s" "$domain" | cut -d . -f "$i"-100)
if [ -z "$h" ]; then
# Empty value not allowed
return 1
fi
if ! _openprovider_rest GET "dns/zones/$h" ""; then
return 1
fi
if _contains "$response" "\"name\":\"$h\""; then
_domain_id="$(printf "%s\n" "$response" | _egrep_o '"id" *: *[^,]*' | _head_n 1 | sed 's#^"id" *: *##')"
_debug _domain_id "$_domain_id"
_domain_name="$h"
_debug _domain_name "$_domain_name"
_sub_domain=$(printf "%s" "$domain" | cut -d . -f 1-"$p")
_debug _sub_domain "$_sub_domain"
return 0
fi
p=$i
i=$(_math "$i" + 1)
done
return 1
}

View File

@ -8,7 +8,7 @@ Options:
pleskxml_user Username pleskxml_user Username
pleskxml_pass Password pleskxml_pass Password
Issues: github.com/acmesh-official/acme.sh/issues/2577 Issues: github.com/acmesh-official/acme.sh/issues/2577
Author: Stilez, <https://github.com/romanlum> Author: @Stilez, @romanlum
' '
## Plesk XML API described at: ## Plesk XML API described at:

View File

@ -7,7 +7,7 @@ Options:
SCHLUNDTECH_USER Username SCHLUNDTECH_USER Username
SCHLUNDTECH_PASSWORD Password SCHLUNDTECH_PASSWORD Password
Issues: github.com/acmesh-official/acme.sh/issues/2246 Issues: github.com/acmesh-official/acme.sh/issues/2246
Author: <https://github.com/mod242> Author: @mod242
' '
SCHLUNDTECH_API="https://gateway.schlundtech.de" SCHLUNDTECH_API="https://gateway.schlundtech.de"

View File

@ -1,27 +1,21 @@
#!/usr/bin/env sh #!/usr/bin/env sh
# shellcheck disable=SC2034 # shellcheck disable=SC2034
dns_selectel_info='Selectel.com
# dns_selectel_info='Selectel.com Domains: Selectel.ru
# Domains: Selectel.ru Site: Selectel.com
# Site: Selectel.com Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_selectel
# Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_selectel Options: For old API version v1 (deprecated)
# Options: SL_Ver API version. Use "v1".
# Variables that must be defined before running SL_Key API Key
# SL_Ver can take one of the values 'v1' or 'v2', default is 'v1' OptionsAlt: For the current API version v2
# SL_Ver='v1', when using version API legacy (v1) SL_Ver API version. Use "v2".
# SL_Ver='v2', when using version API actual (v2) SL_Login_ID Account ID
# when using API version v1, i.e. SL_Ver is 'v1' or not defined: SL_Project_Name Project name
# SL_Key - API Key, required SL_Login_Name Service user name
# when using API version v2: SL_Pswd Service user password
# SL_Ver - required as 'v2' SL_Expire Token lifetime. In minutes (0-1440). Default "1400"
# SL_Login_ID - account ID, required Issues: github.com/acmesh-official/acme.sh/issues/5126
# SL_Project_Name - name project, required '
# SL_Login_Name - service user name, required
# SL_Pswd - service user password, required
# SL_Expire - token lifetime in minutes (0-1440), default 1400 minutes
#
# Issues: github.com/acmesh-official/acme.sh/issues/5126
#
SL_Api="https://api.selectel.ru/domains" SL_Api="https://api.selectel.ru/domains"
auth_uri="https://cloud.api.selcloud.ru/identity/v3/auth/tokens" auth_uri="https://cloud.api.selcloud.ru/identity/v3/auth/tokens"

View File

@ -4,11 +4,11 @@ dns_spaceship_info='Spaceship.com
Site: Spaceship.com Site: Spaceship.com
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_spaceship Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_spaceship
Options: Options:
SPACESHIP_API_KEY Spaceship API Key SPACESHIP_API_KEY API Key
SPACESHIP_API_SECRET Spaceship API Secret SPACESHIP_API_SECRET API Secret
SPACESHIP_ROOT_DOMAIN (Optional) Manually specify the root domain if auto-detection fails SPACESHIP_ROOT_DOMAIN Root domain. Manually specify the root domain if auto-detection fails. Optional.
Issues: github.com/acmesh-official/acme.sh/issues/6304 Issues: github.com/acmesh-official/acme.sh/issues/6304
Author: Meow <https://github.com/Meo597> Author: Meow <@Meo597>
' '
# Spaceship API # Spaceship API

View File

@ -6,7 +6,7 @@ Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#tele3
Options: Options:
TELE3_Key API Key TELE3_Key API Key
TELE3_Secret API Secret TELE3_Secret API Secret
Author: Roman Blizik <https://github.com/par-pa> Author: Roman Blizik <@par-pa>
' '
TELE3_API="https://www.tele3.cz/acme/" TELE3_API="https://www.tele3.cz/acme/"

View File

@ -6,7 +6,7 @@ Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_timeweb
Options: Options:
TW_Token API JWT token. Get it from the control panel at https://timeweb.cloud/my/api-keys TW_Token API JWT token. Get it from the control panel at https://timeweb.cloud/my/api-keys
Issues: github.com/acmesh-official/acme.sh/issues/5140 Issues: github.com/acmesh-official/acme.sh/issues/5140
Author: Nikolay Pronchev <https://github.com/nikolaypronchev> Author: Nikolay Pronchev <@nikolaypronchev>
' '
TW_Api="https://api.timeweb.cloud/api/v1" TW_Api="https://api.timeweb.cloud/api/v1"

View File

@ -7,7 +7,7 @@ Options:
UDR_USER Username UDR_USER Username
UDR_PASS Password UDR_PASS Password
Issues: github.com/acmesh-official/acme.sh/issues/3923 Issues: github.com/acmesh-official/acme.sh/issues/3923
Author: Andreas Scherer <https://github.com/andischerer> Author: Andreas Scherer <@andischerer>
' '
UDR_API="https://api.domainreselling.de/api/call.cgi" UDR_API="https://api.domainreselling.de/api/call.cgi"

View File

@ -5,7 +5,7 @@ Site: vscale.io
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_vscale Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_vscale
Options: Options:
VSCALE_API_KEY API Key VSCALE_API_KEY API Key
Author: Alex Loban <https://github.com/LAV45> Author: Alex Loban <@LAV45>
' '
VSCALE_API_URL="https://api.vscale.io/v1" VSCALE_API_URL="https://api.vscale.io/v1"

View File

@ -6,7 +6,6 @@ Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_vultr
Options: Options:
VULTR_API_KEY API Key VULTR_API_KEY API Key
Issues: github.com/acmesh-official/acme.sh/issues/2374 Issues: github.com/acmesh-official/acme.sh/issues/2374
Author:
' '
VULTR_Api="https://api.vultr.com/v2" VULTR_Api="https://api.vultr.com/v2"

View File

@ -7,7 +7,7 @@ Options:
WS_ApiKey API Key. Called "Identifier" in the WS Admin WS_ApiKey API Key. Called "Identifier" in the WS Admin
WS_ApiSecret API Secret. Called "Secret key" in the WS Admin WS_ApiSecret API Secret. Called "Secret key" in the WS Admin
Issues: github.com/acmesh-official/acme.sh/issues/3486 Issues: github.com/acmesh-official/acme.sh/issues/3486
Author: trgo.sk <https://github.com/trgosk>, akulumbeg <https://github.com/akulumbeg> Author: trgo.sk <@trgosk>, @akulumbeg
' '
# Requirements: API Key and Secret from https://admin.websupport.sk/en/auth/apiKey # Requirements: API Key and Secret from https://admin.websupport.sk/en/auth/apiKey

View File

@ -7,7 +7,7 @@ Options:
WORLD4YOU_USERNAME Username WORLD4YOU_USERNAME Username
WORLD4YOU_PASSWORD Password WORLD4YOU_PASSWORD Password
Issues: github.com/acmesh-official/acme.sh/issues/3269 Issues: github.com/acmesh-official/acme.sh/issues/3269
Author: Lorenz Stechauner <https://www.github.com/NerLOR> Author: Lorenz Stechauner <@NerLOR>
' '
WORLD4YOU_API="https://my.world4you.com/en" WORLD4YOU_API="https://my.world4you.com/en"