mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			124 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# 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
 | 
						|
}
 |