[ADDED] Script vpn_check.sh para verificar conexión a VPN

- Nuevo script que utiliza las funciones de detección de VPN en base.lib
- Muestra el tipo de VPN al que se está conectado o información si no hay conexión
- Añadidos mensajes internacionalizados en head.es
- Actualizada documentación en README.md

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mauro Rosero P. 2025-03-22 15:14:42 -05:00
parent bc5b424a61
commit af32c0015a
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26
6 changed files with 98 additions and 5 deletions

View file

@ -96,6 +96,7 @@ bin/update.sh
| `bin/vpn_install.sh` | Instala el cliente Pritunl VPN | | `bin/vpn_install.sh` | Instala el cliente Pritunl VPN |
| `bin/vpn_install.sh --update` | Actualiza el cliente VPN a la última versión | | `bin/vpn_install.sh --update` | Actualiza el cliente VPN a la última versión |
| `bin/vpn_users.sh` | Gestiona usuarios de la VPN | | `bin/vpn_users.sh` | Gestiona usuarios de la VPN |
| `bin/vpn_check.sh` | Verifica conexión a VPN y muestra el tipo de VPN activo |
| `bin/gpg_init.sh` | Inicializa configuración GPG para cifrado seguro | | `bin/gpg_init.sh` | Inicializa configuración GPG para cifrado seguro |
### Gestión de Perfiles ### Gestión de Perfiles

View file

@ -6,7 +6,7 @@
"gemini","Google Gemini API",0,1,0 "gemini","Google Gemini API",0,1,0
"hface","HuggingFace API",0,1,0 "hface","HuggingFace API",0,1,0
"brave","Brave Search API",0,1,0 "brave","Brave Search API",0,1,0
"replica","Replicate API",0,1,0 "digital","Replicate API (digital)",0,1,0
"serper","Serper Search API",0,1,0 "serper","Serper Search API",0,1,0
"voyage","Voyage RAG API",0,1,0 "voyage","Voyage RAG API",0,1,0
"apify","Apify Scrapping API",0,1,0 "apify","Apify Scrapping API",0,1,0

View file

@ -38,6 +38,9 @@ head_nodockerfile="No existe el archivo de configuración Dockerfile"
head_nobuilded="No se pudo completar la construcción del contenedor" head_nobuilded="No se pudo completar la construcción del contenedor"
head_builded="Construcción del contenedor completada!" head_builded="Construcción del contenedor completada!"
head_zip="Utilitario zip no ha sido instalado!" head_zip="Utilitario zip no ha sido instalado!"
head_vpn_type="Tipo de VPN"
head_vpn_no_connected="VPN no conectado!"
head_vpn_unknown="VPN Desconocido!"
head_key_end="999999END" head_key_end="999999END"
head_superuser="Super Usuario" head_superuser="Super Usuario"
head_canceled="Cancelado" head_canceled="Cancelado"

View file

@ -5,9 +5,9 @@
#Author : Mauro Rosero Pérez #Author : Mauro Rosero Pérez
#Company Email : mauro@rosero.one #Company Email : mauro@rosero.one
#Personal Email : mauro.rosero@gmail.com #Personal Email : mauro.rosero@gmail.com
#Created : $(date +%Y/%m/%d\ %H:%M:%S) #Created : 2024/12/01 15:27:00
#Modified : $(date +%Y/%m/%d\ %H:%M:%S) #Modified : 2025/03/19 11:57:08
#Version : 1.0.0 #Version : 1.2.0
#============================================================================== #==============================================================================
# Derechos de Autor [2025] [Mauro Rosero P. <mauro@rosero.one>] # Derechos de Autor [2025] [Mauro Rosero P. <mauro@rosero.one>]
#============================================================================== #==============================================================================
@ -83,4 +83,4 @@ else
echo "Error: No se pudo iniciar el servicio Ollama correctamente." echo "Error: No se pudo iniciar el servicio Ollama correctamente."
exit 1 exit 1
fi fi
fi fi

68
bin/vpn_check.sh Executable file
View file

@ -0,0 +1,68 @@
#!/bin/bash
#Script : vpn_check.sh
#Apps : MRDEVS TOOLS
#Description : Verifica conexión a VPN
#Author : Mauro Rosero Pérez
#Company Email : mauro@rosero.one
#Personal Email : mauro.rosero@gmail.com
#Created : 2025/03/22 14:57:08
#Modified : 2025/03/22 14:57:08
#Version : 1.2.0
#==============================================================================
# Derechos de Autor [2025] [Mauro Rosero P. <mauro@rosero.one>]
#==============================================================================
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
# bajo los términos de la Licencia Pública Affero General de GNU tal como
# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia,
# o (a su elección) cualquier versión posterior.
#
# Este programa se distribuye con la esperanza de que sea útil,
# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
# Licencia Pública Affero General de GNU para obtener más detalles.
#
# Debería haber recibido una copia de la Licencia Pública Affero General
# junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>.
# Configuración inicial
# Usar DEVELOPER_DIR de base.lib
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BIN_BASE="bin"
BIN_LIBS="lib"
BIN_MESG="msg"
BIN_CFGS="config"
# Leer DEVSPATH desde el archivo de configuración o usar "devs" por defecto
if [ -f "$SCRIPT_DIR/config/devspath.dat" ]; then
DEVSPATH=$(cat "$SCRIPT_DIR/$BIN_CFGS/devspath.dat")
else
DEVSPATH="devs"
fi
BIN_HOME="$HOME/$DEVSPATH"
BIN_PATH=$BIN_HOME/$BIN_BASE
VERSION=$(cat "$BIN_HOME/$BIN_BASE/$BIN_CFGS/version")
# CHECK SHELL LANGUAGE
BIN_LANG=${LANG:0:2}
# Importar bibliotecas necesarias
if [ -f "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/base.lib" ]; then
source "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/base.lib"
# Cargar mensajes en el idioma del sistema o español por defecto
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "head"
title="${head_000} ${head_002}"
fi
# Verificar tipo de VPN conectado
vpn_type=$(get_vpn_type)
vpn_result=$?
if [ $vpn_result -eq 0 ]; then
echo "$head_vpn_type: $vpn_type"
else
if [ $vpn_result -eq 1 ]; then
echo "$head_vpn_no_connected"
else
echo "$head_vpn_unknown"
fi
fi

21
sops/digital.sops.yaml Normal file
View file

@ -0,0 +1,21 @@
{
"data": "ENC[AES256_GCM,data:wzUuXCw/03iQx/uBbYZaH2RUUOS9kRNsOxeYnf9gxg9EtTnHcAKCdgsi57MjCAOoJNFModUP1oiI,iv:0OxbnDf+YpAUxPKD4pwWr1m2SKigjltl2Tia9Ebvha0=,tag:IfBggkQeIxnNIa1L6WOp8Q==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": null,
"lastmodified": "2025-03-22T19:17:45Z",
"mac": "ENC[AES256_GCM,data:3DYGOmI8egY+KHpzhF8grzCs1cJ0nMc0YeQlDV7X0B4+vEK/Ja7YR7bUG4zIR38OhpENZbHMDK2ciyoifJdO4hPZKQk/+MsmdmfxV9WF+lJ0AXe3U/mGmpDv5W9KHmR13zgaN0On2cQT9cLziA7KpaSGw4CfLNgxKU/OSJC7iW0=,iv:J34Sj4LMzGCD6TOB6IU71kT8Sxj7orUb0A0yRfyB8kI=,tag:quu2v+T8lTyqRKGtE7vs8Q==,type:str]",
"pgp": [
{
"created_at": "2025-03-22T19:17:45Z",
"enc": "-----BEGIN PGP MESSAGE-----\n\nhQIMAx5Q8cfEImn/AQ//TNSynZiJbXr16tKHNusO/8UHpS1bWIuSjJG0lcdc7c/7\nGbmDzl5mRxi38FhP/evzNiArB8uL81P0hfKogdNIFe+19yVXzuCBxd9FMLLKnFkX\nvm+0O7fkQsAU266w0snbDZdZuM6gDqiERdgeUrUh4rSdgjeHMoa2MvfpL62ncjF3\nhZL8RMGSF6Q2mjYWkjgJqVbPzKeB4x7adm3HD7YTTzSBoAChVXXSUhXl4ZMfglWb\nlF9bXrOXFwzZtiWDsLfciJdlM6hy7sDsMUIXcMXTEPNv4cMkftKzKSbD9iN1MYP0\nZC7r/yhQtZqbN1IKjtqmSBPgvhS6CbCGt7GG5iH5ohqt1L/+bJYiEkuves1DRkBq\nREDiVhHL0Dn4qTafBuE2zDB8T1MzKagUS62qJM5ODyHaC8UXz7C2OSsFIxwccZI6\njkCCW5Kx9inxNvvtwkQo8f1RH1ui+CE1f18quxCR9cTqM4Z1hADZSRQCc9DFOBC/\nVVMcdlXRluD2cwtqUyzjIAMzmDske4GRVgJsEib8b8m1Y6P783kfHJI6qjFCzLmE\npnTwOYs946K8NmVawcl6FgdDxuIZltQgMuD7xCaVR+p3IDFUNH1EYPEO8lhtTGAS\n7ScRrZYmOM+T+sHk3U+3T4OtDUjWrWMPXVC4+FrFaBUhZQ4jsjNnBkuQeqPshy3S\nXAHS4cfo9VIixvbwVibiAVkGCc4eUFiIQO/7FArmQ66Cp1YxtmbD2jCyoHAl+bMl\nlfOnww8y4AwB3+cnj2PkxnEPr2D5bvC4XPWSqhcPziUY/y7m9GUkYadKSIRq\n=wLIg\n-----END PGP MESSAGE-----",
"fp": "ACB17A9DB7A680D0FED714E2A17ADF8EA1E9DB07"
}
],
"unencrypted_suffix": "_unencrypted",
"version": "3.9.2"
}
}