#!/bin/bash

#COLORES
negro="\033[0;30m"
rojo="\033[0;31m"
verde="\033[0;32m"
marron="\033[0;33m"
azul="\033[0;34m"
magenta="\033[0;35m"
cyan="\033[01;36m"
grisC="\033[0;37m"
gris="\033[1;30m"
rojoC="\033[1;31m"
verdeC="\033[1;32m"
amarillo="\033[1;33m"
azulC="\033[1;34m"
magentaC="\033[1;35m"
cyanC="\033[1;36m"
blanco="\033[1;37m"
subrayar="\E[4m"
parpadeoON="\E[5m"
parpadeoOFF="\E[0m"
resaltar="\E[7m"

WPSPIN="./software/./WPSPinGeneratorMOD"
PINS="./software/PINs.goy"

#PROGRAMA QUE MUESTRA LAS REDES WPS QUE 'wash' VA ENCONTRANDO
while true
do
	if [ -e "wps/redes_wps.lst" ]
	then
		break
	else
		sleep 1
	fi
done
while true
do
	cat wps/redes_wps.lst | sed '1,2d' | sort -k 3 -r > wps/redes_wps_sin_titulo.lst
	let LINEAS=`cat wps/redes_wps_sin_titulo.lst | wc -l`
	echo -e "\033[1;1H" #SITUA EL CURSOR EN LA POSICION 1,1
	if [ $LINEAS -eq 0 ]
	then
		echo -e $blanco"\r  BUSCANDO...   \c"
	else
		echo -e $amarillo"         BSSID         CANAL    SEÑAL   VERSION   BLOQUEO    NOMBRE DE RED"
		echo -e $amarillo"   =================   =====    =====   =======   =======    ============="
		let LINEA=1
		while [ $LINEA -le $LINEAS ]
		do
			FILA=`cat wps/redes_wps_sin_titulo.lst | sed -n ${LINEA}p`
			BSSID=`echo "$FILA" | awk '{print $1}'`
			let CANAL=`echo "$FILA" | awk '{print $2}'`
			if [ $CANAL -le 9 ]
			then
				ESPACIO=" "
			else
				ESPACIO=""
			fi
			let SENAL=`echo $FILA | awk '{print $3}'`
			let SENAL=`expr $SENAL + 100`
			VERSION=`echo $FILA | awk '{print $4}'`
			BLOQUEO=`echo "$FILA" | awk '{print $5}'`
			BLOQUEO=`echo $BLOQUEO | sed 's/Yes/SI/' | sed 's/No/NO/'`
			NOMBRE_RED=`echo "$FILA" | awk '{print substr ($0,57,100)}'`
			BSSID_3PARES=`echo "$BSSID" | head --bytes 8`
			MARCA=`grep "$BSSID_3PARES" "$WPSPIN"`
			if [ "$MARCA" != "" ]
			then
				MARCA='#'
			else
				MARCA=`grep "$BSSID_3PARES" "$PINS"`
				if [ "$MARCA" != "" ]
				then
					MARCA='*'
				else
					MARCA=' '
				fi
			fi
			MAC_GUIONES=`echo $BSSID | awk '{gsub(/:/,"-"); print}'`
			EXISTE_KEY=`find wifis | grep "$NOMBRE_RED ($MAC_GUIONES).txt"`
			EXISTE_SESION=`find wps/sesiones | grep "$NOMBRE_RED ($MAC_GUIONES).wps"`
			if [ ! "$EXISTE_KEY" = "" ]
			then
				COLOR="$magenta" #SI YA CONSEGUIMOS LA CLAVE ANTES APARECERA LA RED EN MAGENTA
			else
				if [ ! "$EXISTE_SESION" = "" ]
				then
					COLOR="$marron" #SI TENEMOS SESION ANTERIOR GUARDADA APARECERA EN MARRON
				else
					COLOR="$blanco" #SI NO SE DAN LOS CASOS ANTERIORES APARECERA EN BLANCO
				fi
			fi
			if [ "$BLOQUEO" = "SI" ]
			then
				COLOR="$rojoC"
			fi
			echo -e $COLOR" $MARCA $BSSID    $ESPACIO$CANAL       $SENAL%      $VERSION       $BLOQUEO       $NOMBRE_RED\033[K"
			let LINEA=$LINEA+1
			
		done
		echo
	fi
	sleep 2
done
