Update some scripts

This commit is contained in:
Manuel Vergara 2024-02-24 00:21:04 +01:00
parent 3cd7b9bfaf
commit 1d62cd3a86
6 changed files with 92 additions and 72 deletions

View File

@ -1,4 +1,4 @@
#!/bin/sh !/bin/bash
set -o errexit set -o errexit
# Script: create_kind_cluster.sh # Script: create_kind_cluster.sh
@ -9,38 +9,39 @@ set -o errexit
# Web: https://vergaracarmona.es # Web: https://vergaracarmona.es
# #
COLOR_RED='\033[0;31m' COLOR_RED='\033[0;31m'
COLOR_RESET='\033[0m' COLOR_RESET='\033[0m'
# Control de salida con Ctrl + C # Control de salida con Ctrl + C
function ctrl_c() { function ctrl_c() {
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}" echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
tput cnorm; exit 1 exit 1
} }
# Ctrl+C # Ctrl+C
trap ctrl_c SIGINT trap ctrl_c SIGINT
# Función para configurar el registro Docker local # Función para configurar el registro Docker local
configurar_registro_local() { configurar_registro_local() {
reg_name='kind-registry' reg_name='kind-registry'
reg_port='5001' reg_port='5001'
if [ "$(docker inspect -f '{{.State.Running}}' "${reg_name}" 2>/dev/null || true)" != 'true' ]; then # Eliminar el contenedor existente si es necesario
docker run -d --restart=always -p "127.0.0.1:${reg_port}:5000" --name "${reg_name}" registry:2 docker rm -f "${reg_name}" || true
# Verificar si la red "kind" existe, si no, crearla
if [ -z "$(docker network ls --filter name=kind -q)" ]; then
docker network create kind
fi fi
if [ "$(docker inspect -f='{{json .NetworkSettings.Networks.kind}}' "${reg_name}")" = 'null' ]; then # Iniciar el contenedor del registro Docker local
docker network connect "kind" "${reg_name}" docker run -d --restart=always -p "127.0.0.1:${reg_port}:5000" --network="kind" --name "${reg_name}" registry:2
fi
} }
# Función para documentar el registro local # Función para documentar el registro local
documentar_registro_local() { documentar_registro_local() {
reg_port='5001' reg_port='5001'
echo "\nConfigurando el registro local...\n" echo -e "\nConfigurando el registro local...\n"
cat <<EOF | kubectl apply -f - cat <<EOF | kubectl apply -f -
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
@ -56,7 +57,7 @@ EOF
# Función para instalar el controlador Ingress NGINX # Función para instalar el controlador Ingress NGINX
instalar_ingress_nginx() { instalar_ingress_nginx() {
echo "\nInstalando el controlador Ingress NGINX...\n" echo -e "\nInstalando el controlador Ingress NGINX...\n"
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
} }

View File

@ -1,4 +1,4 @@
# /bin/bash #!/bin/bash
# Script: check_http_status.sh # Script: check_http_status.sh
# Descripción: Este script verifica el código de estado HTTP de una o varias URL. # Descripción: Este script verifica el código de estado HTTP de una o varias URL.
@ -15,7 +15,8 @@ COLOR_RESET='\033[0m'
# Control de salida con Ctrl + C # Control de salida con Ctrl + C
function ctrl_c() { function ctrl_c() {
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}" echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
tput cnorm; exit 1 tput cnorm
exit 1
} }
# Ctrl+C # Ctrl+C
@ -33,7 +34,7 @@ if [ "${1##*.}" == "txt" ]; then
# Si se proporciona un archivo de texto, leer las URL y verificar los códigos de estado HTTP # Si se proporciona un archivo de texto, leer las URL y verificar los códigos de estado HTTP
while read -r line; do while read -r line; do
verificar_codigo_estado "$line" verificar_codigo_estado "$line"
done < "$1" done <"$1"
else else
# Si se proporciona una URL directamente, verificar el código de estado HTTP # Si se proporciona una URL directamente, verificar el código de estado HTTP
verificar_codigo_estado "$1" verificar_codigo_estado "$1"

View File

@ -10,14 +10,14 @@
# Web: https://vergaracarmona.es # Web: https://vergaracarmona.es
# #
COLOR_RED='\033[0;31m' COLOR_RED='\033[0;31m'
COLOR_RESET='\033[0m' COLOR_RESET='\033[0m'
# Control de salida con Ctrl + C # Control de salida con Ctrl + C
function ctrl_c() { function ctrl_c() {
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}" echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
tput cnorm; exit 1 tput cnorm
exit 1
} }
# Ctrl+C # Ctrl+C
@ -92,9 +92,8 @@ while IFS= read -r program; do
echo -e "\e[31mError al obtener la última versión de $program: $latest_version\e[0m" echo -e "\e[31mError al obtener la última versión de $program: $latest_version\e[0m"
fi fi
print_newline print_newline
done < "$input_file" done <"$input_file"
# Listar las instalaciones actuales # Listar las instalaciones actuales
echo -e "\nListado de instalaciones actuales:" echo -e "\nListado de instalaciones actuales:"
list_asdf_current list_asdf_current

View File

@ -1,15 +1,15 @@
#! /bin/bash #!/bin/bash
# Colores # Colores
BLUE="\033[34m" BLUE="\033[34m"
RED="\033[31m" RED="\033[31m"
NOCOLOR="\033[0m" NOCOLOR="\033[0m"
# Control de salida con Ctrl + C # Control de salida con Ctrl + C
function ctrl_c() { function ctrl_c() {
echo -e "${RED}\n\n[!] Saliendo... \n${NOCOLOR}" echo -e "${RED}\n\n[!] Saliendo... \n${NOCOLOR}"
tput cnorm; exit 1 tput cnorm
exit 1
} }
# Ctrl+C # Ctrl+C
@ -20,6 +20,5 @@ for fichero in $(ls); do
if [[ -f "$fichero" ]]; then if [[ -f "$fichero" ]]; then
cuenta=$(cat "$fichero" | wc -l) cuenta=$(cat "$fichero" | wc -l)
echo -e "El fichero ${BLUE}$fichero ${NOCOLOR}tiene ${RED}$cuenta ${NOCOLOR}lineas" echo -e "El fichero ${BLUE}$fichero ${NOCOLOR}tiene ${RED}$cuenta ${NOCOLOR}lineas"
fi fi
done done

View File

@ -10,7 +10,8 @@ COLOR_RESET='\e[0m'
# Control de salida con Ctrl + C # Control de salida con Ctrl + C
function ctrl_c() { function ctrl_c() {
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}" echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
tput cnorm; exit 1 tput cnorm
exit 1
} }
# Ctrl+C # Ctrl+C
@ -23,11 +24,11 @@ function print_title {
local total_length=22 local total_length=22
# Calcular el tamaño del margen izquierdo y derecho # Calcular el tamaño del margen izquierdo y derecho
local margin_length=$(( (total_length - title_length - 4) / 2 )) local margin_length=$(((total_length - title_length - 4) / 2))
# Asegurarse de que el número total de almohadillas sea siempre 22 # Asegurarse de que el número total de almohadillas sea siempre 22
local left_padding=$(( margin_length )) local left_padding=$((margin_length))
local right_padding=$(( margin_length + (title_length % 2) )) local right_padding=$((margin_length + (title_length % 2)))
echo -e "${COLOR_BLUE}\n$(printf '#%.0s' $(seq 1 $left_padding))#### $title ####$(printf '#%.0s' $(seq 1 $right_padding))\n${COLOR_RESET}" echo -e "${COLOR_BLUE}\n$(printf '#%.0s' $(seq 1 $left_padding))#### $title ####$(printf '#%.0s' $(seq 1 $right_padding))\n${COLOR_RESET}"
} }
@ -63,7 +64,10 @@ print_network_table() {
# Comprobación de dependencias # Comprobación de dependencias
check_dependencies() { check_dependencies() {
for cmd in "jq" "nordvpn" "speedtest"; do for cmd in "jq" "nordvpn" "speedtest"; do
command -v "$cmd" >/dev/null 2>&1 || { echo >&2 "${COLOR_RED}$cmd no está instalado. Instálalo con 'sudo apt-get install $cmd'${COLOR_RESET}"; exit 1; } command -v "$cmd" >/dev/null 2>&1 || {
echo >&2 "${COLOR_RED}$cmd no está instalado. Instálalo con 'sudo apt-get install $cmd'${COLOR_RESET}"
exit 1
}
done done
} }
@ -79,7 +83,7 @@ network_info=()
# Comprobar conexión # Comprobar conexión
check_connection() { check_connection() {
print_title "COMPROBAR CONEXIÓN" print_title "COMPROBAR CONEXIÓN"
if ping -c 1 -W 2 8.8.8.8 > /dev/null 2>&1; then if ping -c 1 -W 2 8.8.8.8 >/dev/null 2>&1; then
echo -e "\t${COLOR_GREEN}Conexión exitosa con 8.8.8.8${COLOR_RESET}" echo -e "\t${COLOR_GREEN}Conexión exitosa con 8.8.8.8${COLOR_RESET}"
else else
echo -e "\t${COLOR_RED}Error de conexión con 8.8.8.8${COLOR_RESET}" echo -e "\t${COLOR_RED}Error de conexión con 8.8.8.8${COLOR_RESET}"
@ -89,7 +93,7 @@ check_connection() {
# Probar la conexión con el router # Probar la conexión con el router
router_ip=$(get_router_ip "$default_interface") router_ip=$(get_router_ip "$default_interface")
if ping -c 1 -W 2 "$router_ip" > /dev/null 2>&1; then if ping -c 1 -W 2 "$router_ip" >/dev/null 2>&1; then
echo -e "\t${COLOR_GREEN}Conexión exitosa con el router ($router_ip)${COLOR_RESET}" echo -e "\t${COLOR_GREEN}Conexión exitosa con el router ($router_ip)${COLOR_RESET}"
else else
echo -e "\t${COLOR_RED}Error de conexión con el router ($router_ip)${COLOR_RESET}" echo -e "\t${COLOR_RED}Error de conexión con el router ($router_ip)${COLOR_RESET}"
@ -123,7 +127,6 @@ check_websites() {
done done
} }
# Obtener las interfaces de red # Obtener las interfaces de red
get_interfaces() { get_interfaces() {
print_title "TARJETAS DE RED" print_title "TARJETAS DE RED"
@ -159,7 +162,7 @@ speed_test() {
} }
# Realizar traceroute # Realizar traceroute
traceroute(){ traceroute() {
print_title "TRACEROUTE" print_title "TRACEROUTE"
mtr -c 3 -n -r 8.8.8.8 mtr -c 3 -n -r 8.8.8.8
} }
@ -188,7 +191,11 @@ main_menu() {
6) nordvpn_connect ;; 6) nordvpn_connect ;;
7) speed_test ;; 7) speed_test ;;
8) traceroute ;; 8) traceroute ;;
9) echo -e "${COLOR_RED}\nSaliendo...\n${COLOR_RESET}"; tput cnorm; exit 0 ;; 9)
echo -e "${COLOR_RED}\nSaliendo...\n${COLOR_RESET}"
tput cnorm
exit 0
;;
*) echo -e "${COLOR_RED}\nOpción inválida. Inténtelo de nuevo.${COLOR_RESET}" ;; *) echo -e "${COLOR_RED}\nOpción inválida. Inténtelo de nuevo.${COLOR_RESET}" ;;
esac esac
done done

View File

@ -1,17 +1,30 @@
#!/bin/bash #!/bin/bash
# Colores
COLOR_RED='\e[31m'
COLOR_RESET='\e[0m'
# Control de salida con Ctrl + C
function ctrl_c() {
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
tput cnorm
exit 1
}
# Ctrl+C
trap ctrl_c SIGINT
TXT='Vendo opel corsa de color platino en muy buen estado' TXT='Vendo opel corsa de color platino en muy buen estado'
WORDS=( $TXT ) WORDS=($TXT)
for i in {0..50}; do for i in {0..50}; do
clear clear
for WORD in "${WORDS[@]}"; do for WORD in "${WORDS[@]}"; do
let "i=$RANDOM % 256" let "i=$RANDOM % 256"
echo -en "\e[38;5;${i}m$WORD \e[0m"; echo -en "\e[38;5;${i}m$WORD \e[0m"
done; done
sleep 1 sleep 1
done done
echo echo