#!/bin/bash set -e #Detect Operation System if command -v apt >/dev/null 2>&1; then echo "Detected apt-based system" sudo apt update sudo apt install -y wget curl tar elif command -v dnf >/dev/null 2>&1; then echo "Detected dnf-based system" sudo dnf install -y wget curl tar else echo "Unsupported package manager" exit 1 fi # Download Node Exporter CN_URL="https://s3.cloudyun.top/downloads/node_exporter-1.10.2.linux-amd64.tar.gz" GLOBAL_URL="https://github.com/prometheus/node_exporter/releases/download/v1.10.2/node_exporter-1.10.2.linux-amd64.tar.gz" TARGET="/tmp/node_exporter.tar.gz" is_cn=false echo "Detecting geographic location..." COUNTRY=$(curl -s --max-time 5 https://ipinfo.littlediary.cn/info | grep -o '"countryName":"[^"]*"' | cut -d'"' -f4) if [ "$COUNTRY" = "China" ]; then is_cn=true fi if [ "$is_cn" = true ]; then echo "Geolocation: China mainland detected" DOWNLOAD_URL="$CN_URL" else echo "Geolocation: non-China region detected" DOWNLOAD_URL="$GLOBAL_URL" fi echo "Downloading from: $DOWNLOAD_URL" curl -fL -o "$TARGET" "$DOWNLOAD_URL" # Extract echo "Extracting Node Exporter..." tar -zxvf /tmp/node_exporter.tar.gz -C /tmp # Copy to /node_exporter echo "Copying Node Exporter to /node_exporter..." sudo cp -r /tmp/node_exporter-1.10.2.linux-amd64 /node_exporter # Create systemd service file SERVICE_FILE="/etc/systemd/system/node_exporter.service" echo "Creating systemd service file..." sudo tee "$SERVICE_FILE" > /dev/null <