bot-mwsm 3.0.4 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/Mwsm.yml +20 -57
- package/Dockerfile +95 -37
- package/README.md +31 -18
- package/bash/mwsm.sh +392 -182
- package/bash/setup.sh +102 -100
- package/img/emojis.png +0 -0
- package/img/emojiselect.png +0 -0
- package/mwsm.db +0 -0
- package/mwsm.js +529 -524
- package/package.json +10 -9
- package/style.css +5 -1
- package/version.json +2 -2
package/bash/setup.sh
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
# 🧹 Limpeza e restauração do terminal
|
|
5
5
|
# ==============================
|
|
6
6
|
cleanup_terminal() {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
stty sane 2>/dev/null || true
|
|
8
|
+
tput cnorm 2>/dev/null || true
|
|
9
9
|
}
|
|
10
10
|
trap cleanup_terminal EXIT INT TERM
|
|
11
11
|
|
|
@@ -15,7 +15,6 @@ trap cleanup_terminal EXIT INT TERM
|
|
|
15
15
|
stty -echo -icanon -isig
|
|
16
16
|
tput civis
|
|
17
17
|
trap '' INT TSTP QUIT
|
|
18
|
-
|
|
19
18
|
clear
|
|
20
19
|
|
|
21
20
|
# ==============================
|
|
@@ -52,61 +51,55 @@ EOF
|
|
|
52
51
|
# 🔄 Função spinner contínuo
|
|
53
52
|
# ==============================
|
|
54
53
|
spinner_start() {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
54
|
+
local message="$1"
|
|
55
|
+
local spin='-\|/'
|
|
56
|
+
local i=0
|
|
57
|
+
while true; do
|
|
58
|
+
i=$(( (i+1) %4 ))
|
|
59
|
+
printf "\r ${spin:$i:1} %s" "$message"
|
|
60
|
+
sleep 0.1
|
|
61
|
+
done
|
|
63
62
|
}
|
|
64
63
|
|
|
65
64
|
# ==============================
|
|
66
65
|
# 🔍 Detecta sudo
|
|
67
66
|
# ==============================
|
|
68
67
|
if [ "$(id -u)" -eq 0 ]; then
|
|
69
|
-
|
|
68
|
+
SUDO=""
|
|
70
69
|
else
|
|
71
|
-
|
|
70
|
+
SUDO="sudo"
|
|
72
71
|
fi
|
|
73
72
|
|
|
74
73
|
# ==============================
|
|
75
74
|
# 🔍 Detectar distribuição
|
|
76
75
|
# ==============================
|
|
77
76
|
detect_distro() {
|
|
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
|
-
DISTRO_DETECT="docker"
|
|
105
|
-
return 0
|
|
106
|
-
fi
|
|
107
|
-
|
|
108
|
-
DISTRO_DETECT="other"
|
|
109
|
-
return 1
|
|
77
|
+
local id=""
|
|
78
|
+
local codename=""
|
|
79
|
+
|
|
80
|
+
if [ -f /etc/os-release ]; then
|
|
81
|
+
. /etc/os-release
|
|
82
|
+
id=$(echo "${ID:-}" | tr '[:upper:]' '[:lower:]')
|
|
83
|
+
codename=$(grep -E '^VERSION_CODENAME=' /etc/os-release | cut -d= -f2 | tr -d '"')
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
if [[ "$id" == "devuan" ]] || grep -qi "devuan" /etc/os-release 2>/dev/null; then
|
|
87
|
+
DISTRO_DETECT="devuan"
|
|
88
|
+
return 0
|
|
89
|
+
fi
|
|
90
|
+
|
|
91
|
+
if [[ "$codename" == "bookworm" || "$codename" == "trixie" ]]; then
|
|
92
|
+
DISTRO_DETECT="debian"
|
|
93
|
+
return 0
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
if [[ "$id" == "ubuntu" ]]; then
|
|
97
|
+
DISTRO_DETECT="ubuntu"
|
|
98
|
+
return 0
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
DISTRO_DETECT="other"
|
|
102
|
+
return 1
|
|
110
103
|
}
|
|
111
104
|
|
|
112
105
|
detect_distro
|
|
@@ -118,6 +111,7 @@ LOG_FILE="/var/log/mwsm.log"
|
|
|
118
111
|
$SUDO mkdir -p "$(dirname "$LOG_FILE")" >/dev/null 2>&1
|
|
119
112
|
$SUDO touch "$LOG_FILE" >/dev/null 2>&1
|
|
120
113
|
$SUDO chmod 666 "$LOG_FILE" >/dev/null 2>&1
|
|
114
|
+
|
|
121
115
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Iniciando instalador" >>"$LOG_FILE"
|
|
122
116
|
|
|
123
117
|
# ==============================
|
|
@@ -127,67 +121,71 @@ spinner_start "Inicializando instalador..." &
|
|
|
127
121
|
SPIN_PID=$!
|
|
128
122
|
|
|
129
123
|
{
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
$
|
|
138
|
-
|
|
139
|
-
$SUDO curl -sSL "$MWSM_URL" -o /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
|
|
140
|
-
$SUDO chmod +x /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
|
|
141
|
-
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Docker pronto, prosseguindo" >>"$LOG_FILE"
|
|
142
|
-
else
|
|
143
|
-
# ==============================
|
|
144
|
-
# 🧩 Correção silenciosa Debian antigo
|
|
145
|
-
# ==============================
|
|
146
|
-
detect_distro
|
|
147
|
-
|
|
148
|
-
if [[ "$DISTRO_DETECT" == "devuan" ]]; then
|
|
149
|
-
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Corrigindo repositórios (Devuan)" >>"$LOG_FILE"
|
|
150
|
-
$SUDO bash -c '
|
|
124
|
+
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Verificando dependências..." >>"$LOG_FILE"
|
|
125
|
+
|
|
126
|
+
# ==============================
|
|
127
|
+
# 🧩 Correção silenciosa Debian antigo
|
|
128
|
+
# ==============================
|
|
129
|
+
detect_distro
|
|
130
|
+
if [[ "$DISTRO_DETECT" == "devuan" ]]; then
|
|
131
|
+
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Corrigindo repositórios (Devuan)" >>"$LOG_FILE"
|
|
132
|
+
$SUDO bash -c '
|
|
151
133
|
sed -i "s|deb.debian.org|archive.debian.org|g" /etc/apt/sources.list
|
|
152
134
|
sed -i "s|security.debian.org|archive.debian.org/debian-security|g" /etc/apt/sources.list
|
|
153
135
|
echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf.d/99archive
|
|
154
136
|
apt-get clean -qq >/dev/null 2>&1
|
|
155
137
|
rm -rf /var/lib/apt/lists/* >/dev/null 2>&1
|
|
156
138
|
apt-get update --allow-releaseinfo-change -o Acquire::Check-Valid-Until=false -y -qq >/dev/null 2>&1
|
|
157
|
-
|
|
158
|
-
|
|
139
|
+
' >>"$LOG_FILE" 2>&1
|
|
140
|
+
fi
|
|
159
141
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
142
|
+
# ==============================
|
|
143
|
+
# 📦 Curl e dependências
|
|
144
|
+
# ==============================
|
|
145
|
+
if ! command -v curl >/dev/null 2>&1; then
|
|
146
|
+
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Instalando curl" >> "$LOG_FILE"
|
|
147
|
+
$SUDO apt-get update -qq >/dev/null 2>&1
|
|
148
|
+
$SUDO apt-get install -y -qq curl >/dev/null 2>&1
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
# ==============================
|
|
152
|
+
# 🕒 Ajuste de fuso horário e NTP
|
|
153
|
+
# ==============================
|
|
154
|
+
if command -v timedatectl >/dev/null 2>&1; then
|
|
155
|
+
$SUDO timedatectl set-timezone America/Sao_Paulo >/dev/null 2>&1
|
|
156
|
+
$SUDO timedatectl set-ntp true >/dev/null 2>&1
|
|
157
|
+
|
|
158
|
+
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] timedatectl detectado - timezone e NTP configurados" >>"$LOG_FILE"
|
|
159
|
+
|
|
160
|
+
CURRENT_TIME="$(date '+%Y-%m-%d %H:%M:%S')"
|
|
161
|
+
echo "$CURRENT_TIME - [SETUP] timedatectl detectado - timezone e NTP configurados" >>"$LOG_FILE"
|
|
162
|
+
echo "$CURRENT_TIME - [SETUP] Hora atual do sistema: $(date '+%Y-%m-%d %H:%M:%S')" >>"$LOG_FILE"
|
|
163
|
+
|
|
164
|
+
else
|
|
165
|
+
if [ -f /usr/share/zoneinfo/America/Sao_Paulo ]; then
|
|
166
|
+
$SUDO ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime >/dev/null 2>&1
|
|
167
|
+
echo "America/Sao_Paulo" | $SUDO tee /etc/timezone >/dev/null 2>&1
|
|
168
|
+
command -v hwclock >/dev/null 2>&1 && $SUDO hwclock --systohc >/dev/null 2>&1
|
|
168
169
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
$SUDO timedatectl set-timezone America/Sao_Paulo >/dev/null 2>&1
|
|
175
|
-
$SUDO timedatectl set-ntp true >/dev/null 2>&1
|
|
176
|
-
else
|
|
177
|
-
$SUDO ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime >/dev/null 2>&1
|
|
178
|
-
echo "America/Sao_Paulo" | $SUDO tee /etc/timezone >/dev/null 2>&1
|
|
179
|
-
command -v hwclock >/dev/null 2>&1 && $SUDO hwclock --systohc >/dev/null 2>&1
|
|
170
|
+
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Fallback manual aplicado (sem timedatectl)" >>"$LOG_FILE"
|
|
171
|
+
|
|
172
|
+
CURRENT_TIME="$(date '+%Y-%m-%d %H:%M:%S')"
|
|
173
|
+
echo "$CURRENT_TIME - [SETUP] Fallback manual aplicado (sem timedatectl)" >>"$LOG_FILE"
|
|
174
|
+
echo "$CURRENT_TIME - [SETUP] Hora atual do sistema: $(date '+%Y-%m-%d %H:%M:%S')" >>"$LOG_FILE"
|
|
180
175
|
fi
|
|
176
|
+
fi
|
|
177
|
+
|
|
178
|
+
# ==============================
|
|
179
|
+
# ⬇️ Download do mwsm.sh (modo normal)
|
|
180
|
+
# ==============================
|
|
181
|
+
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Baixando mwsm.sh" >>"$LOG_FILE"
|
|
181
182
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
$SUDO curl -sSL "$MWSM_URL" -o /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
|
|
189
|
-
$SUDO chmod +x /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
|
|
190
|
-
fi
|
|
183
|
+
$SUDO mkdir -p /var/api/Mwsm >/dev/null 2>&1
|
|
184
|
+
|
|
185
|
+
MWSM_URL="https://raw.githubusercontent.com/MKCodec/Mwsm/refs/heads/main/bash/mwsm.sh?nocache=$(date +%s)"
|
|
186
|
+
|
|
187
|
+
$SUDO curl -sSL "$MWSM_URL" -o /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
|
|
188
|
+
$SUDO chmod +x /var/api/Mwsm/mwsm.sh >/dev/null 2>&1
|
|
191
189
|
|
|
192
190
|
} >>"$LOG_FILE" 2>&1
|
|
193
191
|
|
|
@@ -202,8 +200,10 @@ wait $SPIN_PID 2>/dev/null
|
|
|
202
200
|
# 🧪 Verificação
|
|
203
201
|
# ==============================
|
|
204
202
|
if ! grep -q '# 📦 Gerenciador do Bot-Mwsm' /var/api/Mwsm/mwsm.sh 2>/dev/null; then
|
|
205
|
-
|
|
206
|
-
|
|
203
|
+
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Erro ao baixar mwsm.sh" >>"$LOG_FILE"
|
|
204
|
+
stty sane
|
|
205
|
+
tput cnorm
|
|
206
|
+
exit 1
|
|
207
207
|
fi
|
|
208
208
|
|
|
209
209
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - [SETUP] Setup concluído com sucesso" >>"$LOG_FILE"
|
|
@@ -215,8 +215,10 @@ clear
|
|
|
215
215
|
cd /var/api/Mwsm >/dev/null 2>&1
|
|
216
216
|
stty sane
|
|
217
217
|
tput cnorm
|
|
218
|
+
|
|
218
219
|
if [ -f /var/api/Mwsm/mwsm.sh ]; then
|
|
219
|
-
|
|
220
|
-
|
|
220
|
+
ln -sf /var/api/Mwsm/mwsm.sh /usr/local/bin/mwsm 2>/dev/null || $SUDO ln -sf /var/api/Mwsm/mwsm.sh /usr/local/bin/mwsm
|
|
221
|
+
chmod +x /usr/local/bin/mwsm 2>/dev/null || $SUDO chmod +x /usr/local/bin/mwsm
|
|
221
222
|
fi
|
|
223
|
+
|
|
222
224
|
exec bash ./mwsm.sh
|
package/img/emojis.png
ADDED
|
Binary file
|
|
Binary file
|
package/mwsm.db
CHANGED
|
Binary file
|