From 3c450dc7536f2714339c4d0b219aeeee92bf55e9 Mon Sep 17 00:00:00 2001 From: spiritlhl <103393591+spiritLHLS@users.noreply.github.com> Date: Mon, 13 May 2024 15:31:06 +0800 Subject: [PATCH] Update basics_install.sh --- basics_install.sh | 45 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/basics_install.sh b/basics_install.sh index a42439e..5d0025f 100644 --- a/basics_install.sh +++ b/basics_install.sh @@ -6,17 +6,42 @@ rm -rf basics os=$(uname -s) arch=$(uname -m) +cdn_urls=("https://cdn0.spiritlhl.top/" "http://cdn3.spiritlhl.net/" "http://cdn1.spiritlhl.net/" "https://ghproxy.com/" "http://cdn2.spiritlhl.net/") + +check_cdn() { + local o_url=$1 + for cdn_url in "${cdn_urls[@]}"; do + if curl -sL -k "$cdn_url$o_url" --max-time 6 | grep -q "success" >/dev/null 2>&1; then + export cdn_success_url="$cdn_url" + return + fi + sleep 0.5 + done + export cdn_success_url="" +} + +check_cdn_file() { + check_cdn "https://raw.githubusercontent.com/spiritLHLS/ecs/main/back/test" + if [ -n "$cdn_success_url" ]; then + echo "CDN available, using CDN" + else + echo "No CDN available, no use CDN" + fi +} + +check_cdn_file + case $os in Linux) case $arch in "x86_64" | "x86" | "amd64" | "x64") - wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-linux-amd64 + wget -O basics "${cdn_success_url}https://github.com/oneclickvirt/basics/releases/download/output/basics-linux-amd64" ;; "i386" | "i686") - wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-linux-386 + wget -O basics "${cdn_success_url}https://github.com/oneclickvirt/basics/releases/download/output/basics-linux-386" ;; "armv7l" | "armv8" | "armv8l" | "aarch64") - wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-linux-arm64 + wget -O basics "${cdn_success_url}https://github.com/oneclickvirt/basics/releases/download/output/basics-linux-arm64" ;; *) echo "Unsupported architecture: $arch" @@ -27,13 +52,13 @@ case $os in Darwin) case $arch in "x86_64" | "x86" | "amd64" | "x64") - wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-darwin-amd64 + wget -O basics "${cdn_success_url}https://github.com/oneclickvirt/basics/releases/download/output/basics-darwin-amd64" ;; "i386" | "i686") - wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-darwin-386 + wget -O basics "${cdn_success_url}https://github.com/oneclickvirt/basics/releases/download/output/basics-darwin-386" ;; "armv7l" | "armv8" | "armv8l" | "aarch64") - wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-darwin-arm64 + wget -O basics "${cdn_success_url}https://github.com/oneclickvirt/basics/releases/download/output/basics-darwin-arm64" ;; *) echo "Unsupported architecture: $arch" @@ -44,13 +69,13 @@ case $os in FreeBSD) case $arch in amd64) - wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-freebsd-amd64 + wget -O basics "${cdn_success_url}https://github.com/oneclickvirt/basics/releases/download/output/basics-freebsd-amd64" ;; "i386" | "i686") - wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-freebsd-386 + wget -O basics "${cdn_success_url}https://github.com/oneclickvirt/basics/releases/download/output/basics-freebsd-386" ;; "armv7l" | "armv8" | "armv8l" | "aarch64") - wget -O basics https://github.com/oneclickvirt/basics/releases/download/output/basics-freebsd-arm64 + wget -O basics "${cdn_success_url}https://github.com/oneclickvirt/basics/releases/download/output/basics-freebsd-arm64" ;; *) echo "Unsupported architecture: $arch" @@ -82,4 +107,4 @@ case $os in esac chmod 777 basics -./basics \ No newline at end of file +./basics