|
|
|
@ -2,19 +2,17 @@ |
|
|
|
# shellcheck disable=SC2034 |
|
|
|
|
|
|
|
# DNS provider information for acme.sh |
|
|
|
dns_mgwm_info='MGW-MEDIA.DE |
|
|
|
dns_mgwm_info='mgw-media.de |
|
|
|
Site: mgw-media.de |
|
|
|
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_mgwm |
|
|
|
Options: |
|
|
|
MGWM_CUSTOMER Your customer number (username for Basic Auth). |
|
|
|
MGWM_API_HASH Your API Hash (password for Basic Auth). |
|
|
|
MGWM_CUSTOMER Your customer number |
|
|
|
MGWM_API_HASH Your API Hash |
|
|
|
Issues: github.com/acmesh-official/acme.sh |
|
|
|
Author: Generated by AI (with user input) |
|
|
|
' |
|
|
|
|
|
|
|
# Direct endpoint for the PHP script with query parameters |
|
|
|
# This variable replaces MGWM_API_BASE when using query-parameter-based URLs directly. |
|
|
|
MGWM_API_ENDPOINT="https://api.mgw-media.de/record.php" |
|
|
|
# Base URL for the mgw-media.de API |
|
|
|
MGWM_API_BASE="https://api.mgw-media.de/record" |
|
|
|
|
|
|
|
######## Public functions ##################### |
|
|
|
# This function is called by acme.sh to add a TXT record. |
|
|
|
@ -31,15 +29,14 @@ dns_mgwm_add() { |
|
|
|
return 1 |
|
|
|
fi |
|
|
|
|
|
|
|
# Construct the API URL using query parameters. |
|
|
|
# This targets the record.php script directly, passing action, fulldomain, type, and content. |
|
|
|
_add_url="${MGWM_API_ENDPOINT}?action=add&fulldomain=${fulldomain}&type=txt&content=${txtvalue}" |
|
|
|
# Construct the API URL for adding a record. |
|
|
|
#_add_url="${MGWM_API_BASE}/add/${fulldomain}/txt/${txtvalue}" |
|
|
|
_add_url="${MGWM_API_BASE}.php?action=add&fulldomain=${fulldomain}&type=txt&content=${txtvalue}" |
|
|
|
_debug "Calling MGWM ADD URL: ${_add_url}" |
|
|
|
|
|
|
|
# Execute the HTTP GET request. |
|
|
|
# Correct parameters for _get(): url="$1", onlyheader="$2", t="$3" |
|
|
|
# The Authorization Header (_H1) is automatically picked up by _get() from the environment. |
|
|
|
response="$(_get "$_add_url" "" "")" # <-- KORRIGIERTER AUFRUF VON _get() |
|
|
|
# Execute the HTTP GET request with the Authorization Header. |
|
|
|
# The 5th parameter of _get is where acme.sh expects custom HTTP headers like Authorization. |
|
|
|
response="$(_get "$_add_url")" |
|
|
|
_debug "MGWM add response: $response" |
|
|
|
|
|
|
|
# Check the API response for success. The API returns "OK" on success. |
|
|
|
@ -68,14 +65,14 @@ dns_mgwm_rm() { |
|
|
|
fi |
|
|
|
|
|
|
|
# Construct the API URL for removing a record. |
|
|
|
# This targets the record.php script directly, passing action, fulldomain, type, and content. |
|
|
|
_rm_url="${MGWM_API_ENDPOINT}?action=rm&fulldomain=${fulldomain}&type=txt&content=${txtvalue}" |
|
|
|
# To delete a specific record by its value (as required by ACME v2 for multiple TXT records), |
|
|
|
# the txtvalue must be part of the URL, similar to the add action. |
|
|
|
#_rm_url="${MGWM_API_BASE}/rm/${fulldomain}/txt/${txtvalue}" |
|
|
|
_rm_url="${MGWM_API_BASE}.php?action=rm&fulldomain=${fulldomain}&type=txt&content=${txtvalue}" |
|
|
|
_debug "Calling MGWM RM URL: ${_rm_url}" |
|
|
|
|
|
|
|
# Execute the HTTP GET request. |
|
|
|
# Correct parameters for _get(): url="$1", onlyheader="$2", t="$3" |
|
|
|
# The Authorization Header (_H1) is automatically picked up by _get() from the environment. |
|
|
|
response="$(_get "$_rm_url" "" "")" # <-- KORRIGIERTER AUFRUF VON _get() |
|
|
|
# Execute the HTTP GET request with the Authorization Header. |
|
|
|
response="$(_get "$_rm_url")" |
|
|
|
_debug "MGWM rm response: $response" |
|
|
|
|
|
|
|
# Check the API response for success. The API returns "OK" on success. |
|
|
|
@ -115,9 +112,3 @@ _mgwm_init_env() { |
|
|
|
_debug "Set Authorization Header: Basic <credentials_encoded>" # Log debug message without sensitive credentials |
|
|
|
return 0 |
|
|
|
} |
|
|
|
|
|
|
|
# The _get_root function, often found in other acme.sh DNS API scripts, |
|
|
|
# is not necessary for the MGW-MEDIA.DE API. |
|
|
|
# The MGW-MEDIA.DE API directly accepts the complete FQDN (fulldomain) |
|
|
|
# in its URL path and handles the extraction of the subdomain and root domain internally. |
|
|
|
# Therefore, no custom _get_root implementation is needed here. |