Script para eliminar archivos sospechosos descargados

¿Algo falla o no sabes como funciona? Pide ayuda aquí!
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Hola a todos;
Últimamente están llegando (vía torrent) archivos sospechosos.
Yo, por el momento, me he encontrado con *.zipx (y archivo .scr dentro) y con .mkv.lnk (que descarga cosas malas). El peligro es solo si te llevas esas cosas a Win y las abres.
(+info https://www.reddit.com/r/Piracy/comment ... f_mkvlnks/).
Encontré una manera de eliminar ciertos tipos de archivo en carpetas de X niveles de profundidad
(+info https://unix.stackexchange.com/question ... lar-folder)
y estoy intentando adaptarlo para que qbitorrent lo ejecute al terminar una descarga, o por lo menos esa es la idea, ejecutando un script (que no sé si es posible) con la opción "Ejecutar un programa externo al completar el torrent".
Imagen en https://imgur.com/a/mq2tJRy
He creado un archivo .sh tal que:

Código: Seleccionar todo

find -maxdepth 5 -type f -name "*.zipx" -delete
Lo he dejado en la carpeta de descargas del qbittorrent, pero no sucede nada al terminar un torrent... puede que no se permita ejecutar script desde ahí.
¿Os parece buena idea o voy muy perdido?
Saludos.
Avatar de Usuario
klingsor
Pi Master
Pi Master
Mensajes: 460
Registrado: 14 Jul 2017, 12:16
Agradecido: 69 veces
Agradecimiento recibido: 86 veces

En qBittorrent puedes indicarle en la zona de descargas que te excluya archivos durante las descargas.

https://github.com/qbittorrent/qBittorrent/pull/17106

Saludos.
Estos usuarios agradecieron al autor klingsor por el mensaje:
MuadDib69
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Gracias Klingsor, pero en qbitorrent-nox 4.1.5 no existe esa opción...
Avatar de Usuario
klingsor
Pi Master
Pi Master
Mensajes: 460
Registrado: 14 Jul 2017, 12:16
Agradecido: 69 veces
Agradecimiento recibido: 86 veces

He encontrado esto por Reddit:

Código: Seleccionar todo

Doesn't fix it from a downloading perspective to automatically delete them - and delete empty folders;

->open notepad
->paste the following

del Z:\YOURPATH*.txt /s
del Z:\YOURPATH*.nfo /s
del Z:\YOURPATH*.exe /s
del Z:\YOURPATH*.jpg /s
del Z:\YOURPATH*.website /s
del Z:\YOURPATH*.png /s
del Z:\YOURPATH*.sample* /s
del Z:\YOURPATH*sample* /s
del Z:\YOURPATH*-sample* /s
del Z:\YOURPATH*.srt /s
del Z:\YOURPATH*.srr /s
del Z:\YOURPATH*.idx /s
del Z:\YOURPATH*.sub /s

-> Select file
-> save
-> navigate to the folder you have qbittorrent set to download to
-> Copy the path of the folder
-> for the file name use something like "cleanup.bat"
-> for save as type and select all files
-> press save

-> press ctrl + H OR select edit > replace
-> in 'replace with' (second box) paste your file path
-> copy Z:\YOURPATH and paste it in the first box ('Find what')
-> copy the file path from the second 'replace with' box again so that it is in your clipboard for later
-> press replace all
-> press ctrl + s OR select file > save

Go to qBitTorrent
-> press alt + o OR Tools > Options
-> selection "Downloads" on the left
-> Select "Run external program on torrent completion"
-> paste the filepath from your clipboard and add \Cleanup.bat (or whatever filename you choose)
-> select 'Show console window' - optional if you'd like to watch as it runs
-> select apply \ ok

When a download finishes all the files matching those extensions will be deleted.
To include additional file types just copy paste the last row and change the part between the *. and /s with the extension e.g. for .url

del Z:\YOURPATH*.url /s

Optionally the below will delete empty folders in the z:\YOURPATH directory - if you know how to navigate folders in cmd prompt you can modify it to navigate to your download folder.

z: cd YOURPATH for /f "delims=" %%d in ('dir /s /b /ad | sort /r') do rd "%%d"
https://www.reddit.com/r/qBittorrent/co ... ypes_from/

Igual te sirve.

Saludos.
Estos usuarios agradecieron al autor klingsor por el mensaje:
MuadDib69
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Gracias de nuevo, es similar a lo que intento yo, pero en win.
El script funciona ejecutándolo desde consola con ./borramalos.sh en la carpeta de descargas, pero no doy con la ubicación que tengo que poner en el campo del qbittorrent de la imagen (https://imgur.com/a/mq2tJRy)
He probado también ./media/discousb/Desgargas/borramalos.sh
Pero no chuta. Evidentemente no sé como referenciar esa ubicación en el qbittorrent. :borracho
Probaré sin el puntito a ver...
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Te iba a decir lo del punto :-)
Sin punto: ruta absoluta resde raiz (/)
con punto: directorio actual
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Gracias egrueda.
No doy con ello (me cuesta, as usual).
Como no sé lo que qbittorrent cree que es el directorio donde ejecutarlo, he probado también con /media/discousb/Descargas/borra.sh, pero nada.
También he probado la opción de klingsor https://www.reddit.com/r/unRAID/comment ... n_torrent/
con un script adaptado del ejemplo (inventado por mí, of course, 100% de probs de no funcionar), evidentemente tampoco.

Para asegurar conceptos:
1) si el script está ubicado en /media/discousb/Descargas (pongo el ls debajo)

Código: Seleccionar todo

yo@mirapsberry:/media/discousb/Descargas $ ls
borrados.bat  borramalos.sh  borra.sh  PORTADA.jpg  PORTADA.zipx  temp
¿es correcto teclear en esa casilla /media/discousb/Descargas/borra.sh?

2) ¿el archivo bash debe comenzar con un shebang tal que #!/bin/bash?

3) ¿es correcto este script para ejecutar desde la carpeta /media/discousb/Descargas/ y que borre todo archivo *.zipx de la ubicación seleccionada?

Código: Seleccionar todo

#! /bin/bash
rm /media/discousb/Descargas/*.zipx
Gracias por las indicaciones a todos.
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Veo un espacio que no debería estar ahí en el hashbang: #! /bin/bash
Debería ser: #!/bin/bash

Pero no sé si es error del archivo o que se te ha ido al teclearlo aquí.
¿Me lo confirmas?

Por otro lado, ¿qué tipo de sistema de ficheros tienes en /media/discousb/Descargas?
¿Puedse hacer un "ls -la /media/discousb/Descargas"?
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Hola egrueda;
1) El espacio estaba. Borrado. Queda así

Código: Seleccionar todo

#!/bin/bash
rm /media/discousb/Descargas/*.zipx
2) ls -la

Código: Seleccionar todo

YYY@XXX:/media/discousb/Descargas $ ls -la /media/discousb/Descargas
total 424
drwxrwxrwx  4 miusuario miusuario  36864 oct 20 18:20 .
drwxr-xr-x  8 miusuario miusuario   4096 oct 17 22:27 ..
-rwxrw-rw-  1 miusuario miusuario    13 oct 20 10:44 borrados.bat
-rwxrw-rw-  1 miusuario miusuario     47 oct 17 22:29 borramalos.sh
-rwxrw-rw-  1 miusuario miusuario     93 oct 20 18:12 borra.sh
-rwxrwxrw-+ 1 miusuario miusuario 176567 oct  1  2023 PORTADA.jpg
-rwxrw-rw-  1 miusuario miusuario 176567 oct  1  2023 PORTADA.zipx
drwxr-xr-x  4 miusuario miusuario   4096 oct 20 18:08 temp
drwxrwxrwx  2 miusuario miusuario   4096 may 20  2020 .unwanted
Si es por saber si es ejecutable el borra.sh, lo probé entrando desde consola y funcionó... ahora lo he vuelto a probar y no va... demasiadas cosas he tocado.

EXTRABALL que me desconcierta:
tengo otra prueba anterior borramalos.sh que contiene

Código: Seleccionar todo

find -maxdepth 5 -type f -name "*.zipx" -delete
sin el #! /bin/bash y funciona perfectamente cuando tecleo en consola ./borramalos.sh (estando dentro de /media/discousb/Descargas/)
por lo que edito borra.sh quitando el hashbang ese...dejo exactamente rm /media/discousb/Descargas/*.zipx y funciona :)
Toloko me lleva
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Sigo peleando con esto.
Hoy me han llegado 6 archivos mkv.lnk, la cosa se pone fea si se extiende el uso para difundir malware (como ocurrió con el burrito cuando éramos más jóvenes).
Como se ve que desde qbitorrent no puedo lanzarlo, he optado por hacer un script que dejaré en /home/pi y aprenderé como programar su ejecución, pero ese es el paso 2, primero he de conseguir que funcione el script.
Leo por ahí que el comando find tiene una acción -delete (y así lo dice find --help), pero usando esto

Código: Seleccionar todo

find /media/discousb/Descargas/ -maxdepth 5 -name "*.zipx" -type f -delete
...desde la consola, recibo

Código: Seleccionar todo

x@y :~ $ ./borramalos.sh
'ind: predicado desconocido `-delete
Si pruebo sin el -delete

Código: Seleccionar todo

x@y :~ $ find /media/discousb/Descargas/ -maxdepth 5 -name "*.zipx" -type f 
me encuentra todos los archivos de ese tipo que he colocado en subdirectorios exprofeso

Código: Seleccionar todo

x@y:~ $ find /media/discousb/Descargas/ -maxdepth 5 -name "*.zipx" -type f
/media/discousb/Descargas/temp/1/2/3/test.txt.zipx
/media/discousb/Descargas/PORTADA - copia.zipx
pero al añadir la acción -delete al final (que es lo que recomiendan), la cosa no chuta...

¿alguna idea?
Gracias de antebrazo.
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

MuadDib69 escribió: 25 Oct 2024, 21:11 Hoy me han llegado 6 archivos mkv.lnk, la cosa se pone fea si se extiende el uso para difundir malware (como ocurrió con el burrito cuando éramos más jóvenes).
Yo no descargo nada de eso, y descargo a diario. Quizá los trackers desde donde descargas sean... poco fiables xD
MuadDib69 escribió: 25 Oct 2024, 21:11 ...desde la consola, recibo

Código: Seleccionar todo

x@y :~ $ ./borramalos.sh
'ind: predicado desconocido `-delete
Ok, eso es ejecutándolo desde el script.
¿Y si pruebas ejecutándolo desde consola con -delete? ¿funciona?
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Hola de nuevo egrueda, gracias por tu respuesta.
Cuando lo tecleo en consola funciona como un reloj :)
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Ok, si desde consola no te da problema de permisos/usuarios, me hace pensar que el error está en el script.
¿Lo copias-pegas entero a ver dónde está el fallo?
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

El script está ubicado en /home/pi

Código: Seleccionar todo

ls -la
-rwxrw-rw-  1 miusuario miusuario          89 oct 26 11:59  borramalos.sh
Las descargas están en /media/discousb/Descargas/

El script funciona directo pegando en consola, pero no desde archivo

Código: Seleccionar todo

find /media/discousb/Descargas/ -maxdepth 5 -name "*.zipx" -type f -delete
Cuando lo ejecuto vía script:

Código: Seleccionar todo

~ $ ./borramalos.sh
'ind: predicado desconocido `-delete

Si al script añado el #!/bin/bash, quedando así:

Código: Seleccionar todo

#!/bin/bash
find /media/discousb/Descargas/ -maxdepth 5 -name "*.zipx" -type f -delete
responde

Código: Seleccionar todo

~ $ ./borramalos.sh
-bash: ./borramalos.sh: /bin/bash^M: intérprete erróneo: No existe el fichero o el directorio
Y gracias de nuevo.
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Vale, ya veo una pista:

Código: Seleccionar todo

/bin/bash^M
Es por los saltos de línea.
No sé si habrás editado el script desde windows o similar.
¿Puedes cambiar los saltos de línea? Tienes el comando dos2unix para ello ;-)

Paso 1: confirmar que el salto de línea es tipo windows

Código: Seleccionar todo

file borramalos.sh
borramalos.sh: ASCII text, with CRLF line terminators
Paso 2: cambiar el salto de línea:

Código: Seleccionar todo

dos2unix borramalos.sh
dos2unix: converting file test.txt to Unix format...
Paso 3: confirmarlo

Código: Seleccionar todo

file borramalos.sh
borramalos.sh: ASCII text
A ver si es por eso ;-)
Estos usuarios agradecieron al autor egrueda por el mensaje:
MuadDib69
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

vayaaaaaa toallaaaaa :borracho

Código: Seleccionar todo

 $ file borramalos.sh
borramalos.sh: ASCII text, with CRLF line terminators

Código: Seleccionar todo

$ dos2unix borramalos.sh
-bash: dos2unix: orden no encontrada
hago

Código: Seleccionar todo

sudo apt update
sudo apt install -y dos2unix
y luego

Código: Seleccionar todo

$ dos2unix borramalos.sh
dos2unix: convirtiendo archivo borramalos.sh a formato Unix...
y voilá
;)
Funciona con el script...

Esto ha sido como un parto de gemelos. Nacido el primero, voy a aprender a programar la ejecución del script cada X...
Gracias por vuestra paciencia.
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Código: Seleccionar todo

$ crontab -e
no crontab for miusuario - using an empty one
Selecciono nano como editor y meto al final

Código: Seleccionar todo

30 * * * * /media/discousb/Descargas/borramalos1.sh
35 * * * * /media/discousb/Descargas/borramalos2.sh
(uno borra los *.zipx cada hora a y media y otro los *.lnk cada hora a y 35 -espero- porque no he conseguido que funcionase en el mismo script, pero es un mal menor)

Luego sale

Código: Seleccionar todo

crontab: installing new crontab
Y cruzo todos los dedos...
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Funciona todo ok.
He tenido que cambiar los permisos de ejecución del segundo .sh pero finalmente chuta.
Gracias a egrueda y klingsor por su paciencia infinita.
Un saludo
Avatar de Usuario
klingsor
Pi Master
Pi Master
Mensajes: 460
Registrado: 14 Jul 2017, 12:16
Agradecido: 69 veces
Agradecimiento recibido: 86 veces

Me alegro que te haya funcionado, aunque yo poco he colaborado :), una pregunta ¿de dónde bajas los archivos para que aparezcan con esos enlaces sospechosos?, he leído por ahí respecto a ello, pero en mis descargas no encuentro nada de eso.

Saludos.
Avatar de Usuario
MuadDib69
Pi Master
Pi Master
Mensajes: 276
Registrado: 16 Dic 2019, 18:22
Agradecido: 60 veces
Agradecimiento recibido: 13 veces

Pues los pillan Sonarr y Radarr de los indexadores de Prowlarr y Jackett... ¿hay alguna manera fácil de saber de qué indexador viene cada .torrent?... por eliminarlo si veo que vienen del mismo siempre...
Responder