File size: 1,362 Bytes
9b205e1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
#!/bin/bash
set -e
# Function for logging
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"
}
# Function for cleanup
cleanup() {
log "Performing cloudflared installation cleanup..."
apt-get clean
rm -rf \
/tmp/cloudflared* \
/var/lib/apt/lists/* \
/var/tmp/*
}
# Trap to ensure cleanup on exit
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"
|