# Copyright (c) 2021-2025 community-scripts ORG # Author: michelroegl-brunner # License: MIT | https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/LICENSE post_to_api() { if ! command -v curl &> /dev/null; then return fi if [ "$DIAGNOSTICS" = "no" ]; then return fi if [ -z "$RANDOM_UUID" ]; then return fi local API_URL="http://api.community-scripts.org/upload" local pve_version="not found" pve_version=$(pveversion | awk -F'[/ ]' '{print $2}') JSON_PAYLOAD=$(cat <<EOF { "ct_type": $CT_TYPE, "type":"lxc", "disk_size": $DISK_SIZE, "core_count": $CORE_COUNT, "ram_size": $RAM_SIZE, "os_type": "$var_os", "os_version": "$var_version", "disableip6": "$DISABLEIP6", "nsapp": "$NSAPP", "method": "$METHOD", "pve_version": "$pve_version", "status": "installing", "random_id": "$RANDOM_UUID" } EOF ) RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD") || true } post_to_api_vm() { if [[ ! -f /usr/local/community-scripts/diagnostics ]]; then return fi DIAGNOSTICS=$(grep -i "^DIAGNOSTICS=" /usr/local/community-scripts/diagnostics | awk -F'=' '{print $2}') if ! command -v curl &> /dev/null; then return fi if [ "$DIAGNOSTICS" = "no" ]; then return fi if [ -z "$RANDOM_UUID" ]; then return fi local API_URL="http://api.community-scripts.org/upload" local pve_version="not found" pve_version=$(pveversion | awk -F'[/ ]' '{print $2}') DISK_SIZE_API=${DISK_SIZE%G} JSON_PAYLOAD=$(cat <<EOF { "ct_type": 2, "type":"vm", "disk_size": $DISK_SIZE_API, "core_count": $CORE_COUNT, "ram_size": $RAM_SIZE, "os_type": "$var_os", "os_version": "$var_version", "disableip6": "", "nsapp": "$NSAPP", "method": "$METHOD", "pve_version": "$pve_version", "status": "installing", "random_id": "$RANDOM_UUID" } EOF ) RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD") || true } POST_UPDATE_DONE=false post_update_to_api() { if ! command -v curl &> /dev/null; then return fi if [ "$POST_UPDATE_DONE" = true ]; then return 0 fi local API_URL="http://api.community-scripts.org/upload/updatestatus" local status="${1:-failed}" local error="${2:-No error message}" JSON_PAYLOAD=$(cat <<EOF { "status": "$status", "error": "$error", "random_id": "$RANDOM_UUID" } EOF ) RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD") || true POST_UPDATE_DONE=true }