HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/install/dns_cyberpanel.sh
#!/usr/bin/env sh
# shellcheck disable=SC2034
dns_myapi_info='CyberPanel script for ACME to add records to PDNS
 A sample custom DNS API script.
Domains: example.com
Site: github.com/acmesh-official/acme.sh/wiki/DNS-API-Dev-Guide
Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_duckdns
Options:
 MYAPI_Token API Token. Get API Token from https://example.com/api/. Optional.
Issues: github.com/usmannasir/cyberpanel
Author: Neil Pang <usman@cyberpersons.com>
'

# This file name is "dns_myapi.sh"
# So, here must be a method dns_myapi_add()
# Which will be called by acme.sh to add the txt record to your API system.
# Returns 0 means success, otherwise error.

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

# Please Read this guide first: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Dev-Guide

# Usage: dns_myapi_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
dns_cyberpanel_add() {
  fulldomain=$1
  txtvalue=$2
  _info "Using CyberPanel ACME API"
  _debug fulldomain "$fulldomain"
  _debug txtvalue "$txtvalue"
  _info "cyberpanel createDNSRecord --domainName $fulldomain --name $fulldomain --recordType TXT --value $txtvalue --priority 0 --ttl 3600"

  cyberpanel createDNSRecord --domainName $fulldomain --name $fulldomain --recordType TXT --value $txtvalue --priority 0 --ttl 3600

  return 0
}

# Usage: fulldomain txtvalue
# Remove the txt record after validation.
dns_cyberpanel_rm() {
  fulldomain=$1
  txtvalue=$2
  _info "Using myapi"
  _debug fulldomain "$fulldomain"
  _debug txtvalue "$txtvalue"

  return 0
}

####################  Private functions below ##################################
# You can add private helper functions here if needed