-
Notifications
You must be signed in to change notification settings - Fork 70
Expand file tree
/
Copy pathcloudflared-pkg
More file actions
82 lines (73 loc) · 1.94 KB
/
cloudflared-pkg
File metadata and controls
82 lines (73 loc) · 1.94 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash
#
# Cloudflared package manager
# Downloads and installs a pinned version of Cloudflared from GitHub
#
VERSION="2026.3.0"
URL="https://github.com/cloudflare/cloudflared/releases/download/${VERSION}/cloudflared-linux-arm64"
SHA256="0755ba4cbab59980e6148367fcf53a8f3ec85a97deefd63c2420cf7850769bee"
# Paths
BINARY_PATH="/usr/local/bin/cloudflared"
CONFIG_DIR="/home/lava/printer_data/config/cloudflared"
CONFIG_FILE="${CONFIG_DIR}/config.yaml"
check() {
if [[ -f "$BINARY_PATH" ]]; then
echo "Cloudflared is installed."
return 0
else
echo "Cloudflared is not installed."
return 1
fi
}
download() {
rm -f "$BINARY_PATH"
mkdir -p "$(dirname "$BINARY_PATH")"
echo "Downloading Cloudflared ${VERSION} From GitHub..."
if ! /usr/local/bin/curl -sfSL -o "$BINARY_PATH" "$URL"; then
echo "Download failed"
return 1
fi
echo "Verifying SHA256 checksum..."
ACTUAL_SHA256=$(sha256sum "$BINARY_PATH" | awk '{print $1}')
if [[ "$ACTUAL_SHA256" != "$SHA256" ]]; then
echo "SHA256 mismatch!"
echo " Expected: $SHA256"
echo " Actual: $ACTUAL_SHA256"
return 1
fi
echo "Checksum verified."
chmod +x "$BINARY_PATH"
echo "Cloudflared installed successfully to $BINARY_PATH"
}
case "$1" in
check)
check
;;
download)
if check; then
echo "Cloudflared is already installed."
exit 0
fi
if ! download; then
rm -f "$BINARY_PATH"
exit 1
fi
;;
update)
echo "Updating Cloudflared..."
if ! download; then
rm -f "$BINARY_PATH"
exit 1
fi
;;
clean)
echo "Removing Cloudflared installation..."
rm -f "$BINARY_PATH"
rm -rf "$CONFIG_DIR"
echo "Removed."
;;
*)
echo "Usage: $0 {check|download|update|clean}"
exit 1
;;
esac