| #!/bin/bash |
|
|
| set -e |
|
|
| |
| log() { |
| echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" |
| } |
|
|
| |
| cleanup() { |
| log "Performing cloudflared installation cleanup..." |
| apt-get clean |
| rm -rf \ |
| /tmp/cloudflared* \ |
| /var/lib/apt/lists/* \ |
| /var/tmp/* |
| } |
|
|
| |
| trap cleanup EXIT |
|
|
| log "Starting cloudflared installation..." |
|
|
| log "Creating keyrings directory..." |
| mkdir -p --mode=0755 /usr/share/keyrings |
|
|
| log "Adding Cloudflare repository key..." |
| curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | \ |
| tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null |
|
|
| log "Adding Cloudflare repository..." |
| echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | \ |
| tee /etc/apt/sources.list.d/cloudflared.list |
|
|
| log "Updating package lists..." |
| apt-get update |
|
|
| log "Installing cloudflared..." |
| apt-get install -y --no-install-recommends cloudflared |
|
|
| log "Verifying cloudflared installation..." |
| if command -v cloudflared >/dev/null 2>&1; then |
| CLOUDFLARED_VERSION=$(cloudflared --version 2>&1 | head -n1 || echo "Version check failed") |
| log "cloudflared installed successfully: ${CLOUDFLARED_VERSION}" |
| else |
| log "ERROR: cloudflared installation failed" |
| exit 1 |
| fi |
|
|
| log "cloudflared installation completed successfully" |
|
|