mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 02:12:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			133 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# 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": "",
 | 
						|
    "nsapp": "$NSAPP",
 | 
						|
    "method": "$METHOD",
 | 
						|
    "pve_version": "$pve_version",
 | 
						|
    "status": "installing",
 | 
						|
    "random_id": "$RANDOM_UUID"
 | 
						|
}
 | 
						|
EOF
 | 
						|
  )
 | 
						|
 | 
						|
  if [[ "$DIAGNOSTICS" == "yes" ]]; then
 | 
						|
    RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
 | 
						|
      -H "Content-Type: application/json" \
 | 
						|
      -d "$JSON_PAYLOAD") || true
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
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
 | 
						|
  )
 | 
						|
 | 
						|
  if [[ "$DIAGNOSTICS" == "yes" ]]; then
 | 
						|
    RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
 | 
						|
      -H "Content-Type: application/json" \
 | 
						|
      -d "$JSON_PAYLOAD") || true
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
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
 | 
						|
  )
 | 
						|
 | 
						|
  if [[ "$DIAGNOSTICS" == "yes" ]]; then
 | 
						|
    RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
 | 
						|
      -H "Content-Type: application/json" \
 | 
						|
      -d "$JSON_PAYLOAD") || true
 | 
						|
  fi
 | 
						|
 | 
						|
  POST_UPDATE_DONE=true
 | 
						|
}
 |