$19 GRAYBYTE WORDPRESS FILE MANAGER $52

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/.acme.sh/dnsapi/

HOME
Current File : /home/bravrvjk/.acme.sh/dnsapi//dns_timeweb.sh
#!/bin/bash

# acme.sh DNS API for Timeweb Cloud provider (https://timeweb.cloud).
#
# Author: https://github.com/nikolaypronchev.
#
# Prerequisites:
# Timeweb Cloud API JWT token. Obtain one from the Timeweb Cloud control panel
# ("API and Terraform" section: https://timeweb.cloud/my/api-keys). The JWT token
# must be provided to this script in one of two ways:
# 1.  As the "TW_Token" variable, for example: "export TW_Token=eyJhbG...zUxMiIs";
# 2.  As a "TW_Token" config entry in acme.sh account config file
#     (usually located at ~/.acme.sh/account.conf by default).

TW_Api="https://api.timeweb.cloud/api/v1"

################  Public functions ################

# Adds an ACME DNS-01 challenge DNS TXT record via the Timeweb Cloud API.
#
# Param1: The ACME DNS-01 challenge FQDN.
# Param2: The value of the ACME DNS-01 challenge TXT record.
#
# Example: dns_timeweb_add "_acme-challenge.sub.domain.com" "D-52Wm...4uYM"
dns_timeweb_add() {
  _debug "$(__green "Timeweb DNS API"): \"dns_timeweb_add\" started."

  _timeweb_set_acme_fqdn "$1" || return 1
  _timeweb_set_acme_txt "$2" || return 1
  _timeweb_check_token || return 1
  _timeweb_split_acme_fqdn || return 1
  _timeweb_dns_txt_add || return 1

  _debug "$(__green "Timeweb DNS API"): \"dns_timeweb_add\" finished."
}

# Removes a DNS TXT record via the Timeweb Cloud API.
#
# Param1: The ACME DNS-01 challenge FQDN.
# Param2: The value of the ACME DNS-01 challenge TXT record.
#
# Example: dns_timeweb_rm "_acme-challenge.sub.domain.com" "D-52Wm...4uYM"
dns_timeweb_rm() {
  _debug "$(__green "Timeweb DNS API"): \"dns_timeweb_rm\" started."

  _timeweb_set_acme_fqdn "$1" || return 1
  _timeweb_set_acme_txt "$2" || return 1
  _timeweb_check_token || return 1
  _timeweb_split_acme_fqdn || return 1
  _timeweb_get_dns_txt || return 1
  _timeweb_dns_txt_remove || return 1

  _debug "$(__green "Timeweb DNS API"): \"dns_timeweb_rm\" finished."
}

################  Private functions ################

# Checks and sets the ACME DNS-01 challenge FQDN.
#
# Param1: The ACME DNS-01 challenge FQDN.
#
# Example: _timeweb_set_acme_fqdn "_acme-challenge.sub.domain.com"
#
# Sets the "Acme_Fqdn" variable (_acme-challenge.sub.domain.com)
_timeweb_set_acme_fqdn() {
  Acme_Fqdn=$1
  _debug "Setting ACME DNS-01 challenge FQDN \"$Acme_Fqdn\"."
  [ -z "$Acme_Fqdn" ] && {
    _err "ACME DNS-01 challenge FQDN is empty."
    return 1
  }
  return 0
}

# Checks and sets the value of the ACME DNS-01 challenge TXT record.
#
# Param1: Value of the ACME DNS-01 challenge TXT record.
#
# Example: _timeweb_set_acme_txt "D-52Wm...4uYM"
#
# Sets the "Acme_Txt" variable to the provided value (D-52Wm...4uYM)
_timeweb_set_acme_txt() {
  Acme_Txt=$1
  _debug "Setting the value of the ACME DNS-01 challenge TXT record to \"$Acme_Txt\"."
  [ -z "$Acme_Txt" ] && {
    _err "ACME DNS-01 challenge TXT record value is empty."
    return 1
  }
  return 0
}

# Checks if the Timeweb Cloud API JWT token is present (refer to the script description).
# Adds or updates the token in the acme.sh account configuration.
_timeweb_check_token() {
  _debug "Checking for the presence of the Timeweb Cloud API JWT token."

  TW_Token="${TW_Token:-$(_readaccountconf_mutable TW_Token)}"

  [ -z "$TW_Token" ] && {
    _err "Timeweb Cloud API JWT token was not found."
    return 1
  }

  _saveaccountconf_mutable TW_Token "$TW_Token"
}

# Divides the ACME DNS-01 challenge FQDN into its main domain and subdomain components.
_timeweb_split_acme_fqdn() {
  _debug "Trying to divide \"$Acme_Fqdn\" into its main domain and subdomain components."

  TW_Page_Limit=100
  TW_Page_Offset=0
  TW_Domains_Returned=""

  while [ -z "$TW_Domains_Returned" ] || [ "$TW_Domains_Returned" -ge "$TW_Page_Limit" ]; do

    _timeweb_list_domains "$TW_Page_Limit" "$TW_Page_Offset" || return 1

    # Remove the 'subdomains' subarray to prevent confusion with FQDNs.

    TW_Domains=$(
      echo "$TW_Domains" |
        sed 's/"subdomains":\[[^]]*]//g'
    )

    [ -z "$TW_Domains" ] && {
      _err "Failed to parse the list of domains."
      return 1
    }

    while
      TW_Domain=$(
        echo "$TW_Domains" |
          sed -n 's/.*{[^{]*"fqdn":"\([^"]*\)"[^}]*}.*/\1/p'
      )

      [ -n "$TW_Domain" ] && {
        _timeweb_is_main_domain "$TW_Domain" && return 0

        TW_Domains=$(
          echo "$TW_Domains" |
            sed 's/{\([^{]*"fqdn":"'"$TW_Domain"'"[^}]*\)}//'
        )
        continue
      }
    do :; done

    TW_Page_Offset=$(_math "$TW_Page_Offset" + "$TW_Page_Limit")
  done

  _err "Failed to divide \"$Acme_Fqdn\" into its main domain and subdomain components."
  return 1
}

# Searches for a previously added DNS TXT record.
#
# Sets the "TW_Dns_Txt_Id" variable.
_timeweb_get_dns_txt() {
  _debug "Trying to locate a DNS TXT record with the value \"$Acme_Txt\"."

  TW_Page_Limit=100
  TW_Page_Offset=0
  TW_Dns_Records_Returned=""

  while [ -z "$TW_Dns_Records_Returned" ] || [ "$TW_Dns_Records_Returned" -ge "$TW_Page_Limit" ]; do

    _timeweb_list_dns_records "$TW_Page_Limit" "$TW_Page_Offset" || return 1

    while
      Dns_Record=$(
        echo "$TW_Dns_Records" |
          sed -n 's/.*{\([^{]*{[^{]*'"$Acme_Txt"'[^}]*}[^}]*\)}.*/\1/p'
      )

      [ -n "$Dns_Record" ] && {
        _timeweb_is_added_txt "$Dns_Record" && return 0

        TW_Dns_Records=$(
          echo "$TW_Dns_Records" |
            sed 's/{\([^{]*{[^{]*'"$Acme_Txt"'[^}]*}[^}]*\)}//'
        )
        continue
      }
    do :; done

    TW_Page_Offset=$(_math "$TW_Page_Offset" + "$TW_Page_Limit")
  done

  _err "DNS TXT record was not found."
  return 1
}

# Lists domains via the Timeweb Cloud API.
#
# Param 1: Limit for listed domains.
# Param 2: Offset for domains list.
#
# Sets the "TW_Domains" variable.
# Sets the "TW_Domains_Returned" variable.
_timeweb_list_domains() {
  _debug "Listing domains via Timeweb Cloud API. Limit: $1, offset: $2."

  export _H1="Authorization: Bearer $TW_Token"

  if ! TW_Domains=$(_get "$TW_Api/domains?limit=$1&offset=$2"); then
    _err "The request to the Timeweb Cloud API failed."
    return 1
  fi

  [ -z "$TW_Domains" ] && {
    _err "Empty response from the Timeweb Cloud API."
    return 1
  }

  TW_Domains_Returned=$(
    echo "$TW_Domains" |
      sed 's/.*"meta":{"total":\([0-9]*\)[^0-9].*/\1/'
  )

  [ -z "$TW_Domains_Returned" ] && {
    _err "Failed to extract the total count of domains."
    return 1
  }

  [ "$TW_Domains_Returned" -eq "0" ] && {
    _err "Domains are missing."
    return 1
  }

  _debug "Domains returned by Timeweb Cloud API: $TW_Domains_Returned."
}

# Lists domain DNS records via the Timeweb Cloud API.
#
# Param 1: Limit for listed DNS records.
# Param 2: Offset for DNS records list.
#
# Sets the "TW_Dns_Records" variable.
# Sets the "TW_Dns_Records_Returned" variable.
_timeweb_list_dns_records() {
  _debug "Listing domain DNS records via the Timeweb Cloud API. Limit: $1, offset: $2."

  export _H1="Authorization: Bearer $TW_Token"

  if ! TW_Dns_Records=$(_get "$TW_Api/domains/$TW_Main_Domain/dns-records?limit=$1&offset=$2"); then
    _err "The request to the Timeweb Cloud API failed."
    return 1
  fi

  [ -z "$TW_Dns_Records" ] && {
    _err "Empty response from the Timeweb Cloud API."
    return 1
  }

  TW_Dns_Records_Returned=$(
    echo "$TW_Dns_Records" |
      sed 's/.*"meta":{"total":\([0-9]*\)[^0-9].*/\1/'
  )

  [ -z "$TW_Dns_Records_Returned" ] && {
    _err "Failed to extract the total count of DNS records."
    return 1
  }

  [ "$TW_Dns_Records_Returned" -eq "0" ] && {
    _err "DNS records are missing."
    return 1
  }

  _debug "DNS records returned by Timeweb Cloud API: $TW_Dns_Records_Returned."
}

# Verifies whether the domain is the primary domain for the ACME DNS-01 challenge FQDN.
# The requirement is that the provided domain is the top-level domain
# for the ACME DNS-01 challenge FQDN.
#
# Param 1: Domain object returned by Timeweb Cloud API.
#
# Sets the "TW_Main_Domain" variable (e.g. "_acme-challenge.s1.domain.co.uk" → "domain.co.uk").
# Sets the "TW_Subdomains" variable (e.g. "_acme-challenge.s1.domain.co.uk" → "_acme-challenge.s1").
_timeweb_is_main_domain() {
  _debug "Checking if \"$1\" is the main domain of the ACME DNS-01 challenge FQDN."

  [ -z "$1" ] && {
    _debug "Failed to extract FQDN. Skipping domain."
    return 1
  }

  ! echo ".$Acme_Fqdn" | grep -qi "\.$1$" && {
    _debug "Domain does not match the ACME DNS-01 challenge FQDN. Skipping domain."
    return 1
  }

  TW_Main_Domain=$1
  TW_Subdomains=$(
    echo "$Acme_Fqdn" |
      sed "s/\.*.\{${#1}\}$//"
  )

  _debug "Matched domain. ACME DNS-01 challenge FQDN  split as [$TW_Subdomains].[$TW_Main_Domain]."
  return 0
}

# Verifies whether a DNS record was previously added based on the following criteria:
# - The value matches the ACME DNS-01 challenge TXT record value;
# - The record type is TXT;
# - The subdomain matches the ACME DNS-01 challenge FQDN.
#
# Param 1: DNS record object returned by Timeweb Cloud API.
#
# Sets the "TW_Dns_Txt_Id" variable.
_timeweb_is_added_txt() {
  _debug "Checking if \"$1\" is a previously added DNS TXT record."

  echo "$1" | grep -qv '"type":"TXT"' && {
    _debug "Not a TXT record. Skipping the record."
    return 1
  }

  if [ -n "$TW_Subdomains" ]; then
    echo "$1" | grep -qvi "\"subdomain\":\"$TW_Subdomains\"" && {
      _debug "Subdomains do not match. Skipping the record."
      return 1
    }
  else
    echo "$1" | grep -q '"subdomain\":"..*"' && {
      _debug "Subdomains do not match. Skipping the record."
      return 1
    }
  fi

  TW_Dns_Txt_Id=$(
    echo "$1" |
      sed 's/.*"id":\([0-9]*\)[^0-9].*/\1/'
  )

  [ -z "$TW_Dns_Txt_Id" ] && {
    _debug "Failed to extract the DNS record ID. Skipping the record."
    return 1
  }

  _debug "Matching DNS TXT record ID is \"$TW_Dns_Txt_Id\"."
  return 0
}

# Adds a DNS TXT record via the Timeweb Cloud API.
_timeweb_dns_txt_add() {
  _debug "Adding a new DNS TXT record via the Timeweb Cloud API."

  export _H1="Authorization: Bearer $TW_Token"
  export _H2="Content-Type: application/json"

  if ! TW_Response=$(
    _post "{
      \"subdomain\":\"$TW_Subdomains\",
      \"type\":\"TXT\",
      \"value\":\"$Acme_Txt\"
    }" \
      "$TW_Api/domains/$TW_Main_Domain/dns-records"
  ); then
    _err "The request to the Timeweb Cloud API failed."
    return 1
  fi

  [ -z "$TW_Response" ] && {
    _err "An unexpected empty response was received from the Timeweb Cloud API."
    return 1
  }

  TW_Dns_Txt_Id=$(
    echo "$TW_Response" |
      sed 's/.*"id":\([0-9]*\)[^0-9].*/\1/'
  )

  [ -z "$TW_Dns_Txt_Id" ] && {
    _err "Failed to extract the DNS TXT Record ID."
    return 1
  }

  _debug "DNS TXT record has been added. ID: \"$TW_Dns_Txt_Id\"."
}

# Removes a DNS record via the Timeweb Cloud API.
_timeweb_dns_txt_remove() {
  _debug "Removing DNS record via the Timeweb Cloud API."

  export _H1="Authorization: Bearer $TW_Token"

  if ! TW_Response=$(
    _post \
      "" \
      "$TW_Api/domains/$TW_Main_Domain/dns-records/$TW_Dns_Txt_Id" \
      "" \
      "DELETE"
  ); then
    _err "The request to the Timeweb Cloud API failed."
    return 1
  fi

  [ -n "$TW_Response" ] && {
    _err "Received an unexpected response body from the Timeweb Cloud API."
    return 1
  }

  _debug "DNS TXT record with ID \"$TW_Dns_Txt_Id\" has been removed."
}


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
30 Mar 2026 1.32 AM
bravrvjk / bravrvjk
0700
anon_root
--
30 Mar 2026 1.32 AM
bravrvjk / bravrvjk
0755
wp-site
--
30 Mar 2026 1.32 AM
bravrvjk / bravrvjk
0755
README.md
0.092 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_1984hosting.sh
8.534 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_acmedns.sh
3.618 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_acmeproxy.sh
3.146 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_active24.sh
3.234 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_ad.sh
3.45 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_ali.sh
5.602 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_alviy.sh
4.467 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_anx.sh
3.301 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_artfiles.sh
5.057 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_arvan.sh
4.107 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_aurora.sh
4.819 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_autodns.sh
5.784 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_aws.sh
12.277 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_azion.sh
5.43 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_azure.sh
14.725 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_bookmyname.sh
3.131 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_bunny.sh
7.638 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_cf.sh
7.041 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_clouddns.sh
6.463 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_cloudns.sh
5.765 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_cn.sh
3.83 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_conoha.sh
8.296 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_constellix.sh
5.854 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_cpanel.sh
4.987 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_curanet.sh
4.782 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_cyon.sh
9.591 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_da.sh
4.868 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_ddnss.sh
3.512 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_desec.sh
5.095 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_df.sh
1.656 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_dgon.sh
7.613 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_dnsexit.sh
4.319 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_dnshome.sh
2.426 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_dnsimple.sh
4.611 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_dnsservices.sh
9.341 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_doapi.sh
1.748 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_domeneshop.sh
4.299 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_dp.sh
3.815 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_dpi.sh
3.843 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_dreamhost.sh
2.258 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_duckdns.sh
3.835 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_durabledns.sh
4.831 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_dyn.sh
7.825 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_dynu.sh
5.2 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_dynv6.sh
8.819 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_easydns.sh
4.381 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_edgedns.sh
15.331 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_euserv.sh
9.208 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_exoscale.sh
4.396 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_fornex.sh
3.328 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_freedns.sh
12.043 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_gandi_livedns.sh
5.246 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_gcloud.sh
5.067 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_gcore.sh
5.062 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_gd.sh
5.103 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_geoscaling.sh
7.952 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_googledomains.sh
4.481 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_he.sh
6.357 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_hetzner.sh
6.865 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_hexonet.sh
4.105 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_hostingde.sh
8.637 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_huaweicloud.sh
9.571 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_infoblox.sh
3.858 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_infomaniak.sh
5.859 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_internetbs.sh
5.224 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_inwx.sh
9.757 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_ionos.sh
4.062 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_ionos_cloud.sh
3.965 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_ipv64.sh
4.123 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_ispconfig.sh
7.403 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0775
dns_jd.sh
8.415 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_joker.sh
3.04 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
dns_kappernet.sh
4.627 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_kas.sh
11.329 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_kinghost.sh
3.054 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_knot.sh
2.234 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_la.sh
3.82 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_leaseweb.sh
3.725 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_lexicon.sh
3.649 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_limacity.sh
2.741 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_linode.sh
4.73 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_linode_v4.sh
4.926 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_loopia.sh
7.838 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_lua.sh
4 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_maradns.sh
2.29 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_me.sh
3.954 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_miab.sh
5.811 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_misaka.sh
3.905 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_myapi.sh
1.312 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_mydevil.sh
2.803 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_mydnsjp.sh
4.847 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_mythic_beasts.sh
6.813 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_namecheap.sh
9.728 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_namecom.sh
4.72 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_namesilo.sh
3.819 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_nanelo.sh
1.893 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_nederhost.sh
3.136 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_neodigit.sh
4.443 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_netcup.sh
4.803 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_netlify.sh
4.278 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_nic.sh
5.611 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_njalla.sh
4.692 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_nm.sh
2.178 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_nsd.sh
1.755 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_nsone.sh
3.978 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_nsupdate.sh
4.004 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_nw.sh
5.589 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_oci.sh
10.601 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_omglol.sh
10.536 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_one.sh
6 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_online.sh
5.627 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_openprovider.sh
9.151 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_openstack.sh
11.752 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_opnsense.sh
6.871 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_ovh.sh
8.138 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_pdns.sh
5.548 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_pleskxml.sh
18.38 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_pointhq.sh
4.286 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_porkbun.sh
4.531 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_rackcorp.sh
3.819 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_rackspace.sh
6.314 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_rage4.sh
2.992 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_rcode0.sh
6.565 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_regru.sh
3.791 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_scaleway.sh
4.195 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_schlundtech.sh
5.596 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_selectel.sh
3.776 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_selfhost.sh
4.061 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_servercow.sh
5.271 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_simply.sh
6.04 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_tele3.sh
1.607 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_tencent.sh
6.126 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_timeweb.sh
11.105 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_transip.sh
5.527 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_udr.sh
4.104 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_ultra.sh
4.785 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_unoeuro.sh
4.511 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_variomedia.sh
3.777 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_veesp.sh
4.528 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_vercel.sh
3.515 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_vscale.sh
3.689 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_vultr.sh
3.895 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_websupport.sh
5.334 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_west_cn.sh
2.652 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_world4you.sh
7.056 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_yandex.sh
3.404 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_yandex360.sh
11.081 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_yc.sh
8.521 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_zilore.sh
3.218 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
dns_zone.sh
3.959 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dns_zonomi.sh
2.164 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF