BestCDN/install.sh
2025-07-26 12:59:57 +08:00

83 lines
2.1 KiB
Bash

#!/bin/bash
# BestCDN Installation Script
echo "BestCDN Installation Script"
echo "=========================="
# Check if Python 3 is installed
if ! command -v python3 &> /dev/null; then
echo "Error: Python 3 is not installed. Please install Python 3.7+ first."
exit 1
fi
echo "✓ Python 3 found"
# Create virtual environment
echo "Creating virtual environment..."
python3 -m venv venv
if [ $? -ne 0 ]; then
echo "Error: Failed to create virtual environment"
exit 1
fi
echo "✓ Virtual environment created"
# Activate virtual environment
echo "Activating virtual environment..."
source venv/bin/activate
# Upgrade pip
echo "Upgrading pip..."
pip install --upgrade pip
# Install dependencies
echo "Installing dependencies..."
pip install -r requirements.txt
if [ $? -ne 0 ]; then
echo "Error: Failed to install dependencies"
exit 1
fi
echo "✓ Dependencies installed"
# Create necessary directories
echo "Creating directories..."
mkdir -p ip_lists results logs
echo "✓ Directories created"
# Create example IP list files
echo "Creating example IP list files..."
mkdir -p ip_lists
# Create example files if they don't exist
for provider in cloudflare fastly edgeone esa; do
if [ ! -f "ip_lists/${provider}.txt" ]; then
echo "# ${provider} IP list - Replace with your actual IPs" > "ip_lists/${provider}.txt"
echo "# Example: 192.168.1.1" >> "ip_lists/${provider}.txt"
echo "# Example: 10.0.0.0/24" >> "ip_lists/${provider}.txt"
echo "Created example file: ip_lists/${provider}.txt"
else
echo "File already exists: ip_lists/${provider}.txt"
fi
done
echo ""
echo "Installation completed successfully!"
echo ""
echo "To use BestCDN:"
echo "1. Activate the virtual environment:"
echo " source venv/bin/activate"
echo ""
echo "2. Edit IP list files in ip_lists/ directory"
echo ""
echo "3. Run the example:"
echo " python3 example_usage.py"
echo ""
echo "For more information, see README.md"
echo ""
echo "IMPORTANT: Always activate the virtual environment before running:"
echo " source venv/bin/activate"