111 lines
3.5 KiB
Bash
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
|