Update some scripts
This commit is contained in:
parent
3cd7b9bfaf
commit
1d62cd3a86
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
!/bin/bash
|
||||
set -o errexit
|
||||
|
||||
# Script: create_kind_cluster.sh
|
||||
@ -9,39 +9,40 @@ set -o errexit
|
||||
# Web: https://vergaracarmona.es
|
||||
#
|
||||
|
||||
|
||||
COLOR_RED='\033[0;31m'
|
||||
COLOR_RESET='\033[0m'
|
||||
|
||||
# Control de salida con Ctrl + C
|
||||
function ctrl_c() {
|
||||
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
|
||||
tput cnorm; exit 1
|
||||
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Ctrl+C
|
||||
trap ctrl_c SIGINT
|
||||
|
||||
|
||||
# Función para configurar el registro Docker local
|
||||
configurar_registro_local() {
|
||||
reg_name='kind-registry'
|
||||
reg_port='5001'
|
||||
reg_name='kind-registry'
|
||||
reg_port='5001'
|
||||
|
||||
if [ "$(docker inspect -f '{{.State.Running}}' "${reg_name}" 2>/dev/null || true)" != 'true' ]; then
|
||||
docker run -d --restart=always -p "127.0.0.1:${reg_port}:5000" --name "${reg_name}" registry:2
|
||||
fi
|
||||
# Eliminar el contenedor existente si es necesario
|
||||
docker rm -f "${reg_name}" || true
|
||||
|
||||
if [ "$(docker inspect -f='{{json .NetworkSettings.Networks.kind}}' "${reg_name}")" = 'null' ]; then
|
||||
docker network connect "kind" "${reg_name}"
|
||||
fi
|
||||
# Verificar si la red "kind" existe, si no, crearla
|
||||
if [ -z "$(docker network ls --filter name=kind -q)" ]; then
|
||||
docker network create kind
|
||||
fi
|
||||
|
||||
# Iniciar el contenedor del registro Docker local
|
||||
docker run -d --restart=always -p "127.0.0.1:${reg_port}:5000" --network="kind" --name "${reg_name}" registry:2
|
||||
}
|
||||
|
||||
# Función para documentar el registro local
|
||||
documentar_registro_local() {
|
||||
reg_port='5001'
|
||||
echo "\nConfigurando el registro local...\n"
|
||||
cat <<EOF | kubectl apply -f -
|
||||
reg_port='5001'
|
||||
echo -e "\nConfigurando el registro local...\n"
|
||||
cat <<EOF | kubectl apply -f -
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
@ -56,8 +57,8 @@ EOF
|
||||
|
||||
# Función para instalar el controlador Ingress NGINX
|
||||
instalar_ingress_nginx() {
|
||||
echo "\nInstalando el controlador Ingress NGINX...\n"
|
||||
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
|
||||
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
|
||||
}
|
||||
|
||||
# Main
|
@ -1,4 +1,4 @@
|
||||
# /bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
# Script: check_http_status.sh
|
||||
# Descripción: Este script verifica el código de estado HTTP de una o varias URL.
|
||||
@ -14,8 +14,9 @@ COLOR_RESET='\033[0m'
|
||||
|
||||
# Control de salida con Ctrl + C
|
||||
function ctrl_c() {
|
||||
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
|
||||
tput cnorm; exit 1
|
||||
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
|
||||
tput cnorm
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 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
|
||||
while read -r line; do
|
||||
verificar_codigo_estado "$line"
|
||||
done < "$1"
|
||||
done <"$1"
|
||||
else
|
||||
# Si se proporciona una URL directamente, verificar el código de estado HTTP
|
||||
verificar_codigo_estado "$1"
|
||||
|
@ -1,23 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script: install_list_asdf.sh
|
||||
# Descripción: Este script automatiza la gestión de programas y versiones
|
||||
# utilizando asdf, asegurándose de que los plugins estén
|
||||
# instalados, con las últimas versiones instaladas y correctamente
|
||||
# configuradas en global. Según lo especificado en el archivo
|
||||
# Descripción: Este script automatiza la gestión de programas y versiones
|
||||
# utilizando asdf, asegurándose de que los plugins estén
|
||||
# instalados, con las últimas versiones instaladas y correctamente
|
||||
# configuradas en global. Según lo especificado en el archivo
|
||||
# "lista_programas.txt".
|
||||
# Author: Manuel Vergara
|
||||
# Web: https://vergaracarmona.es
|
||||
#
|
||||
|
||||
|
||||
COLOR_RED='\033[0;31m'
|
||||
COLOR_RESET='\033[0m'
|
||||
|
||||
# Control de salida con Ctrl + C
|
||||
function ctrl_c() {
|
||||
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
|
||||
tput cnorm; exit 1
|
||||
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
|
||||
tput cnorm
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Ctrl+C
|
||||
@ -39,7 +39,7 @@ install_asdf_version() {
|
||||
local program="$1"
|
||||
local version="$2"
|
||||
local installed_versions=$(asdf list "$program" | tr -d ' ')
|
||||
|
||||
|
||||
if [ -z "$installed_versions" ]; then
|
||||
echo -e "\e[33mNo está instalada la versión $version de $program y se procede a hacerlo\e[0m"
|
||||
asdf install "$program" "$version" >/dev/null 2>&1
|
||||
@ -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"
|
||||
fi
|
||||
print_newline
|
||||
done < "$input_file"
|
||||
done <"$input_file"
|
||||
|
||||
# Listar las instalaciones actuales
|
||||
echo -e "\nListado de instalaciones actuales:"
|
||||
list_asdf_current
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
#! /bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
# Colores
|
||||
BLUE="\033[34m"
|
||||
RED="\033[31m"
|
||||
NOCOLOR="\033[0m"
|
||||
|
||||
|
||||
# Control de salida con Ctrl + C
|
||||
function ctrl_c() {
|
||||
echo -e "${RED}\n\n[!] Saliendo... \n${NOCOLOR}"
|
||||
tput cnorm; exit 1
|
||||
echo -e "${RED}\n\n[!] Saliendo... \n${NOCOLOR}"
|
||||
tput cnorm
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Ctrl+C
|
||||
@ -19,7 +19,6 @@ trap ctrl_c SIGINT
|
||||
for fichero in $(ls); do
|
||||
if [[ -f "$fichero" ]]; then
|
||||
cuenta=$(cat "$fichero" | wc -l)
|
||||
echo -e "El fichero ${BLUE}$fichero ${NOCOLOR}tiene ${RED}$cuenta ${NOCOLOR}lineas"
|
||||
fi
|
||||
echo -e "El fichero ${BLUE}$fichero ${NOCOLOR}tiene ${RED}$cuenta ${NOCOLOR}lineas"
|
||||
fi
|
||||
done
|
||||
|
||||
|
@ -10,7 +10,8 @@ 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
|
||||
tput cnorm
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Ctrl+C
|
||||
@ -21,14 +22,14 @@ function print_title {
|
||||
local title="$1"
|
||||
local title_length=${#title}
|
||||
local total_length=22
|
||||
|
||||
|
||||
# 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
|
||||
local left_padding=$(( margin_length ))
|
||||
local right_padding=$(( margin_length + (title_length % 2) ))
|
||||
|
||||
local left_padding=$((margin_length))
|
||||
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}"
|
||||
}
|
||||
|
||||
@ -37,7 +38,7 @@ print_network_info() {
|
||||
local interface=$1
|
||||
local ip_lan_4=$(ip addr show "$interface" | grep 'inet ' | awk '{print $2}')
|
||||
local ip_lan_6=$(ip addr show "$interface" | grep 'inet6' | awk '{print $2}')
|
||||
|
||||
|
||||
if [ -z "$ip_lan_4" ] && [ -z "$ip_lan_6" ]; then
|
||||
printf "${COLOR_BLUE}|${COLOR_RESET}${COLOR_YELLOW} %-16s ${COLOR_RESET}${COLOR_BLUE}|${COLOR_RESET} ${COLOR_RED}%-35s ${COLOR_RESET}${COLOR_BLUE}|${COLOR_RESET}\n" "$interface" "No tiene"
|
||||
else
|
||||
@ -63,7 +64,10 @@ print_network_table() {
|
||||
# Comprobación de dependencias
|
||||
check_dependencies() {
|
||||
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
|
||||
}
|
||||
|
||||
@ -79,17 +83,17 @@ network_info=()
|
||||
# Comprobar conexión
|
||||
check_connection() {
|
||||
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}"
|
||||
else
|
||||
echo -e "\t${COLOR_RED}Error de conexión con 8.8.8.8${COLOR_RESET}"
|
||||
|
||||
|
||||
# Obtener la interfaz predeterminada
|
||||
default_interface=$(ip route show default | awk '/default/ {print $5}')
|
||||
|
||||
|
||||
# Probar la conexión con el router
|
||||
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}"
|
||||
else
|
||||
echo -e "\t${COLOR_RED}Error de conexión con el router ($router_ip)${COLOR_RESET}"
|
||||
@ -123,7 +127,6 @@ check_websites() {
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
# Obtener las interfaces de red
|
||||
get_interfaces() {
|
||||
print_title "TARJETAS DE RED"
|
||||
@ -148,8 +151,8 @@ nordvpn_status() {
|
||||
|
||||
# Nueva conexión nordvpn
|
||||
nordvpn_connect() {
|
||||
print_title "CONECTANDO NORDVPN"
|
||||
nordvpn connect Spain Barcelona
|
||||
print_title "CONECTANDO NORDVPN"
|
||||
nordvpn connect Spain Barcelona
|
||||
}
|
||||
|
||||
# Test de velocidad
|
||||
@ -159,7 +162,7 @@ speed_test() {
|
||||
}
|
||||
|
||||
# Realizar traceroute
|
||||
traceroute(){
|
||||
traceroute() {
|
||||
print_title "TRACEROUTE"
|
||||
mtr -c 3 -n -r 8.8.8.8
|
||||
}
|
||||
@ -174,22 +177,26 @@ main_menu() {
|
||||
echo "4 - Información de IP pública"
|
||||
echo "5 - Estado de NordVPN"
|
||||
echo "6 - Conectar Nordvpn"
|
||||
echo "7 - Test de velocidad"
|
||||
echo "7 - Test de velocidad"
|
||||
echo "8 - Traceroute"
|
||||
echo "9 - Salir"
|
||||
|
||||
|
||||
read -p "Ingrese el número de la opción deseada: " choice
|
||||
case $choice in
|
||||
1) check_connection ;;
|
||||
2) check_websites ;;
|
||||
3) get_interfaces ;;
|
||||
4) get_public_ip_info ;;
|
||||
5) nordvpn_status ;;
|
||||
6) nordvpn_connect ;;
|
||||
7) speed_test ;;
|
||||
8) traceroute ;;
|
||||
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}" ;;
|
||||
1) check_connection ;;
|
||||
2) check_websites ;;
|
||||
3) get_interfaces ;;
|
||||
4) get_public_ip_info ;;
|
||||
5) nordvpn_status ;;
|
||||
6) nordvpn_connect ;;
|
||||
7) speed_test ;;
|
||||
8) traceroute ;;
|
||||
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}" ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
@ -1,17 +1,30 @@
|
||||
#!/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'
|
||||
|
||||
WORDS=( $TXT )
|
||||
WORDS=($TXT)
|
||||
|
||||
for i in {0..50}; do
|
||||
clear
|
||||
for WORD in "${WORDS[@]}"; do
|
||||
let "i=$RANDOM % 256"
|
||||
echo -en "\e[38;5;${i}m$WORD \e[0m";
|
||||
done;
|
||||
echo -en "\e[38;5;${i}m$WORD \e[0m"
|
||||
done
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user