alist-proxy/install.sh
2024-12-21 22:48:50 +08:00

111 lines
3.5 KiB
Bash

#!/bin/bash
# Determine OS and architecture
OS=$(uname -s)
ARCH=$(uname -m)
# swoole-cli 版本号
VERSION="5.1.4"
# Set the download URL based on OS and architecture
case "$OS" in
Linux)
case "$ARCH" in
arm64)
FILE_URL="https://wenda-1252906962.file.myqcloud.com/dist/swoole-cli-v${VERSION}-linux-arm64.tar.xz"
;;
x86_64)
FILE_URL="https://wenda-1252906962.file.myqcloud.com/dist/swoole-cli-v${VERSION}-linux-x64.tar.xz"
;;
*)
echo "Unsupported architecture: $ARCH"
exit 1
;;
esac
;;
Darwin)
case "$ARCH" in
arm64)
FILE_URL="https://wenda-1252906962.file.myqcloud.com/dist/swoole-cli-v${VERSION}-macos-arm64.tar.xz"
;;
x86_64)
FILE_URL="https://wenda-1252906962.file.myqcloud.com/dist/swoole-cli-v${VERSION}-macos-x64.tar.xz"
;;
*)
echo "Unsupported architecture: $ARCH"
exit 1
;;
esac
;;
*)
echo "Unsupported OS: $OS"
exit 1
;;
esac
# Check if Node.js is installed
if command -v node &> /dev/null; then
echo "Node.js is installed. Proceeding with Node.js script setup."
# Download the Node.js proxy script
echo "Downloading index.js..."
if ! curl -o "index.js" "https://x-mo.cn:9009/XiaoMo/alist-proxy/raw/branch/master/index.js"; then
echo "Failed to download index.js. Please check your internet connection and try again."
exit 1
fi
# Run the Node.js proxy service
echo "Running Node.js proxy service..."
nohup node index.js > /dev/null 2>&1 &
echo "Node.js proxy service running in the background. You can check the logs with 'tail -f nohup.out'."
else
echo "Node.js is not installed. Proceeding with swoole-cli setup."
# Set the fixed file name
FILE_NAME="swoole-cli.tar.xz"
# Create a temporary directory
TEMP_DIR=$(mktemp -d)
mkdir -p "$TEMP_DIR"
# Download the file to the temporary directory
echo "Downloading $FILE_NAME from $FILE_URL to $TEMP_DIR..."
if ! curl -o "$TEMP_DIR/$FILE_NAME" "$FILE_URL"; then
echo "Download failed. Please check your internet connection and try again."
exit 1
fi
# Verify the download
if [ ! -f "$TEMP_DIR/$FILE_NAME" ]; then
echo "Downloaded file not found in $TEMP_DIR. Download may have failed."
exit 1
fi
# Extract the file to the temporary directory
tar -xf "$TEMP_DIR/$FILE_NAME" -C "$TEMP_DIR" || {
echo "Extraction failed. Please make sure you have the necessary tools to extract the file."
exit 1
}
# Move the extracted file to the current directory
mv "$TEMP_DIR"/swoole-cli .
# Remove unnecessary files
echo "Removing unnecessary files..."
rm -rf "$TEMP_DIR"
# Check if index.php file exists, if not, download it
if [ ! -f "index.php" ]; then
echo "Downloading index.php..."
if ! curl -o "index.php" "https://x-mo.cn:9009/XiaoMo/alist-proxy/raw/branch/master/index.php"; then
echo "Failed to download index.php. Please check your internet connection and try again."
exit 1
fi
fi
# Run the PHP indexer
echo "Running PHP indexer..."
nohup ./swoole-cli ./index.php > /dev/null 2>&1 &
echo "PHP indexer running in the background. You can check the logs with 'tail -f nohup.out'."
fi