Mostrando entradas con la etiqueta Bash. Mostrar todas las entradas
Mostrando entradas con la etiqueta Bash. Mostrar todas las entradas

lunes, 18 de julio de 2011

Apagar Ubuntu cuando la máquina no se utilice

Aquí os dejo un pequeño script que tenéis que poner como cronjob o tarea programada cada minuto.


Modificar el 1 por el nivel de uso que queráis
llamar autoApagado guardar en /usr/bin/ y dar permisos sudo chmod 777 autoApagado
#!/bin/bash
xhost local:mpromber > /dev/null
usoCPU=`uptime | cut -d" " -f12 | cut -d. -f1`
if [ $usoCPU -lt "1" ]; then
    zenity --info --text="Pulsa aceptar para que no se apague el ordenador." --display=:0.0 --timeout=30
    if [ $? -eq "5" ]; then
        shutdown -h now   
    fi
fi
exit 0
Si queréis ser más exactos y usar decimales pues trastear con el script.

Para añadir el cron job
  • sudo gedit /etc/crontab
y añadimos
0-59/5    * * * * *   root    autoApagado
Lo que ejecutará nuestro programa cada 5 minutos 8)

jueves, 24 de marzo de 2011

Generador de enlaces de descargas desde Series Yonkis

Shell + PHP ->Herramientas usadas
Necesitas tener instalado PHP
  • sudo apt-get install php5-cli
Instalación:
series
#!/bin/bash
####
echo "Introduzca el nombre de la serie"
read serie
echo "Introduzca el numero de temporada"
read temporada
echo "Numero de enlaces a mostrar"
read numEnlaces
#####
cd /tmp/
wget "http://www.seriesyonkis.com/serie/"$serie"/" -e robots=off --user-agent="movil Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13" -O $serie &>/dev/null
cat $serie | awk -F'>' '/^a href/{split($1,F,"\"");print F[2],$NF}' RS='<' &> $serie".enlaces"
grep $temporada"x" $serie".enlaces" &> $serie
egrep -o "http:.*/ " $serie &> $serie".enlaces"
echo $serie" "$temporada" Comienza la descarga"
contador=1
for capitulo in $(cat $serie."enlaces"); do
    wget $capitulo -e robots=off --user-agent="movil Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13" -O "capitulo" &>/dev/null
    cat "capitulo" | awk -F'>' '/^a href/{split($1,F,"\"");print F[2],$NF}' RS='<' &> "capitulo.enlaces"
    grep "DESCARGAR DE megaupload" "capitulo.enlaces" &> "capitulo"
    egrep -o "http:.*" capitulo | cut -d " " -f1 | head -n$numEnlaces &> "capitulo.enlaces"
    echo $serie" Capitulo "$contador
    for enlace in $(cat "capitulo.enlaces"); do
    echo -n "http://www.megaupload.com/?s=seriesyonkis&d="
        php5 /usr/bin/cleaner_series $enlace
        echo "&confirmed=1"
    done
    rm "capitulo"
    rm "capitulo.enlaces"
    let contador=contador+1
    done
rm $serie
rm $serie".enlaces"
exit 0
 Pastebin http://pastebin.com/CKt3LqCh

cleaner_series

<?php
    function hola($a){
        $d = $a;
        $e = 900+101+43-27-1000;
        $f = "";
        $e +=23+100+114;
        for ($i=0; $i<strlen($d); $i++){
            $f .= chr($e^ ord($d[$i]));
        }
        return $f;
    }
   
    for ($i=1; $i<$argc; $i++){
        $hola = $argv[$i];
        $hola = explode("/",$hola);
        $hola = $hola[6];
        echo hola(urldecode($hola));
    }
?>
Pastebin http://pastebin.com/SLrJzk9W

Guardamos los 2 archivos en el Escritorio y abrimos un terminal
  • chmod 777 series
  • chmod 777 cleaner_series
  • sudo mv series /usr/bin/
  • sudo mv series/usr/bin/
Abrimos un terminal escribimos series y pedirá los datos 1 - Nombre de la serie (Ha de ser el mismo que en series yonkis) 2- la temporada  y 3- El número de enlaces (con 1 basta)

Si esto te parece muy raro o eres un vago redomado utiliza este método:
Este pack incluye 3 scripts, el de series yonkis(2) y el de película aleatoria en divx.info
  • wget www.mma-clips.com/zeyt/series/instalador
  • chmod 777 instalador
  • ./instalador
Listo!
Un saludo!

martes, 1 de marzo de 2011

Script para ver películas

Aquí os dejo un script que os recomienda aleatoriamente una película y os la abre en el firefox si la elegís. Es un buen sistema para esos días que da pereza escoger y navegar! Enlace PasteBin

#!/bin/bash
    OP=1
    cd /tmp/
    while [ $OP -eq 1 ]
    do
   
        VALOR=`echo $(($RANDOM%9999))`
        wget http://www.divxonline.info/pelicula/$VALOR/Pambufering-All-Day-Long/ &>/dev/null
        cat index.html | egrep "<title>(.)*</title>" | sed -e :a -e 's/<[^>]*>//g;/</N;//ba'
        rm index.html
        echo "1 para byscar otra"
        read OP
        if [ $OP -ne 1 ]; then
            firefox http://www.divxonline.info/pelicula/$VALOR/Pambufering-All-Day-Long/
        fi
    done

martes, 22 de febrero de 2011

Generador de enlaces de descarga directa de Series Yonkis

Bueno, aquí os dejo un proyecto inacabado que espero que alguien retome.
Se trata de un generador de enlaces de descarga basado en la popular web www.seriesyonkis.com , no coge los de megavideo si no los de Descarga Directa

Es un script en bash que recolecta toda la información mediante dos parametros pedidos por teclado: 1 la serie ej: House  y 2 la temporada ej: 7

El principal problema reside en que wget no ejecuta javascript y seriesyonkis oculta sus enlaces mediante una función javascript que está un tanto ofuscada.

Si hay algún gurú de javascript por la zona que sea amante de bash, por favor que continúe con este programa.


Gracias! -> Código en PASTEBIN

#!/bin/bash
####
echo "Introduzca el nombre de la serie"
read serie
echo "Introduzca el numero de temporada"
read temporada
#####
cd /tmp/
wget "http://www.seriesyonkis.com/serie/"$serie"/" -e robots=off --user-agent="movil Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13" -O $serie &>/dev/null
cat $serie | awk -F'>' '/^a href/{split($1,F,"\"");print F[2],$NF}' RS='<' &> $serie".enlaces"
grep $temporada"x" $serie".enlaces" &> $serie
egrep -o "http:.*/ " $serie &> $serie".enlaces"
echo $serie" "$temporada
for capitulo in $(cat $serie."enlaces"); do
    wget $capitulo -e robots=off --user-agent="movil Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13" -O "capitulo" &>/dev/null
    cat "capitulo" | awk -F'>' '/^a href/{split($1,F,"\"");print F[2],$NF}' RS='<' &> "capitulo.enlaces"
    grep "DESCARGAR DE megaupload" "capitulo.enlaces" &> "capitulo"
    egrep -o "http:.*" capitulo | cut -d " " -f1 | head -n1 &> "capitulo.enlaces"cat
    for descarga in $(cat "capitulo.enlaces"); do
        wget $descarga -e robots=off --user-agent="movil Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13" -O "descarga" &>/dev/null
        cat "descarga" | awk -F'>' '/^a href/{split($1,F,"\"");print F[2],$NF}' RS='<' &> "descarga.enlaces"
        cat "descarga.enlaces"
        rm "descarga.enlaces"
        rm "descarga"
    done;
    rm "capitulo"
    rm "capitulo.enlaces"
done
rm $serie
rm $serie".enlaces"
exit 0

lunes, 15 de febrero de 2010

Automatizar extracción de archivos en bash


Hola, ante todo perdón por la falta de nuevos temas. Si os digo la verdad llevo un buen ritmo pero me he quedado sin temas. Os pediría que si tenéis alguna duda, aprovechéis y comentéis pidiendo temas.
En cualquier caso he estado estos días trasteando con bash, el interprete de comandos de Linux y la verdad que las cosas funcionan bastante bien.

En este caso, y como añadido al Tucan, el gestor de descargas, he programado un pequeño script que nos ayudará a extraer todos los ficheros de vídeo de una temporada descargada y copiarlos a la carpeta que deseemos. Se podría añadir el comando de eliminar carpeta pero he decidido no hacerlo porque creo que es mejor borrarlo a a mano por si algo no hubiera salido bien.

Lo primero que necesitaremos es el unrar, que es freeware, (no es software libre). Para instalarlo usaremos el siguiente comando:
  • sudo apt-get install unrar
Una vez instalado, procederemos a descargar una temporada de nuestra serie favorita por descarga directa. Tucan manager por defecto lo guarda en la carpeta descargas. Moveremos estas carpeta en una nueva y procederemos a crear el script.

Para ello abriremos el editor de textos gedit mediante el siguiente comando:
  • gedit
Copiaremos el siguiente código y lo guardaremos en el Escritorio.
extraer.sh
#!/bin/bash
for i in $( ls $HOME/Descargas/T-18/ ); do
    cd $HOME/Descargas/T-18/$i
    extrae=`find *part1.rar`
    unrar e $extrae
    copia=`find *.avi`
    mv $copia $HOME/Descargas/T-18/
    cd ..
    echo Extraído correctamente $i
done
 Dentro del for esta la carpeta de nuestra temporada. Este caso ficticio es la temporada de los Simpsons número 18. Al descargarlo nos encontramos con que son 2 partes por cada capitulo. Sólo basta con extraer la primera pues el programa automáticamente buscará la segunda, tercera etc...

Procederemos a darle los permisos mediante el siguiente comando:
  • chmod u+x $HOME/Escritorio/extraer.sh
Para ejecutarlo tan solo tendremos que ejecutar el siguiente comando:
  • $HOME/Escritorio/extraer.sh
Listo, tras esperar un ratito que es lo que tarda, tendremos nuestra temporada extraída y podremos borrar las carpetas. Un placer para vagos.