Esta página contendrá partes de códigos, o códigos enteros programados por nosotros. El objetivo en principio es el de UTILIDAD (por si a alguien le puedan servir los pequeños scripts que nos creamos para uso personal).
También se colgarán Scripts incompletos, y con bugs, por los cuales serán bienvenidos correcciones y comentarios.
Un posible wlandecryter
Por mucha gente es conocido el Wlandecryter, que proporciona, una vez ejecutado, un diccionario para desencriptar las claves por defecto de los routers de Imagenio de Timofónica!.
Pues bien, como hace tiempo, no encontraba este pequeño programilla por ninguna parte, me creé uno bastante rudimentario (hecho en Bash Script), que necesita más tiempo para crear el diccionario y no detecta automáticamente el la marca del Router por el BSSID (por lo que no comprueba si coincide con algún bessid ya anteriormente utilizado). Al no comprobar de qué marca se trata, o sabes tu mismo cuál es, o le das a crear el diccionario con las tres posibles opciones (con lo que tardará más aun si cabe).
Pues nada, el código en cuestión es este:
#!/bin/sh
#Generador de diccionarios
# "Z","X","C"+"primeros 6 caracteres del BSSID"+"4núm de 0000 hasta FFFF en hexadecimal"+"XX del WLAN_XX"
##fun operar (crea, mediante el bucle while la secuencia hexadecimal)
function fun_operar {
CONTADOR=0
while [ $CONTADOR -le 65535 ]; do
echo $letra$mac$(printf "%04X\n" $CONTADOR)$xx >> $salida
let CONTADOR=CONTADOR+1
done
}
################################
## AQUÍ EMPIEZA ##
################################
#Borrar pantalla
clear
## Comprobar lanzamiento:
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
echo '¡ATENCIÓN, MAL INICIADO!, ejemplos:'
echo 'uso: '$0' <6 primeros caracteres del BSSID> '
exit
fi
#Cargar los parametros:
mac=$1
xx=$2
salida=$3
## Borrar el contenido de posible fichero anterior:
echo ' ' > $salida
## Bifurcar:
echo '¿Que router quieres utilizar?:'
OPCIONES="ZyXEL Xavi Comtred Todos"
select opt in $OPCIONES; do
if [ "$opt" = "ZyXEL" ]; then
letra=Z
fun_operar
exit
elif [ "$opt" = "Xavi" ]; then
letra=X
fun_operar
exit
elif [ "$opt" = "Comtred" ]; then
letra=C
fun_operar
exit
elif [ "$opt" = "Todos" ]; then
letra=Z
fun_operar
letra=X
fun_operar
letra=C
fun_operar
exit
else
clear
echo 'Opción errónea'
fi
done
Crea iconos para idesk de forma guiada
Este es un programilla también en Bash que le creé a mi cuñado por si quería añadir iconos a su escritorio (en un portátil antiguo que le preparé con unas versión de Debian con una escritorio poco pesado como Fluxbox. El programa simplemente, puede crear, editar y borrar los iconos del programa idesk y al final del flujo comprueba si tienes lanzado idesk. Tiene algún bug que otro, pero cumple su función principal (ayudar a alguien que no tiene mucha idea a crearse unos iconos). Si alguien lo quiere ya sabe, pueden mejorarlo muchísimo…
#!/bin/bash
################################################################
#Crear iconos de manera facil para idesk - aabilio@gmail.com - #
################################################################
#Función para presentar el programa:
function fun_presentacion {
echo ''
echo ''
echo ' ##################################'
echo ' # Crea y edita iconos #'
echo ' # de manera guiada #'
echo ' # para idesk #'
echo ' ##################################'
echo ''
echo ''
}
#Funcion para ver si existe proceso de idesk como dato informativo:
function fun_comprobar_proceso {
pidof idesk > /dev/null; num=$(echo $?)
if [ "$num" = 1 ]; then
echo 'ATENCIÓN, idesk no se está ejecutando, puede que no esté instalado'
echo 'Si estás seguro que está instaldo'
echo '¿Quieres ejecutarlo ahora? s/n'
read opci
if [ "$opci" = "s" ]; then
echo 'Ejecutando'
idesk &
fun_embellecedor
else
echo 'OK'
fi
fi
}
#Función de embellecedor:
function fun_embellecedor {
echo -n '*'
sleep 0.6
echo -n '*'
sleep 0.6
echo -n '*'
sleep 0.6
echo -n '*'
sleep 0.6
echo -n '*'
sleep 0.6
echo '*'
}
#Funcion para comprobar el lanzamiento: (INCLUIDO AL FINAL EN "FUNCTION MAIN")
#function fun_comprobar {
#echo '¡ATENCIÓN, MAL INICIADO!, ejemplos:'
#if [ -z "$1" ]; then
# echo 'uso: '$0' nuevo: Si quiere nuevo icono'
# echo 'uso: '$0' modificar [ruta_al_icono]: Si quiere modificar icono'
# exit
#fi
#}
#Función para crear iconos nuevos:
function fun_crear {
if [ -n "$temp_icono_elegido" ]; then
nombre_icono=$temp_icono_elegido
unset $temp_icono_elegido
echo 'Creando Icono con nombre: '$nombre_icono'.lnk'
echo ''
fi
if [ -z "$nombre_icono" ]; then
echo 'Introduce el nombre del archivo del icono: '
read nombre_icono
fi
echo 'Introduce el nombre del icono: '
read programa
echo 'Introduce el comando a ejecutar: '
read comando
echo 'Escoge una imagen para el icono: '
sleep 1.5
icono=$(cd /usr/share/pixmaps && zenity --title="Selecciona una imagen para el icono" --file-selection)
echo $icono
echo 'Introduce la coordenada X: '
read x
echo 'Introduce la coordenada Y: '
read y
echo 'Creando Icono'
fun_embellecedor
touch $HOME/.idesktop/$nombre_icono.lnk
echo 'table Icon #No tocar!'>> $HOME/.idesktop/$nombre_icono.lnk
echo 'Caption: '$programa' #Nombre del icono' >> $HOME/.idesktop/$nombre_icono.lnk
echo 'Command: '$comando' #Comando para iniciar el programa!' >> $HOME/.idesktop/$nombre_icono.lnk
echo 'Icon: '$icono' #Ruta de la imagen del icono' >> $HOME/.idesktop/$nombre_icono.lnk
echo 'X: '$x' #Tamaño X del icono' >> $HOME/.idesktop/$nombre_icono.lnk
echo 'Y: '$y' #Tamaño Y del icono' >> $HOME/.idesktop/$nombre_icono.lnk
echo 'end #No tocar!' >> $HOME/.idesktop/$nombre_icono.lnk
echo '#Creado con easy-idesk' >> $HOME/.idesktop/$nombre_icono.lnk
echo ''
echo 'FELICIDADES! Has acabado de crear tu icono'
echo 'Creando menú (Si no aparece pulsar ENTER)'
}
#Función para editar iconos ya creados:
function fun_editar {
#if [ -z "$2" ]; then (INCLUIDO AL FINAL EN "FUNCTION MAIN")
# echo '¿Qué icono quieres editar?'
# find $HOME/.idesktop/ -name '*.lnk' | zenity --progress --pulsate
# cd $HOME/.idesktop/ && ls *.lnk
# echo 'escribe uno o pulsa "g" para hacerlo graficamente'
# read icono_elegido
# if [ "$icono_elegido" = "g" ]; then
# icono_elegido=$(cd $HOME/.idesktop/ && zenity --title="Selecciona el icono a editar" --file-selection)
# fihttp://guide.opendns.com/?url=variables+locales+en+bash&client=ff20
#else
# icono_elegido=$2
#fi # ya tengo almacenada en "icono_elegido" la ruta del fichero que quiero editar, ahora comporbar si existe:
#AQUI YA LLEGA con el "icono_elegido" escogido en la "funcion main" del programa
clear
echo 'Has elegido editar: '$icono_elegido
echo ''
echo "Modifiquemos entonces las características del icono"
echo 'Cargando editor'
sleep 1.5
fun_embellecedor
editor $icono_elegido
echo 'CARACTERÍSTICAS CAMBIADAS!'
echo ''
echo 'Quieres cambiar el nombre al archivo del icono?'
OPTIONS="si no"
select opc in $OPTIONS; do
if [ "$opc" == "si" ]; then
echo 'Introduce el nuevo nombre (sin extensión): '
read nuevo_nombre
mv $icono_elegido $HOME/.idesktop/$nuevo_nombre.lnk
break
elif [ "$opc" = "no" ]; then
clear
fun_presentacion
echo 'OK'
echo ''
break
else
echo 'Opción errónea, elige otra'
echo 'ENTER para volver a mostrar menú'
fi
done
echo 'FELICIDADES! Has acabado de editar tu icono'
echo ''
echo 'Creando menú (Si no aparece pulsar ENTER)'
}
#Función para volver a empezar:
function fun_empezar {
echo 'Eliga entre estas opciones: '
OPCIONES="crear editar borrar salir"
select opt in $OPCIONES; do
if [ "$opt" == "crear" ]; then
clear
fun_presentacion
fun_crear
fun_embellecedor
elif [ "$opt" = "editar" ]; then
clear
fun_presentacion
if [ -z "$2" ]; then
echo 'Cargando Iconos ya creados'
echo ''
#find $HOME/.idesktop/ -name '*.lnk' | zenity --progress --pulsate ##No queda bien
fun_embellecedor
echo ''
cd $HOME/.idesktop/ && ls *.lnk
echo ''
echo '¿Qué icono quieres editar?'
echo 'Escribe uno o pulsa "g" para hacerlo graficamente'
read icono_elegido
if [ "$icono_elegido" = "g" ]; then
icono_elegido=$(cd $HOME/.idesktop/ && zenity --title="Selecciona el icono a editar" --file-selection)
else
icono_elegido=$HOME/.idesktop/$icono_elegido
fi
else
icono_elegido=$2
fi
#un if para comprobar si existe y si no eviarlo a fun_crear en vez de a fun_editar
if [ -f "$icono_elegido" ]; then
fun_editar
else
echo 'El icono '\"$(echo $icono_elegido | cut -d/ -f5)\"' no exite, ¿desea crearlo? s/n'
read opc_temp_icono_elegido
if [ "$opc_temp_icono_elegido" = "s" ]; then #Implementar bucle para salvar el error!!!
temp_icono_elegido=$(echo $icono_elegido | cut -d/ -f5 | cut -d. -f1)
fun_crear
else
echo 'OK'
fi
fi
fun_embellecedor
elif [ "$opt" = "salir" ]; then
clear
fun_presentacion
fun_comprobar_proceso
echo ''
echo ''
echo ''
echo ''
echo 'Saliendo'
fun_embellecedor
clear
exit
elif [ "$opt" = "borrar" ]; then
fun_borrar
fun_embellecedor
fun_empezar
else
clear
fun_presentacion
echo 'Opción errónea, elige otra'
echo 'ENTER para volver a mostrar menú'
fi
done
}
function fun_borrar {
echo 'Cargando los Iconos presentes'
echo ''
#find $HOME/.idesktop/ -name '*.lnk' | zenity --progress --pulsate ##No queda bien
fun_embellecedor
echo ''
cd $HOME/.idesktop/ && ls *.lnk
echo ''
echo '¿Qué icono quieres borrar?'
echo 'Escribe uno o pulsa "g" para hacerlo graficamente'
read icono_borrar
if [ "$icono_borrar" = "g" ]; then
icono_borrar=$(cd $HOME/.idesktop/ && zenity --title="Selecciona el icono para borrar" --file-selection)
else
icono_borrar=$HOME/.idesktop/$icono_borrar
fi
echo ''
echo 'Borrando icono: '$icono_borrar
rm $icono_borrar
fun_embellecedor
echo ''
echo 'ICONO BORRADO SATISFACTORIAMENTE'
echo ''
}
############################################################################
########### AQUÍ EMPIEZA EL PROGRAMA #############
############################################################################
#Borrar pantalla:
clear
#Presentar:
fun_presentacion
#Comprobar el Lanzamiento:
if [ -z "$1" ]; then
echo '¡ATENCIÓN, MAL INICIADO!, ejemplos:'
echo 'uso: '$0' nuevo: Si quiere nuevo icono'
echo 'uso: '$0' modificar [/ruta/al/icono.lnk]: Si quiere modificar icono'
echo 'uso: '$0' borrar'
exit
fi
#Comprobar si existe la carpeta .idesktop:
#Bifurcar entre crear o editar:
if [ "$1" = "crear" ]; then
fun_crear
fun_embellecedor
fun_empezar
elif [ "$1" = "editar" ]; then
if [ -z "$2" ]; then
echo '¿Cargando Iconos ya creados?'
echo ''
#find $HOME/.idesktop/ -name '*.lnk' | zenity --progress --pulsate ##No queda bien
fun_embellecedor
echo ''
cd $HOME/.idesktop/ && ls *.lnk
echo ''
echo '¿Qué icono quieres editar?'
echo 'Escribe uno o pulsa "g" para hacerlo graficamente'
read icono_elegido
if [ "$icono_elegido" = "g" ]; then
icono_elegido=$(cd $HOME/.idesktop/ && zenity --title="Selecciona el icono a editar" --file-selection)
else
icono_elegido=$HOME/.idesktop/$icono_elegido
fi
else
icono_elegido=$2
fi
#hacer un if para comprobar si existe y si no eviarlo a fun_crear en vez de a fun_editar
if [ -f "$icono_elegido" ]; then
fun_editar
else
echo 'El icono '\"$(echo $icono_elegido | cut -d/ -f5)\"' no existe, ¿desea crearlo? s/n'
read opc_temp_icono_elegido
if [ "$opc_temp_icono_elegido" = "s" ]; then #Implementar bucle para q pregunte otra vez en caso d error
temp_icono_elegido=$(echo $icono_elegido | cut -d/ -f5 | cut -d. -f1)
fun_crear
else
echo 'OK'
fi
fi
fun_embellecedor
fun_empezar
elif [ "$1" = "borrar" ]; then
fun_borrar
fun_enbellecedor
fun_empezar
else
echo 'No has introducido una opción correcta'
echo 'Creando menú'
fun_embellecedor
fun_empezar
fi
valen caympa