-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdo-setup-script.sh
More file actions
executable file
Β·220 lines (186 loc) Β· 8.78 KB
/
do-setup-script.sh
File metadata and controls
executable file
Β·220 lines (186 loc) Β· 8.78 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
#!/bin/bash
echo "π Setting up BrandTrackers CLI on DigitalOcean..."
# Create directory
mkdir -p /var/www/cli-brandtrackers
cd /var/www/cli-brandtrackers
# Create the main script that will be served
cat > show << 'EOF'
#!/bin/bash
# BrandTrackers Ultimate Experience - Self-hosted version
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
MAGENTA='\033[0;35m'
CYAN='\033[0;36m'
WHITE='\033[0;37m'
BOLD='\033[1m'
DIM='\033[2m'
BLINK='\033[5m'
RESET='\033[0m'
BRIGHT_RED='\033[1;31m'
BRIGHT_GREEN='\033[1;32m'
BRIGHT_YELLOW='\033[1;33m'
BRIGHT_BLUE='\033[1;34m'
BRIGHT_MAGENTA='\033[1;35m'
BRIGHT_CYAN='\033[1;36m'
# Logo lines
logo_lines=(
"${CYAN}ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ${RESET}"
"${CYAN}β β${RESET}"
"${CYAN}β ${BOLD}${RED}βββββββ ${GREEN}βββββββ ${YELLOW}ββββββ ${BLUE}ββββ βββ${MAGENTA}βββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${RED}ββββββββ${GREEN}ββββββββ${YELLOW}ββββββββ${BLUE}βββββ βββ${MAGENTA}ββββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${RED}ββββββββ${GREEN}ββββββββ${YELLOW}ββββββββ${BLUE}ββββββ βββ${MAGENTA}βββ βββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${RED}ββββββββ${GREEN}ββββββββ${YELLOW}ββββββββ${BLUE}ββββββββββ${MAGENTA}βββ βββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${RED}ββββββββ${GREEN}βββ βββ${YELLOW}βββ βββ${BLUE}βββ ββββββ${MAGENTA}ββββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${RED}βββββββ ${GREEN}βββ βββ${YELLOW}βββ βββ${BLUE}βββ βββββ${MAGENTA}βββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β β${RESET}"
"${CYAN}β ${BOLD}${WHITE}βββββββββ${RED}βββββββ ${GREEN}ββββββ ${YELLOW}βββββββ${BLUE}βββ βββ${MAGENTA}ββββββββ${CYAN}βββββββ ${WHITE}ββββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${WHITE}βββββββββ${RED}ββββββββ${GREEN}ββββββββ${YELLOW}ββββββββ${BLUE}βββ ββββ${MAGENTA}ββββββββ${CYAN}ββββββββ${WHITE}ββββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${WHITE} βββ ${RED}ββββββββ${GREEN}ββββββββ${YELLOW}βββ ${BLUE}βββββββ ${MAGENTA}ββββββ ${CYAN}ββββββββ${WHITE}ββββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${WHITE} βββ ${RED}ββββββββ${GREEN}ββββββββ${YELLOW}βββ ${BLUE}βββββββ ${MAGENTA}ββββββ ${CYAN}ββββββββ${WHITE}ββββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${WHITE} βββ ${RED}βββ βββ${GREEN}βββ βββ${YELLOW}ββββββββ${BLUE}βββ βββ${MAGENTA}ββββββββ${CYAN}βββ βββ${WHITE}ββββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β ${BOLD}${WHITE} βββ ${RED}βββ βββ${GREEN}βββ βββ${YELLOW} βββββββ${BLUE}βββ βββ${MAGENTA}ββββββββ${CYAN}βββ βββ${WHITE}ββββββββ${RESET}${CYAN} β${RESET}"
"${CYAN}β β${RESET}"
"${CYAN}ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ${RESET}"
)
hide_cursor() { printf "\033[?25l"; }
show_cursor() { printf "\033[?25h"; }
clear_screen() { printf "\033[2J\033[H"; }
play_sound() {
if command -v afplay >/dev/null 2>&1; then
case $1 in
"ping") afplay /System/Library/Sounds/Ping.aiff >/dev/null 2>&1 & ;;
"glass") afplay /System/Library/Sounds/Glass.aiff >/dev/null 2>&1 & ;;
"pop") afplay /System/Library/Sounds/Pop.aiff >/dev/null 2>&1 & ;;
esac
fi
}
echo -e "${BOLD}${CYAN}π BrandTrackers Terminal Experience${RESET}"
echo -e "${DIM}Hosted on cli.brandtrackers.xyz${RESET}"
echo
hide_cursor
clear_screen
# Quick matrix intro
for i in {1..4}; do
clear_screen
term_width=$(tput cols 2>/dev/null || echo 80)
term_height=$(tput lines 2>/dev/null || echo 24)
for row in $(seq 1 $((term_height - 10))); do
line=""
for col in $(seq 1 $term_width); do
if [ $((RANDOM % (20 - i))) -eq 0 ]; then
char=$((RANDOM % 26 + 65))
line+="${GREEN}$(printf \\$(printf "%03o" $char))${RESET}"
else
line+=" "
fi
done
echo -e "$line"
done
sleep 0.1
play_sound "pop"
done
# Rainbow transition
colors=($RED $YELLOW $GREEN $CYAN $BLUE $MAGENTA)
for cycle in {1..3}; do
clear_screen
echo
for i in "${!logo_lines[@]}"; do
color_index=$(((cycle + i) % ${#colors[@]}))
color="${colors[$color_index]}"
echo -e "${color}${logo_lines[$i]}${RESET}"
done
echo
echo -e " ${BLINK}${BRIGHT_YELLOW}www.brandtrackers.xyz${RESET}"
sleep 0.3
play_sound "ping"
done
# Final clean reveal
clear_screen
echo
for line in "${logo_lines[@]}"; do
echo -e "$line"
sleep 0.05
done
echo
echo -e " ${BOLD}${YELLOW}www.brandtrackers.xyz${RESET}"
# Finale sparkles
for sparkle in {1..10}; do
printf "\033[%d;%dH${BRIGHT_YELLOW}β¨${RESET}" $((RANDOM % 10 + 5)) $((RANDOM % 70 + 5))
sleep 0.1
play_sound "ping"
done
echo
echo
echo " ${BLINK}${BRIGHT_MAGENTA}π Welcome to BrandTrackers! π${RESET}"
echo
show_cursor
play_sound "glass"
EOF
# Make it executable
chmod +x show
# Create nginx site config
cat > /etc/nginx/sites-available/cli-brandtrackers << 'EOF'
server {
listen 80;
server_name cli.brandtrackers.xyz;
root /var/www/cli-brandtrackers;
location / {
# Serve the show script for any request
try_files /show =404;
# Set correct content type for shell scripts
add_header Content-Type "text/plain; charset=utf-8";
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
add_header Expires "0";
# CORS headers for terminal access
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Methods "GET, OPTIONS";
add_header Access-Control-Allow-Headers "Content-Type";
}
# Handle OPTIONS requests
location ~* \.(OPTIONS)$ {
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Methods "GET, OPTIONS";
add_header Access-Control-Allow-Headers "Content-Type";
return 204;
}
}
EOF
# Enable the site
ln -sf /etc/nginx/sites-available/cli-brandtrackers /etc/nginx/sites-enabled/
# Test nginx config
nginx -t
if [ $? -eq 0 ]; then
# Reload nginx
systemctl reload nginx
echo "β
Nginx configured and reloaded successfully!"
else
echo "β Nginx configuration error!"
exit 1
fi
# Check if it's working
echo ""
echo "π― Testing the setup..."
sleep 2
# Test locally
if curl -s localhost -H "Host: cli.brandtrackers.xyz" | head -1 | grep -q "#!/bin/bash"; then
echo "β
Local test successful!"
else
echo "β Local test failed"
fi
echo ""
echo "π Setup complete!"
echo ""
echo "Next steps:"
echo "1. Add DNS record in Namecheap:"
echo " Type: A"
echo " Host: cli"
echo " Value: 104.248.112.247"
echo ""
echo "2. Wait 5-10 minutes for DNS propagation"
echo ""
echo "3. Test with: curl -s cli.brandtrackers.xyz | bash"
echo ""
echo "π Your command will be: curl -s cli.brandtrackers.xyz | bash"