Browse Source

Refactor DNS API for mgw-media.de

Updated DNS API script for mgw-media.de to use new base URL and improved API request structure.
pull/6671/head
Markus G. 4 days ago
committed by neil
parent
commit
546c2d47d5
  1. 43
      dnsapi/dns_mgwm.sh

43
dnsapi/dns_mgwm.sh

@ -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.
Loading…
Cancel
Save