2798e29d / scripts /install /cloudflared-install.sh
autoface's picture
first commit
9b205e1
#!/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"