bot-mwsm 3.0.5 → 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/README.md CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  <p align="center">
4
4
  <a href="javascript:void(0)">
5
- <img src="https://img.shields.io/badge/Build-3.0.5-blue?style=for-the-badge" alt="Badge">
5
+ <img src="https://img.shields.io/badge/Build-3.0.7-blue?style=for-the-badge" alt="Badge">
6
6
  </a>
7
7
  <a href="javascript:void(0)">
8
- <img src="https://img.shields.io/badge/Update-22%2F10%2F2025%2021:10-green?style=for-the-badge" alt="Badge">
8
+ <img src="https://img.shields.io/badge/Update-14%2F07%2F2026%2000:07-green?style=for-the-badge" alt="Badge">
9
9
  </a>
10
10
  <a href="https://github.com/MKCodec/Mwsm">
11
11
  <img src="https://img.shields.io/github/stars/MKCodec/Mwsm?style=for-the-badge" alt="Badge">
@@ -82,6 +82,27 @@ permitindo enviar mensagens, sincronizar cobranças e gerenciar comunicações c
82
82
 
83
83
  ---
84
84
 
85
+ ## 👨‍💻 Desenvolvedor
86
+
87
+ Cleber Souza
88
+ - Conecte-se comigo nas redes sociais 👇
89
+ <p align="left">
90
+ <a href="https://www.instagram.com/kfs.742" target="_blank">
91
+ <img src="https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white"/>
92
+ </a>
93
+
94
+ <a href="https://www.tiktok.com/@kfs.742" target="_blank">
95
+ <img src="https://img.shields.io/badge/TikTok-000000?style=for-the-badge&logo=tiktok&logoColor=white"/>
96
+ </a>
97
+
98
+ <a href="https://www.facebook.com/kfs.742" target="_blank">
99
+ <img src="https://img.shields.io/badge/Facebook-1877F2?style=for-the-badge&logo=facebook&logoColor=white"/>
100
+ </a>
101
+ </p>
102
+
103
+ ---
104
+
105
+
85
106
  ## 💖 Apoie o Projeto
86
107
 
87
108
  O **Mwsm** é mantido por voluntários e distribuído gratuitamente.
package/bash/mwsm.sh CHANGED
@@ -28,6 +28,40 @@ pause_and_restore() {
28
28
  tput civis >/dev/null 2>&1 || true
29
29
  }
30
30
 
31
+
32
+ fix_wwjs() {
33
+ local BASE_PATH="/var/api/Mwsm/node_modules/whatsapp-web.js/src/util/Injected"
34
+ local STORE_FILE="${BASE_PATH}/Store.js"
35
+ local UTILS_FILE="${BASE_PATH}/Utils.js"
36
+
37
+ if [ -f "$STORE_FILE" ] && grep -q '() => false' "$STORE_FILE"; then
38
+ sed -i 's/() => false/() => true/' "$STORE_FILE"
39
+ fi
40
+
41
+ # if [ -f "$UTILS_FILE" ] && grep -q 'window.Store.SocketWap.USER_JID' "$UTILS_FILE"; then
42
+ # sed -i '/window\.WWebJS\.rejectCall\s*=\s*async/,/};/c\
43
+ # window.WWebJS.rejectCall = async (peerJid, id) => {\
44
+ # let userId = window.Store.User.getMaybeMePnUser()._serialized;\
45
+ # const stanza = window.Store.SocketWap.wap("call", {\
46
+ # id: window.Store.SocketWap.generateId(),\
47
+ # from: userId,\
48
+ # to: peerJid,\
49
+ # }, [\
50
+ # window.Store.SocketWap.wap("reject", {\
51
+ # "call-id": id,\
52
+ # "call-creator": peerJid,\
53
+ # count: "0",\
54
+ # })\
55
+ # ]);\
56
+ # await window.Store.Socket.deprecatedCastStanza(stanza);\
57
+ # };' "$UTILS_FILE"
58
+ # fi
59
+
60
+ # Fix sendSeen
61
+ [ -f "$UTILS_FILE" ] && cp "$UTILS_FILE" "$UTILS_FILE.backup" && sed -i 's|await window\.Store\.SendSeen\.sendSeen(chat);|await window.Store.SendSeen.markSeen(chat);|g' "$UTILS_FILE"
62
+ }
63
+
64
+
31
65
  # ===============================
32
66
  # Diretórios dinâmicos globais
33
67
  # ===============================
@@ -103,6 +137,8 @@ Setup_Mwsm() {
103
137
  local SRC=""
104
138
  local LOG_PREFIX
105
139
  LOG_PREFIX="$(date '+%Y-%m-%d %H:%M:%S') - [SETUP]"
140
+
141
+ # Detectar origem real do script
106
142
  if [ -n "${BASH_SOURCE[0]:-}" ]; then
107
143
  SRC="${BASH_SOURCE[0]}"
108
144
  fi
@@ -111,29 +147,29 @@ Setup_Mwsm() {
111
147
  SRC="$(realpath "$SRC")"
112
148
  fi
113
149
 
150
+ # Evitar usar STDIN (terminal) como fonte
114
151
  if [ ! -f "$SRC" ] || [ -z "$SRC" ]; then
115
- if [ -r "/proc/$$/fd/0" ]; then
116
- SRC="/proc/$$/fd/0"
117
- elif [ -r "/proc/self/fd/0" ]; then
118
- SRC="/proc/self/fd/0"
152
+ if [[ -r "$0" && "$0" != "bash" ]]; then
153
+ SRC="$0"
154
+ elif [ -r "/proc/self/exe" ]; then
155
+ SRC="/proc/self/exe"
156
+ else
157
+ echo "$LOG_PREFIX ⚠️ Não foi possível determinar o caminho real do script, ignorando restauração" >>"$LOG_FILE"
158
+ return 0
119
159
  fi
120
160
  fi
121
-
122
- if [ -z "$SRC" ]; then
123
- echo "$LOG_PREFIX ⚠️ Não foi possível localizar o script em execução para restaurar mwsm.sh" >>"$LOG_FILE"
124
- return 1
125
- fi
126
-
161
+ # Se o script destino não existir, restaura a partir da origem detectada
127
162
  if [[ -d $BASE_DIR && ! -f "$SCRIPT_PATH" ]]; then
128
163
  echo "$LOG_PREFIX 🔁 Restaurando mwsm.sh a partir de $SRC" >>"$LOG_FILE"
164
+
129
165
  if [ "$(id -u)" -eq 0 ]; then
130
- cp -- "$SRC" "$SCRIPT_PATH" 2>>"$LOG_FILE" || {
166
+ cp -f "$SRC" "$SCRIPT_PATH" 2>>"$LOG_FILE" || {
131
167
  echo "$LOG_PREFIX ❌ Falha ao copiar $SRC -> $SCRIPT_PATH" >>"$LOG_FILE"
132
168
  return 1
133
169
  }
134
170
  chmod +x "$SCRIPT_PATH" 2>>"$LOG_FILE" || true
135
171
  else
136
- $SUDO bash -c "cp -- '$SRC' '$SCRIPT_PATH' && chmod +x '$SCRIPT_PATH'" 2>>"$LOG_FILE" || {
172
+ $SUDO bash -c "cp -f '$SRC' '$SCRIPT_PATH' && chmod +x '$SCRIPT_PATH'" 2>>"$LOG_FILE" || {
137
173
  echo "$LOG_PREFIX ❌ Falha ao copiar (sudo) $SRC -> $SCRIPT_PATH" >>"$LOG_FILE"
138
174
  return 1
139
175
  }
@@ -141,14 +177,15 @@ Setup_Mwsm() {
141
177
 
142
178
  if [ -f "$SCRIPT_PATH" ]; then
143
179
  echo "$LOG_PREFIX ✅ mwsm.sh restaurado em $SCRIPT_PATH" >>"$LOG_FILE"
144
- return 0
145
180
  else
146
181
  echo "$LOG_PREFIX ❌ Após copiar, $SCRIPT_PATH ainda não existe." >>"$LOG_FILE"
147
182
  return 1
148
183
  fi
149
184
  fi
185
+
150
186
  return 0
151
187
  }
188
+
152
189
  silent_menu() {
153
190
  local local_file="$BASE_DIR/mwsm.sh"
154
191
  local remote_url="https://raw.githubusercontent.com/MKCodec/Mwsm/refs/heads/main/bash/mwsm.sh"
@@ -185,10 +222,6 @@ NODE_INSTALL_FAILED=false
185
222
  NPM_INSTALL_FAILED=false
186
223
  LAST_SUCCESS=""
187
224
  detect_distro
188
- if [ "$DISTRO" != "devuan" ] && [ "$DISTRO_DETECT" != "devuan" ]; then
189
- export PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu"
190
- fi
191
-
192
225
 
193
226
  # =================================
194
227
  # Modo de log completo
@@ -440,77 +473,102 @@ run_step "$SUDO bash -c '
440
473
  INSTALL_FAILED=true
441
474
  else
442
475
 
476
+
443
477
  # -------------------------
444
478
  # 🐍 Python + Pip + Libs
445
479
  # -------------------------
446
480
 
447
- if [[ "$DISTRO_DETECT" == "devuan" ]]; then
448
- run_step "$SUDO apt update -y >/dev/null 2>&1 && \
449
- $SUDO apt install -y python3 python3-pip python3-venv \
450
- -o Dpkg::Options::='--force-confdef' \
451
- -o Dpkg::Options::='--force-confold' >/dev/null 2>&1" \
452
- 'Instalando Python' install
453
-
454
- if ! command -v pip3 >/dev/null 2>&1; then
455
- run_step "$SUDO python3 -m ensurepip --upgrade >/dev/null 2>&1" \
456
- 'Restaurando pip' install
457
- fi
458
- run_step "cd /tmp && \
459
- PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
460
- $SUDO python3 -m pip install --quiet --no-input --upgrade pip setuptools wheel" \
461
- 'Atualizando Python' instal
462
- run_step "cd /tmp && \
463
- PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
464
- $SUDO python3 -m pip install --quiet --no-input \
465
- 'flask==2.2.5' \
466
- 'sentence-transformers==2.2.2' \
467
- 'transformers==4.25.1' \
468
- 'safetensors==0.3.1' \
469
- 'huggingface_hub==0.10.1'" \
470
- 'Instalando libs Python' install
481
+ if python3 -m pip install --help 2>&1 | grep -q -- '--break-system-packages'; then
482
+ PIP_BREAK_OPT="--break-system-packages"
471
483
  else
472
- run_step "$SUDO apt update -y >/dev/null 2>&1 && \
473
- $SUDO apt install -y python3 python3-pip python3-venv \
474
- -o Dpkg::Options::='--force-confdef' \
475
- -o Dpkg::Options::='--force-confold' >/dev/null 2>&1" \
476
- 'Instalando Python' install
477
-
478
- if ! command -v pip3 >/dev/null 2>&1; then
479
- run_step "$SUDO python3 -m ensurepip --upgrade >/dev/null 2>&1" \
480
- 'Restaurando pip' install
484
+ PIP_BREAK_OPT=""
481
485
  fi
482
- run_step "cd /tmp && \
483
- PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
484
- $SUDO python3 -m ensurepip --upgrade >/dev/null 2>&1 && \
485
- $SUDO python3 -m pip install --no-input --quiet --upgrade setuptools wheel >/dev/null 2>&1 || true" \
486
- 'Atualizando Python' install
486
+
487
+ if [[ "$DISTRO_DETECT" == "devuan" ]]; then
488
+ # --- Instalação simplificada (Devuan possui CUDA + PyTorch nativo) ---
489
+ run_step "$SUDO apt update -y >/dev/null 2>&1 && \
490
+ $SUDO apt install -y python3 python3-pip python3-venv \
491
+ -o Dpkg::Options::='--force-confdef' \
492
+ -o Dpkg::Options::='--force-confold' >/dev/null 2>&1" \
493
+ 'Instalando Python' install
494
+
495
+ if ! command -v pip3 >/dev/null 2>&1; then
496
+ run_step "$SUDO python3 -m ensurepip --upgrade >/dev/null 2>&1" \
497
+ 'Restaurando pip' install
498
+ fi
499
+
500
+ run_step "cd /tmp && \
501
+ PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
502
+ $SUDO python3 -m pip install --quiet --no-input --upgrade pip setuptools wheel" \
503
+ 'Atualizando Python' install
504
+
487
505
  run_step "PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
488
506
  $SUDO python3 -m pip install --quiet --no-input \
489
- 'flask==2.2.5' \
490
- 'sentence-transformers==2.2.2' \
491
- 'huggingface_hub==0.10.1' >/dev/null 2>&1 || true" \
507
+ 'flask==2.2.5' \
508
+ 'sentence-transformers==2.2.2' \
509
+ 'transformers==4.25.1' \
510
+ 'safetensors==0.3.1' \
511
+ 'huggingface_hub==0.10.1'" \
512
+ 'Instalando libs Python' install
513
+
514
+ else
515
+ # --- Caminho completo para Debian/Ubuntu (sem CUDA) ---
516
+ run_step "$SUDO apt update -y >/dev/null 2>&1 && \
517
+ $SUDO apt install -y python3 python3-pip python3-venv \
518
+ -o Dpkg::Options::='--force-confdef' \
519
+ -o Dpkg::Options::='--force-confold' >/dev/null 2>&1" \
520
+ 'Instalando Python' install
521
+
522
+ if ! command -v pip3 >/dev/null 2>&1; then
523
+ run_step "$SUDO python3 -m ensurepip --upgrade >/dev/null 2>&1" \
524
+ 'Restaurando pip' install
525
+ fi
526
+
527
+ run_step "cd /tmp && \
528
+ PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
529
+ $SUDO python3 -m ensurepip --upgrade >/dev/null 2>&1 && \
530
+ $SUDO python3 -m pip install --no-input --quiet --upgrade setuptools wheel >/dev/null 2>&1 || true" \
531
+ 'Atualizando Python' install
532
+
533
+ run_step "PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
534
+ $SUDO env PIP_EXTRA_INDEX_URL='https://download.pytorch.org/whl/cpu' \
535
+ python3 -m pip install --quiet --no-input $PIP_BREAK_OPT \
536
+ --target=/usr/lib/python3/dist-packages \
537
+ 'filelock<3.13.0' \
538
+ 'typing-extensions<4.6.0' \
539
+ 'flask==2.2.5' \
540
+ 'sentence-transformers==2.2.2' \
541
+ 'transformers==4.25.1' \
542
+ 'safetensors==0.3.1' \
543
+ 'huggingface_hub==0.10.1' \
544
+ 'torch==1.13.1+cpu' \
545
+ 'torchvision==0.14.1+cpu' \
546
+ -f https://download.pytorch.org/whl/cpu >/dev/null 2>&1 || true" \
492
547
  'Instalando libs Python' install
493
548
  fi
494
549
 
495
550
  if [[ "$DISTRO_DETECT" == "devuan" ]]; then
496
- # --- Compatibilidade Devuan (Beowulf) ---
497
551
  run_step "
498
552
  command -v pip3 >/dev/null 2>&1 || $SUDO apt install -y python3-pip >/dev/null 2>&1
499
- $SUDO python3 -m pip show flask >/dev/null 2>&1 || $SUDO python3 -m pip install --quiet flask
500
- $SUDO python3 -m pip show sentence-transformers >/dev/null 2>&1 || $SUDO python3 -m pip install --quiet sentence-transformers
501
- $SUDO python3 -m pip show huggingface_hub >/dev/null 2>&1 || $SUDO python3 -m pip install --quiet huggingface_hub
553
+ for pkg in flask sentence-transformers huggingface_hub; do
554
+ python3 -m pip show \$pkg >/dev/null 2>&1 || \
555
+ $SUDO python3 -m pip install --quiet --no-input \$pkg >/dev/null 2>&1 || true
556
+ done
502
557
  " 'Verificando integridade Python' install
503
558
  else
504
- # --- Compatibilidade Debian 11+ / Ubuntu 20+ ---
505
559
  run_step "
506
560
  command -v pip3 >/dev/null 2>&1 || $SUDO apt install -y python3-pip >/dev/null 2>&1
507
561
  for pkg in flask sentence-transformers huggingface_hub; do
508
- python3 -m pip show \$pkg >/dev/null 2>&1 || $SUDO python3 -m pip show \$pkg >/dev/null 2>&1 || \
509
- $SUDO python3 -m pip install --quiet --no-input \$pkg >/dev/null 2>&1 || true
562
+ python3 -m pip show \$pkg >/dev/null 2>&1 || \
563
+ $SUDO env PIP_EXTRA_INDEX_URL='https://download.pytorch.org/whl/cpu' \
564
+ python3 -m pip install --quiet --no-input \$PIP_BREAK_OPT --target=/usr/lib/python3/dist-packages \$pkg >/dev/null 2>&1 || true
510
565
  done
511
566
  " 'Verificando integridade Python' install
512
567
  fi
513
568
 
569
+
570
+
571
+
514
572
 
515
573
  # -------------------------
516
574
  # Repositório Mwsm
@@ -543,12 +601,12 @@ $SUDO chown -R "$CURRENT_USER":"$CURRENT_USER" "$BASE_DIR"
543
601
  # -------------------------
544
602
  cd $BASE_DIR || return
545
603
  run_step "node -v >/dev/null 2>&1" "Verificando instalação do Node.js" install
546
- run_step "$SUDO npm install -g npm@latest --quiet --no-progress" "Atualizando NPM" install
604
+ run_step "$SUDO npm install -g npm@10 --quiet --no-progress" "Atualizando NPM" install
547
605
  run_step "$SUDO npm cache clean --force >/dev/null 2>&1" "Limpando cache NPM" install
548
606
  run_step "npm config set registry https://registry.npmjs.org >/dev/null 2>&1" "Configurando registro NPM" install
549
607
 
550
608
  if [[ "$DISTRO_DETECT" == "devuan" ]]; then
551
- run_step "$SUDO npm install -g npm@latest node-gyp@latest" "Atualizando npm e node-gyp" install
609
+ run_step "$SUDO npm install -g npm@10 node-gyp@latest" "Atualizando npm e node-gyp" install
552
610
  run_step "$SUDO npm install --silent --no-fund --no-audit" "Instalando dependências Node" install
553
611
  command -v node >/dev/null 2>&1 || $SUDO ln -sf /usr/bin/nodejs /usr/bin/node
554
612
  run_step "node -v && npm -v" "Verificando Node.js e NPM" install
@@ -580,6 +638,8 @@ run_step "npm config set registry https://registry.npmjs.org >/dev/null 2>&1" "C
580
638
  run_step "node -v && npm -v" "Verificando Node.js e NPM" install
581
639
  fi
582
640
 
641
+ run_step 'fix_wwjs' "Aplicando correções no Wwjs" install
642
+
583
643
  # -------------------------
584
644
  # Instalação e atualização do PM2
585
645
  # -------------------------
@@ -607,7 +667,7 @@ fi
607
667
  # Inicialização dos serviços
608
668
  # -------------------------
609
669
  if [[ "$DISTRO_DETECT" == "devuan" ]]; then
610
- run_step "$SUDO sh -c 'crontab -l 2>/dev/null | grep -v \"$BASE_DIR/mwsm.js\"; echo \"@reboot cd $BASE_DIR && npm run start:mkauth\"' | crontab -" "Configurando inicialização" install
670
+ run_step "$SUDO bash -c 'CRON_JOB=\"@reboot cd $BASE_DIR && npm run start:mkauth\"; crontab -l 2>/dev/null | grep -Fxq \"\$CRON_JOB\" || { (crontab -l 2>/dev/null; echo \"\$CRON_JOB\") | crontab -; }'" "Configurando inicialização" install
611
671
  run_step "$SUDO npm run setup:mkauth" "Iniciando serviços" install
612
672
  else
613
673
  run_step "$SUDO npm run setup:mwsm" "Iniciando serviços" install
@@ -825,59 +885,78 @@ Setup_Mwsm
825
885
  # Use precise detection for update branches if needed
826
886
  detect_distro
827
887
 
828
- if [[ "$DISTRO_DETECT" == "devuan" ]]; then
829
- run_step "$SUDO npm install -g npm@latest node-gyp@latest --silent --no-audit --no-fund" "Atualizando npm e node-gyp" update
888
+ if [[ "$DISTRO_DETECT" == "devuan" ]]; then
889
+ run_step "$SUDO npm install -g npm@10 node-gyp@latest --silent --no-audit --no-fund" "Atualizando npm e node-gyp" update
830
890
  else
831
- run_step "$SUDO npm install -g npm@latest --silent --no-audit --no-fund" "Atualizando npm" update
891
+ run_step "$SUDO npm install -g npm@10 --silent --no-audit --no-fund" "Atualizando npm" update
832
892
  fi
833
893
 
834
894
  run_step "$SUDO npm install --silent --no-fund --no-audit" "Atualizando dependências Node.js" update
835
895
 
896
+ run_step 'fix_wwjs' "Aplicando correções no Wwjs" update
897
+
836
898
  # -------------------------
837
899
  # 🐍 Atualização Python + Pip + Libs
838
900
  # -------------------------
839
901
 
902
+ if python3 -m pip install --help 2>&1 | grep -q -- '--break-system-packages'; then
903
+ PIP_BREAK_OPT="--break-system-packages"
904
+ else
905
+ PIP_BREAK_OPT=""
906
+ fi
907
+
840
908
  if [[ "$DISTRO_DETECT" == "devuan" ]]; then
909
+ # --- Devuan com CUDA: atualização mínima ---
841
910
  if ! command -v python3 >/dev/null 2>&1; then
842
911
  run_step "$SUDO apt install -y python3 python3-pip python3-venv --no-install-recommends >/dev/null 2>&1" "Instalando Python" update
843
912
  fi
913
+
844
914
  run_step "$SUDO python3 -m pip install --quiet --upgrade pip setuptools wheel" "Atualizando pip" update
845
- run_step "cd /tmp && \
846
- PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
915
+
916
+ run_step "PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
847
917
  $SUDO python3 -m pip install --quiet --no-input \
848
918
  'flask==2.2.5' \
849
919
  'sentence-transformers==2.2.2' \
850
920
  'transformers==4.25.1' \
851
921
  'safetensors==0.3.1' \
852
- 'huggingface_hub==0.10.1' >/dev/null 2>&1 || true" \
853
- "Atualizando libs Python" update
854
- else
922
+ 'huggingface_hub==0.10.1'" \
923
+ "Atualizando libs Python" update
855
924
 
856
- if ! command -v python3 >/dev/null 2>&1; then
857
- run_step "$SUDO apt update -y >/dev/null 2>&1 && \
858
- $SUDO apt install -y python3 python3-pip python3-venv \
859
- -o Dpkg::Options::='--force-confdef' \
860
- -o Dpkg::Options::='--force-confold' >/dev/null 2>&1" \
861
- "Instalando Python" update
862
- fi
925
+ else
926
+ # --- Debian/Ubuntu sem CUDA ---
927
+ if ! command -v python3 >/dev/null 2>&1; then
928
+ run_step "$SUDO apt update -y >/dev/null 2>&1 && \
929
+ $SUDO apt install -y python3 python3-pip python3-venv \
930
+ -o Dpkg::Options::='--force-confdef' \
931
+ -o Dpkg::Options::='--force-confold' >/dev/null 2>&1" \
932
+ "Instalando Python" update
933
+ fi
863
934
 
864
- run_step "cd /tmp && \
865
- PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
866
- $SUDO python3 -m ensurepip --upgrade >/dev/null 2>&1 && \
867
- $SUDO python3 -m pip install --no-input --quiet --upgrade setuptools wheel >/dev/null 2>&1 || true" \
868
- "Atualizando pip" update
935
+ run_step "cd /tmp && \
936
+ PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
937
+ $SUDO python3 -m ensurepip --upgrade >/dev/null 2>&1 && \
938
+ $SUDO python3 -m pip install --no-input --quiet --upgrade setuptools wheel >/dev/null 2>&1 || true" \
939
+ "Atualizando pip" update
869
940
 
870
941
  run_step "cd /tmp && \
871
942
  PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore \
872
- $SUDO python3 -m pip install --quiet --no-input \
943
+ $SUDO env PIP_EXTRA_INDEX_URL='https://download.pytorch.org/whl/cpu' \
944
+ python3 -m pip install --quiet --no-input $PIP_BREAK_OPT \
945
+ --target=/usr/lib/python3/dist-packages \
946
+ 'filelock<3.13.0' \
947
+ 'typing-extensions<4.6.0' \
873
948
  'flask==2.2.5' \
874
949
  'sentence-transformers==2.2.2' \
875
- 'huggingface_hub==0.10.1' >/dev/null 2>&1 || true" \
876
- "Atualizando libs Python" update
950
+ 'transformers==4.25.1' \
951
+ 'safetensors==0.3.1' \
952
+ 'huggingface_hub==0.10.1' \
953
+ 'torch==1.13.1+cpu' \
954
+ 'torchvision==0.14.1+cpu' \
955
+ -f https://download.pytorch.org/whl/cpu >/dev/null 2>&1 || true" \
956
+ "Atualizando libs Python" update
877
957
  fi
878
958
 
879
959
 
880
-
881
960
  if command -v pm2 >/dev/null 2>&1; then
882
961
  CURRENT_PM2_VERSION=$(pm2 -v | head -n1 | tr -d '[:space:]')
883
962
  LATEST_PM2_VERSION=$(npm view pm2 version 2>/dev/null | tr -d '[:space:]')
@@ -894,7 +973,7 @@ fi
894
973
  run_step "migrate_mwsm" "Importando dados Mwsm" update
895
974
 
896
975
  if [[ "$DISTRO_DETECT" == "devuan" ]]; then
897
- run_step "$SUDO sh -c 'crontab -l 2>/dev/null | grep -v \"$BASE_DIR/mwsm.js\"; echo \"@reboot cd $BASE_DIR && npm run start:mkauth\"' | crontab -" "Configurando inicialização" update
976
+ run_step "$SUDO bash -c 'CRON_JOB=\"@reboot cd $BASE_DIR && npm run start:mkauth\"; crontab -l 2>/dev/null | grep -Fxq \"\$CRON_JOB\" || { (crontab -l 2>/dev/null; echo \"\$CRON_JOB\") | crontab -; }'" "Configurando inicialização" update
898
977
  run_step "$SUDO npm run setup:mkauth" "Reiniciando serviços" update
899
978
 
900
979
  else
@@ -963,7 +1042,7 @@ uninstall() {
963
1042
  detect_distro
964
1043
 
965
1044
  if [[ "$DISTRO_DETECT" == "devuan" ]]; then
966
- run_step "crontab -l 2>/dev/null | grep -v '$BASE_DIR/mwsm.js' | crontab -" "Removendo inicialização" uninstall || UNINSTALL_FAILED=true
1045
+ run_step "crontab -l 2>/dev/null | grep -Fv 'cd $BASE_DIR && npm run start:mkauth' | crontab -" "Removendo inicialização" uninstall || UNINSTALL_FAILED=true
967
1046
  else
968
1047
  run_step "$SUDO pm2 unstartup systemd" "Removendo inicialização" uninstall || UNINSTALL_FAILED=true
969
1048
  fi
@@ -995,8 +1074,11 @@ uninstall() {
995
1074
  run_step "skip" "Limpando diretórios" uninstall
996
1075
  fi
997
1076
 
1077
+ # Removendo link do comando mwsm
998
1078
  if [ -L /usr/local/bin/mwsm ] || [ -f /usr/local/bin/mwsm ]; then
999
- rm -f /usr/local/bin/mwsm 2>/dev/null || $SUDO rm -f /usr/local/bin/mwsm
1079
+ run_step "$SUDO rm -f /usr/local/bin/mwsm" "Removendo comando mwsm" uninstall || UNINSTALL_FAILED=true
1080
+ else
1081
+ run_step "skip" "Removendo comando mwsm" uninstall
1000
1082
  fi
1001
1083
 
1002
1084
  if [ "$NO_PAUSE" = false ]; then