forked from IndeecFOX/zapret4rocket
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpremium.sh
More file actions
120 lines (103 loc) · 3.96 KB
/
premium.sh
File metadata and controls
120 lines (103 loc) · 3.96 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
# ---- ZEFEER PREMIUM (777/999) ----
# Сделано исключительно ради мемов. Практического смысла не несёт.
PREMIUM_FLAG="$CACHE_DIR/premium.enabled"
PREMIUM_TITLE_FILE="$CACHE_DIR/premium.title"
rand_from_list() {
# usage: rand_from_list "a" "b" "c"
local n=$#
(( n == 0 )) && return 1
local idx=$(( (RANDOM % n) + 1 ))
eval "echo \"\${$idx}\""
}
spinner_for_seconds() {
local seconds="${1:-2}"
local msg="${2:-Работаем}"
local frames="|/-\\"
local i=0
local end=$((SECONDS + seconds))
local _had_tput=0
if command -v tput >/dev/null 2>&1; then
_had_tput=1
tput civis
trap 'tput cnorm; trap - EXIT INT TERM' EXIT INT TERM
fi
while (( SECONDS < end )); do
i=$(( (i + 1) % 4 ))
# \r + \033[2K: в начало строки и стереть строку
printf "\r\033[2K%s... [%c]" "$msg" "${frames:$i:1}"
sleep 1
done
printf "\r\033[2K%s... [OK]\n" "$msg"
if (( _had_tput )); then
tput cnorm
trap - EXIT INT TERM
fi
}
premium_get_or_set_title() {
mkdir -p "$CACHE_DIR"
if [[ -s "$PREMIUM_TITLE_FILE" ]]; then
cat "$PREMIUM_TITLE_FILE"
return 0
fi
local title
title="$(rand_from_list \
"Граф Дезинхрона" \
"Барон QUIC'а" \
"Хранитель Hostlist'ов" \
"Лорд --new" \
"Грандмастер FakeTLS" \
"Архитектор Сплитов" \
"Повелитель RST (легальный)" \
"Смотрящий за ipset'ом" \
"Владыка TTL (ненадолго)" \
"Амбассадор «Тест не точен»" \
)"
echo "$title" > "$PREMIUM_TITLE_FILE"
echo "$title"
}
zefeer_premium_777() {
mkdir -p "$CACHE_DIR"
if [[ -f "$PREMIUM_FLAG" ]]; then
local title
title="$(premium_get_or_set_title)"
echo -e "${yellow}ZEFEER PREMIUM уже активирован.${plain}"
echo -e "Ваш титул: ${green}${title}${plain}"
return 0
fi
echo -e "${yellow}Подключаемся к платёжному шлюзу...${plain}"
spinner_for_seconds 2 "Проверяем поддержку проекта"
# Фальш-результат
local verdict
verdict="$(rand_from_list \
"Транзакция не найдена, но найден хороший человек." \
"Оплата не прошла, зато прошли вы. В сердечко." \
"Биллинг лежит. Premium — стоит." \
"Счёт не выставлялся. Списали уважение." \
"Донат не обнаружен. Обнаружена смелость нажать 777." \
)"
echo -e "${green}${verdict}${plain}"
local title
title="$(premium_get_or_set_title)"
echo -e "Premium активирован ${green}ヽ(o^ ^o)ノ ${plain}"
echo -e "Присвоен титул: ${pink}${title}${plain}"
: > "$PREMIUM_FLAG"
}
zefeer_space_999() {
echo -e "${cyan}Секретный протокол 999: попытка связи с космосом...${plain}"
spinner_for_seconds 6 "Наводим тарелку на созвездие Пакетных Потерь"
local excuse
excuse="$(rand_from_list \
"Меркурий не в том доме." \
"Вспышка на Солнце сбила сигнал." \
"Ретроградный NAT. Портал закрыт." \
"Слишком много DPI на орбите — сигнал дропнули." \
"Космос ответил RST." \
"Сигнал ушёл по QUIC, а обратно пришёл по SMTP." \
"Спутник занят: обновляет hostlist." \
"Астральный ipset переполнен." \
"Связь есть, но только с IPv6, а вы в IPv4 настроении." \
"Сбой калибровки антенны: /dev/space не найден." \
)"
echo -e "${red}Ошибка связи:${plain} ${yellow}${excuse}${plain}"
}
# ---- /ZEFEER PREMIUM ----