| set -e | |
| # Function for logging | |
| log() { | |
| echo "[$(date '+%Y-%m-%d %H:%M:%S')] [ARIA2] $*" | |
| } | |
| # Function for cleanup | |
| cleanup() { | |
| log "Performing aria2 installation cleanup..." | |
| rm -rf \ | |
| /var/lib/apt/lists/* \ | |
| /tmp/aria2* \ | |
| /var/tmp/aria2* | |
| } | |
| # Trap to ensure cleanup on exit | |
| trap cleanup EXIT | |
| log "Starting aria2 installation..." | |
| log "Updating package lists..." | |
| apt-get update | |
| log "Installing aria2 and required dependencies..." | |
| apt-get install -y --no-install-recommends \ | |
| aria2 \ | |
| netcat-openbsd \ | |
| jq \ | |
| openssl \ | |
| curl \ | |
| unzip | |
| # Create aria2 directories | |
| log "Creating aria2 directories..." | |
| mkdir -p /usr/local/share/aria2 \ | |
| /var/log/aria2 | |
| # Download aria2 web UI (AriaNg) | |
| log "Downloading AriaNg web interface..." | |
| ARIANG_VERSION="1.3.10" | |
| ARIANG_URL="https://github.com/mayswind/AriaNg/releases/download/${ARIANG_VERSION}/AriaNg-${ARIANG_VERSION}.zip" | |
| cd /tmp | |
| curl -L -o "ariang.zip" "$ARIANG_URL" | |
| unzip -q ariang.zip -d ariang | |
| cp -r ariang/* /usr/local/share/aria2/ | |
| rm -rf ariang ariang.zip | |
| log "Setting permissions..." | |
| chown -R 1000:1000 /usr/local/share/aria2 /var/log/aria2 | |
| log "aria2 installation completed successfully" | |
| log "AriaNg version: $ARIANG_VERSION" |