Compare commits
No commits in common. "88d122ea6e4fccb2b35c38a0eeb34a5d75e2153a" and "9c7192ed0d0fa284182d5d66453da89d6e7476ac" have entirely different histories.
88d122ea6e
...
9c7192ed0d
12 changed files with 17 additions and 652 deletions
50
README.md
50
README.md
|
@ -1,5 +1,9 @@
|
||||||
# AMBIENTE LOCAL PARA DESARROLLADORES (MRDEVS TOOLS)
|
# AMBIENTE LOCAL PARA DESARROLLADORES (MRDEVS TOOLS)
|
||||||
## GUÍA PARA DESARROLLADORES - REV. 08/12/2024
|
## GUÍA PARA DESARROLLADORES - REV. 30/11/2024
|
||||||
|
|
||||||
|
### REQUISITOS DE INSTALACIÓN
|
||||||
|
|
||||||
|
(Pendiente)
|
||||||
|
|
||||||
### PREPARACIÓN DE AMBIENTE LOCAL PARA DESARROLLADORES
|
### PREPARACIÓN DE AMBIENTE LOCAL PARA DESARROLLADORES
|
||||||
|
|
||||||
|
@ -10,51 +14,17 @@ En la carpeta $HOME descargue el repositorio devs (la carpeta no debe existir):
|
||||||
$ cd $HOME
|
$ cd $HOME
|
||||||
$ git clone https://git.rosero.one/mrosero/devs.git
|
$ git clone https://git.rosero.one/mrosero/devs.git
|
||||||
|
|
||||||
**Nota:** Previamente, debe tener instalado el comando git.
|
#### Instalación de herramientas para gestión de contenedores
|
||||||
|
|
||||||
#### Instalación de herramientas básicas y de gestión de contenedores
|
|
||||||
|
|
||||||
A partir de este momento, la carpeta $HOME/devs será nuestra área de desarrollo donde se descargaran los diversos ambientes de desarrollo. Como primer paso instalaremos las herramientas básicas y de gestión de contenedores. Por razones de seguridad, priorizamos el uso de **podman**.
|
A partir de este momento, la carpeta $HOME/devs será nuestra área de desarrollo donde se descargaran los diversos ambientes de desarrollo. Como primer paso instalaremos las herramientas básicas y de gestión de contenedores. Por razones de seguridad, priorizamos el uso de **podman**.
|
||||||
|
|
||||||
$ cd $HOME/devs
|
$ cd $HOME/devs
|
||||||
$ bin/bootstrap.sh
|
$ bin/bootstrap.sh
|
||||||
|
|
||||||
#### Actualización de ambiente local de desarrollo
|
### GESTIÓN DE DNS LOCAL PARA DESARROLLADORES (DNSMASQ)
|
||||||
|
|
||||||
Actualice los nuevos cambios y funcionalidades del ambiente de desarrollo local raíz
|
#### Habilitar permiso local para puerto 53 (DNS)
|
||||||
|
|
||||||
$ cd $HOME/devs
|
Antes de poder levantar el contenedor dnsmasq, se requiere dar permisos para poder habilitar el puerto 53:
|
||||||
$ bin/update.sh
|
|
||||||
|
|
||||||
### ACCESO VPN A INFRAESTRUCTURA PARA DESARROLLADORES
|
|
||||||
|
|
||||||
#### Instalación de Cliente VPN con ambiente GUI (gráfico)
|
|
||||||
|
|
||||||
Para tener acceso a todos los recursos y servidores de desarrollo se requiere acceder vía VPN a la infraestructura d desarrollo. Para esto, se requiere instalar el cliente PRITUNL como sigue:
|
|
||||||
|
|
||||||
$ cd $HOME/devs
|
|
||||||
$ bin/vpn_install.sh [--help] [--version] [--update]
|
|
||||||
|
|
||||||
Nota: En determinadas versiones, las actualizaciones a partir de los repositorios no es posible por lo que usamos el argumento --update.
|
|
||||||
|
|
||||||
#### Instalación de Cliente OpenVPN con ambiente TUI (texto)
|
|
||||||
|
|
||||||
(pendiente)
|
|
||||||
|
|
||||||
#### Obtener archivo de configuración para acceso VPN
|
|
||||||
|
|
||||||
(pendiente)
|
|
||||||
|
|
||||||
### GESTIONANDO FIRMA GPG
|
|
||||||
|
|
||||||
#### Inicialización de configuración GPG
|
|
||||||
|
|
||||||
Como un requisito de nuestra plataforma, todos los desarrolladores deberán contar, por lo menos, con una clave GPG, que se utilizará para firmar o decifrar archivos, correos u otros. Esto se hará con el uso del comando gpgp que ya debió ser instalado con la ejecución de bin/boostrap.sh.
|
|
||||||
|
|
||||||
En este paso estableceremos la configuración por defecto de GPG:
|
|
||||||
|
|
||||||
$ cd $HOME/devs
|
|
||||||
$ bin/gpg_init.sh
|
|
||||||
|
|
||||||
#### Creación de clave GPG
|
|
||||||
|
|
||||||
|
$ dns/setport53.sh
|
|
@ -55,7 +55,6 @@ install() {
|
||||||
local WGET_PACKAGE=wget
|
local WGET_PACKAGE=wget
|
||||||
local DIALOG_PACKAGE=dialog
|
local DIALOG_PACKAGE=dialog
|
||||||
local SOPS_PACKAGE=sops
|
local SOPS_PACKAGE=sops
|
||||||
local GNUPG_PACKAGE=gnupg
|
|
||||||
|
|
||||||
# Load base bash library
|
# Load base bash library
|
||||||
source $BIN_PATH/$LIBRARY/base.lib
|
source $BIN_PATH/$LIBRARY/base.lib
|
||||||
|
@ -87,13 +86,6 @@ install() {
|
||||||
os_pkgs_install $GIT_PACKAGE
|
os_pkgs_install $GIT_PACKAGE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install gnupg from OS Packages
|
|
||||||
command_installed $GNUPG_PACKAGE
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
os_pkgs_install $GNUGP_PACKAGE
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install dialog from OS Packages
|
# Install dialog from OS Packages
|
||||||
command_installed $DIALOG_PACKAGE
|
command_installed $DIALOG_PACKAGE
|
||||||
if [ $? -ne 0 ]
|
if [ $? -ne 0 ]
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
keyserver hkps://keyserver.ubuntu.com
|
|
||||||
utf8-strings
|
|
||||||
keyid-format long
|
|
||||||
with-fingerprint
|
|
||||||
with-sig-list
|
|
||||||
list-options show-notations
|
|
|
@ -1,99 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# gpg_init.sh
|
|
||||||
# Modified: 2024/12/09 10:27:00
|
|
||||||
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.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/>.
|
|
||||||
|
|
||||||
DEVSPATH=devs
|
|
||||||
BIN_HOME=$HOME/$DEVSPATH
|
|
||||||
BIN_MESG=bin/msg
|
|
||||||
BIN_LIBS=bin/lib
|
|
||||||
|
|
||||||
# CHECK SHELL LANGUAGE
|
|
||||||
BIN_LANG=${LANG:0:2}
|
|
||||||
|
|
||||||
# LOAD BASE BASH LIBRARY
|
|
||||||
source $BIN_HOME/$BIN_LIBS/base.lib
|
|
||||||
#baselib_test
|
|
||||||
|
|
||||||
# LOAD CONSOLE BASH LIBRARY
|
|
||||||
source $BIN_HOME/$BIN_LIBS/console.lib
|
|
||||||
#consolelib_test
|
|
||||||
|
|
||||||
# LOAD GPG BASH LIBRARY
|
|
||||||
source $BIN_HOME/$BIN_LIBS/gpg.lib
|
|
||||||
#gpglib_test
|
|
||||||
|
|
||||||
# Load head messages
|
|
||||||
load_messages $BIN_HOME $BIN_MESG $BIN_LANG "head"
|
|
||||||
|
|
||||||
# Load gpg messages
|
|
||||||
load_messages $BIN_HOME $BIN_MESG $BIN_LANG "gpg"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
########### MAIN PROGRAM ###########
|
|
||||||
|
|
||||||
# Set program title
|
|
||||||
title="$head_000 $head_002"
|
|
||||||
apps_title="${gpmsg_000}"
|
|
||||||
|
|
||||||
# Check if dialog is not installed, exited!
|
|
||||||
command_installed "dialog"
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
display_devstools_header "${gpmsg_000}"
|
|
||||||
echo "${head_001}"
|
|
||||||
exit 200
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if os is valid!
|
|
||||||
get_osname
|
|
||||||
if [ "${os_name}" == "${head_unknow}" ]
|
|
||||||
then
|
|
||||||
dialog_error_box "${head_error}" "${head_os_error}"
|
|
||||||
exit 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Reset gpg configuration to template
|
|
||||||
dialog_yesno "${gpmsg_101}"
|
|
||||||
case ${result} in
|
|
||||||
0)
|
|
||||||
gpg_setting "$BIN_HOME" "$GPG_DEFAULT_PATH" "$GPG_DEFAULT_PATH" "$DATEBAK"
|
|
||||||
rc=$?
|
|
||||||
case $rc in
|
|
||||||
0)
|
|
||||||
dialog_error_box "${head_info}" "${gpmsg_102}"
|
|
||||||
clear
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
1)
|
|
||||||
dialog_error_box "${head_error}" "${gpmsg_103}"
|
|
||||||
clear
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
dialog_error_box "${head_error}" "${head_op_error} (${rc})"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
dialog_error_box "${head_error}" "${head_op_error}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# End Main Program
|
|
||||||
clear
|
|
100
bin/hexroute
100
bin/hexroute
|
@ -1,100 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
######################################################################
|
|
||||||
#
|
|
||||||
# hexroute - Convert human readable routes to dhcpd static route info
|
|
||||||
# for Windows(r) clients
|
|
||||||
#
|
|
||||||
# Copyright (c) 2005-2015 Karl McMurdo
|
|
||||||
#
|
|
||||||
# Freely distributable, but please keep header intact
|
|
||||||
#
|
|
||||||
# Update: May 10, 2007 Change Max Quad to 255
|
|
||||||
#
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
function split_ipaddr() {
|
|
||||||
[ ${1:-X} = X -o "${1}" != ${1//[^.0-9]/} -o ${1:-X} = X \
|
|
||||||
-o "${1//[0-9]/}" != "..." ] && return 1
|
|
||||||
local rval=0
|
|
||||||
local t
|
|
||||||
local T[1]
|
|
||||||
local T[2]
|
|
||||||
local T[3]
|
|
||||||
local T[4]
|
|
||||||
T[1]=${1%%.*}
|
|
||||||
T[2]=${1#*.}
|
|
||||||
T[2]=${T[2]%%.*}
|
|
||||||
T[3]=${1#*.*.}
|
|
||||||
T[3]=${T[3]%%.*}
|
|
||||||
T[4]=${1#*.*.*.}
|
|
||||||
[ ${T[1]} = 0 ] && rval=1
|
|
||||||
for t in 1 2 3 4
|
|
||||||
do
|
|
||||||
[ ${T[${t}]:-999} -gt 255 ] && rval=1
|
|
||||||
eval "${2}[${t}]=${T[${t}]}"
|
|
||||||
done
|
|
||||||
return ${rval}
|
|
||||||
}
|
|
||||||
USAGE='echo -e "Usage: ${0//*\/} [-v|-h] target/bits [gw] gateway [target/bits [gw] gateway ...]\n\n\tie: ${0} 172.16.0.0/16 gw 192.168.1.1\n" && exit 1'
|
|
||||||
INFO="HexRoute 1.0 Copyright (c) 2015 Karl McMurdo
|
|
||||||
|
|
||||||
Converts human readable route information to a dhcpd hex string
|
|
||||||
|
|
||||||
-v Once prints full dhcpd.conf line for route(s)
|
|
||||||
Twice also prints option definiton lines for dhcpd.conf
|
|
||||||
-h Prints this message
|
|
||||||
"
|
|
||||||
DHCPHDR="# New Option Type for Windows Client Static Routes
|
|
||||||
option new-static-routes code 249 = string;"
|
|
||||||
DHCPS="option new-static-routes "
|
|
||||||
DHCPE=";"
|
|
||||||
BADTARG='echo -e "Invalid target network: ${1}" && exit 2'
|
|
||||||
BADBITS='echo -e "Invalid Network bit value: ${1}" && exit 3'
|
|
||||||
BADGW='echo -e "Invalid Gateway: ${2}" && exit 4'
|
|
||||||
VERBOSE=false
|
|
||||||
EXTRAVERBOSE=false
|
|
||||||
|
|
||||||
while [ "${1:0:1}" = "-" ]
|
|
||||||
do
|
|
||||||
if [ "${1}" = "-v" ]
|
|
||||||
then
|
|
||||||
$VERBOSE && EXTRAVERBOSE=true
|
|
||||||
VERBOSE=true
|
|
||||||
elif [ "${1}" = "-h" ]
|
|
||||||
then
|
|
||||||
echo "${INFO}"
|
|
||||||
eval "${USAGE}"
|
|
||||||
else
|
|
||||||
eval "${USAGE}"
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
[ ${#} -lt 2 ] && eval "${USAGE}"
|
|
||||||
OUT=""
|
|
||||||
|
|
||||||
while [ ${#} -ge 2 ]
|
|
||||||
do
|
|
||||||
split_ipaddr ${1/\/*/} TARG || eval "${BADTARG}"
|
|
||||||
BITS=${1/*\//}
|
|
||||||
shift
|
|
||||||
[ ${BITS:-X} = X -o "${BITS}" != ${BITS//[^0-9]/} ] && eval "${BADBITS}"
|
|
||||||
[ ${BITS} -gt 32 -o ${BITS} -lt 1 ] && eval "${BADBITS}"
|
|
||||||
[ ${1:-X} = gw ] && shift
|
|
||||||
split_ipaddr ${1:-X} GW || eval "${BADGW}"
|
|
||||||
shift
|
|
||||||
OUT=${OUT}$( printf ":%02x:%02x" ${BITS} ${TARG[1]} )
|
|
||||||
[ ${BITS} -gt 8 ] && OUT=${OUT}$( printf ":%02x" ${TARG[2]} )
|
|
||||||
[ ${BITS} -gt 16 ] && OUT=${OUT}$( printf ":%02x" ${TARG[3]} )
|
|
||||||
[ ${BITS} -gt 24 ] && OUT=${OUT}$( printf ":%02x" ${TARG[4]} )
|
|
||||||
OUT=${OUT}$( printf ":%02x:%02x:%02x:%02x" ${GW[@]} )
|
|
||||||
done
|
|
||||||
|
|
||||||
$EXTRAVERBOSE && echo "${DHCPHDR}"
|
|
||||||
if $VERBOSE
|
|
||||||
then
|
|
||||||
echo ${DHCPS}${OUT/:/}${DHCPE}
|
|
||||||
else
|
|
||||||
echo ${OUT/:/}
|
|
||||||
fi
|
|
||||||
|
|
|
@ -19,8 +19,6 @@
|
||||||
|
|
||||||
DEVS_NAME=config/project.head
|
DEVS_NAME=config/project.head
|
||||||
GIT_IGNORE=.gitignore
|
GIT_IGNORE=.gitignore
|
||||||
DATENOW="$(date +"%Y-%m-%d %H:%M:%S")"
|
|
||||||
DATEBAK="$(date +"%Y%m%d%H%M%S")"
|
|
||||||
|
|
||||||
DOCKER_LOCAL=dockerfile.local
|
DOCKER_LOCAL=dockerfile.local
|
||||||
DOCKER_BASE=dockerfile.base
|
DOCKER_BASE=dockerfile.base
|
||||||
|
|
|
@ -18,79 +18,7 @@
|
||||||
# junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>.
|
# junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
SOPS_VERSION=3.9.2
|
SOPS_VERSION=v3.9.2
|
||||||
PRITUNL_SIGN=7568D9BB55FF9E5287D586017AE645C0CF8E292A
|
|
||||||
PRITUNL_UPDT=1.3.4099.99
|
|
||||||
UBUNTU_LIST=("jammy" "noble" "oracular")
|
|
||||||
UBUNTU_UPDT_LIST=("noble" "oracular")
|
|
||||||
|
|
||||||
# Install pritunl vpn package
|
|
||||||
function install_pritunl() {
|
|
||||||
|
|
||||||
if [ "$(uname)" == "Darwin" ]; then
|
|
||||||
# En macOS, instalamos o actualizamos Python a través de Homebrew
|
|
||||||
brew install git go node
|
|
||||||
bash <(curl -s https://raw.githubusercontent.com/pritunl/pritunl-client-electron/master/tools/install_macos.sh)
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
OS_INFO=$(lsb_release -a 2>/dev/null)
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
OS_VERSION=$(echo "$OS_INFO" | grep "Codename" | awk '{print $2}' | tr -d ' ')
|
|
||||||
else
|
|
||||||
OS_INFO=$(cat /etc/os-release 2>/dev/null)
|
|
||||||
OS_VERSION=$(echo "$OS_INFO" | grep "VERSION_CODENAME" | awk -F ': +' '{print $2}')
|
|
||||||
fi
|
|
||||||
|
|
||||||
if echo "$OS_INFO" | grep -q "Ubuntu"; then
|
|
||||||
if printf "%s\n" "${UBUNTU_LIST[@]}" | grep -q "^${OS_VERSION}$"
|
|
||||||
then
|
|
||||||
if [ ! -f /etc/apt/sources.list.d/pritunl.list ]; then
|
|
||||||
echo "deb https://repo.pritunl.com/stable/apt $OS_VERSION main" > /etc/apt/sources.list.d/pritunl.list
|
|
||||||
fi
|
|
||||||
if [ ! -f /etc/apt/trusted.gpg.d/pritunl.asc ]; then
|
|
||||||
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys $PRITUNL_SIGN
|
|
||||||
gpg --armor --export $PRITUNL_SIGN | tee /etc/apt/trusted.gpg.d/pritunl.asc
|
|
||||||
fi
|
|
||||||
apt update
|
|
||||||
apt install pritunl-client-electron -y
|
|
||||||
local rc=$?
|
|
||||||
if [ $rc -eq 0 ]; then
|
|
||||||
systemctl daemon-reload
|
|
||||||
rc=$?
|
|
||||||
fi
|
|
||||||
return $rc
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 10
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
# Update pritunl vpn package
|
|
||||||
function update_pritunl() {
|
|
||||||
|
|
||||||
OS_INFO=$(lsb_release -a 2>/dev/null)
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
OS_VERSION=$(echo "$OS_INFO" | grep "Codename" | awk '{print $2}' | tr -d ' ')
|
|
||||||
else
|
|
||||||
OS_INFO=$(cat /etc/os-release 2>/dev/null)
|
|
||||||
OS_VERSION=$(echo "$OS_INFO" | grep "VERSION_CODENAME" | awk -F ': +' '{print $2}')
|
|
||||||
fi
|
|
||||||
|
|
||||||
if echo "$OS_INFO" | grep -q "Ubuntu"; then
|
|
||||||
if printf "%s\n" "${UBUNTU_UPDT_LIST[@]}" | grep -q "^${OS_VERSION}$"
|
|
||||||
then
|
|
||||||
cd /tmp
|
|
||||||
wget https://github.com/pritunl/pritunl-client-electron/releases/download/$PRITUNL_UPDT/pritunl-client-electron_$PRITUNL_UPDT-0ubuntu1.${OS_VERSION}_amd64.deb
|
|
||||||
dpkg -i pritunl-client-electron_$PRITUNL_UPDT-0ubuntu1.${OS_VERSION}_amd64.deb
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 10
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
# Install python3 package
|
# Install python3 package
|
||||||
function python3_install() {
|
function python3_install() {
|
||||||
|
@ -138,32 +66,24 @@ function sops_install() {
|
||||||
case $arch in
|
case $arch in
|
||||||
x86_64)
|
x86_64)
|
||||||
# Download the binary
|
# Download the binary
|
||||||
curl -LO https://github.com/getsops/sops/releases/download/v$SOPS_VERSION/sops-v$SOPS_VERSION.linux.amd64
|
curl -LO https://github.com/getsops/sops/releases/download/v$SOPS_VERSION/sops-$SOPS_VERSION.linux.amd64
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
# Move the binary in to your PATH
|
# Move the binary in to your PATH
|
||||||
mv sops-v$SOPS_VERSION.linux.amd64 /usr/local/bin/sops
|
mv sops-v$SOPS_VERSION.linux.amd64 /usr/local/bin/sops
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
# Make the binary executable
|
# Make the binary executable
|
||||||
chmod a+x /usr/local/bin/sops
|
chmod +x /usr/local/bin/sops
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
arm*)
|
arm*)
|
||||||
# Download the binary
|
# Download the binary
|
||||||
curl -LO https://github.com/getsops/sops/releases/download/v$SOPS_VERSION/sops-v$SOPS_VERSION.linux.arm64
|
curl -LO https://github.com/getsops/sops/releases/download/v$SOPS_VERSION/sops-$SOPS_VERSION.linux.arm64
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
# Move the binary in to your PATH
|
# Move the binary in to your PATH
|
||||||
mv sops-v$SOPS_VERSION.linux.arm64 /usr/local/bin/sops
|
mv sops-v$SOPS_VERSION.linux.arm64 /usr/local/bin/sops
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
# Make the binary executable
|
# Make the binary executable
|
||||||
chmod a+x /usr/local/bin/sops
|
chmod +x /usr/local/bin/sops
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Library: gpg.lib
|
|
||||||
# Modified: 2024/12/09 08:20:00
|
|
||||||
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.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/>.
|
|
||||||
|
|
||||||
GPG_DEFAULT_PATH=~/.gnupg
|
|
||||||
GPG_CFG_PATH=bin/config
|
|
||||||
GPG_TEMPLATE=gpg.config
|
|
||||||
GPG_CONFIG=gpg.conf
|
|
||||||
GPG_SUBKEY_ID=""
|
|
||||||
DB_GPG_SUBKEYS_KEY="subkey_id"
|
|
||||||
DB_GPG_SUBKEYS="GPG_SUBKEYS"
|
|
||||||
DF_GPG_SUBKEYS="${DB_GPG_SUBKEYS}.sql"
|
|
||||||
REVOKE_FILES="*.rev"
|
|
||||||
|
|
||||||
# Test library
|
|
||||||
function gpglib_test() {
|
|
||||||
echo "GPG Library loaded!"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Set gpg environment
|
|
||||||
function gpg_setting() {
|
|
||||||
|
|
||||||
local BIN_CONFIG=$1
|
|
||||||
local GPG_PATH=$2
|
|
||||||
local LOCAL_BACKUP=$3
|
|
||||||
local TIMESTAMP=$4
|
|
||||||
|
|
||||||
# Check if gpg directory path exists
|
|
||||||
if [ ! -d "${GPG_PATH}" ]
|
|
||||||
then
|
|
||||||
# Create gpg directory path
|
|
||||||
mkdir -p ${GPG_PATH}
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if gpg template file exists
|
|
||||||
if [ ! -f "${BIN_CONFIG}/${GPG_CFG_PATH}/${GPG_TEMPLATE}" ]
|
|
||||||
then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d "${LOCAL_BACKUP}" ]
|
|
||||||
then
|
|
||||||
if [ -f "${GPG_PATH}/${GPG_CONFIG}" ]
|
|
||||||
then
|
|
||||||
# Destination file backup
|
|
||||||
local BACKUP_FILE="${LOCAL_BACKUP}/gpg${TIMESTAMP}.bak"
|
|
||||||
cp -f "${GPG_PATH}/${GPG_CONFIG}" "${BACKUP_FILE}"
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
return 3
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Copia el archivo de plantilla al destino
|
|
||||||
cp -f "${BIN_CONFIG}/${GPG_CFG_PATH}/${GPG_TEMPLATE}" "${GPG_PATH}/${GPG_CONFIG}"
|
|
||||||
return $?
|
|
||||||
|
|
||||||
}
|
|
|
@ -12,21 +12,12 @@
|
||||||
#==============================================================================
|
#==============================================================================
|
||||||
|
|
||||||
bomsg_000="BOOTSTRAP"
|
bomsg_000="BOOTSTRAP"
|
||||||
bomsg_001="ACTUALIZAR DEVS"
|
|
||||||
bomsg_002="PERMITIR PUERTO 53"
|
bomsg_002="PERMITIR PUERTO 53"
|
||||||
bomsg_003="Puerto 53 no se ha liberado!"
|
bomsg_003="Puerto 53 no se ha liberado!"
|
||||||
bomsg_004="Puerto 53 (dns) ha sido liberado para uso no-root"
|
bomsg_004="Puerto 53 (dns) ha sido liberado para uso no-root"
|
||||||
bomsg_005="Arquitectura desconocida:"
|
bomsg_005="Arquitectura desconocida:"
|
||||||
bomsg_006="Instalando Mozilla SOPS..."
|
bomsg_006="Instalando Mozilla SOPS..."
|
||||||
bomsg_007="Instalación de Mozilla SOPS completada..."
|
bomsg_007="Instalación de Mozilla SOPS completada..."
|
||||||
bomsg_008_1="Carpeta"
|
|
||||||
bomsg_008_2="no es del ambiente de desarrollo!"
|
|
||||||
bomsg_010="INSTALAR VPN"
|
|
||||||
bomsg_011="Instalando cliente VPN (pritunl)"
|
|
||||||
bomsg_012="No se completo la instalación del cliente VPN (pritunl)"
|
|
||||||
bomsg_013="Cliente VPN (pritunl) instalado satisfactoriamente!"
|
|
||||||
bomsg_014="Sistema Operativo no soportado por pritunl"
|
|
||||||
bomsg_015="ACTUALIZAR VPN"
|
|
||||||
|
|
||||||
pymsg_001="Instalando python3"
|
pymsg_001="Instalando python3"
|
||||||
pymsg_002="Instalando dialog"
|
pymsg_002="Instalando dialog"
|
||||||
|
@ -38,11 +29,3 @@ pdmsg_001="Instalando Podman..."
|
||||||
pdmsg_003="Podman fue instalado satisfactoriamente"
|
pdmsg_003="Podman fue instalado satisfactoriamente"
|
||||||
|
|
||||||
domsg_005="----> Docker previamente instalado, desinstale para poder instalar PODMAN o utilice DOCKER"
|
domsg_005="----> Docker previamente instalado, desinstale para poder instalar PODMAN o utilice DOCKER"
|
||||||
|
|
||||||
bomsg_101_1="Uso:"
|
|
||||||
bomsg_101_2="[--help] [--version] [--update]"
|
|
||||||
bomsg_102="Descripción: Este bash script se usa para instalar el cliente vpn (pritunl)"
|
|
||||||
bomsg_103="Opciones:"
|
|
||||||
bomsg_104=" --help Muestra este mensaje de ayuda."
|
|
||||||
bomsg_105=" --version Muestra la versión del script."
|
|
||||||
bomsg_106=" --update Hace una actualización (upgrade) del cliente cuando no disponible en el repo"
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#bash script : gpg.es
|
|
||||||
#apps : GPG Developer Utilities
|
|
||||||
#description : GPG Translate Messages (es)
|
|
||||||
#author : MRP/mrp - Mauro Rosero P.
|
|
||||||
#company email : mauro@rosero.one
|
|
||||||
#personal email : mauro.rosero@gmail.com
|
|
||||||
#date : 20241130
|
|
||||||
#version : 1.0.2
|
|
||||||
#notes :
|
|
||||||
#==============================================================================
|
|
||||||
#==============================================================================
|
|
||||||
|
|
||||||
|
|
||||||
gpmsg_000="INICIALIZAR GPG"
|
|
||||||
|
|
||||||
|
|
||||||
gpmsg_101="Desea inicializar la configuración de GPG?"
|
|
||||||
gpmsg_102="Inicialización de configuración GPG completada!"
|
|
||||||
gpmsg_103="Plantilla de configuración GPG no existe!"
|
|
|
@ -1,60 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# update.sh
|
|
||||||
# Modified: 2024/12/01 15:27:00
|
|
||||||
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.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/>.
|
|
||||||
|
|
||||||
DEVSPATH=devs
|
|
||||||
BIN_HOME=$HOME/$DEVSPATH
|
|
||||||
BIN_MESG=bin/msg
|
|
||||||
BIN_LIBS=bin/lib
|
|
||||||
|
|
||||||
# CHECK SHELL LANGUAGE
|
|
||||||
BIN_LANG=${LANG:0:2}
|
|
||||||
|
|
||||||
# LOAD BASE BASH LIBRARY
|
|
||||||
source $BIN_HOME/$BIN_LIBS/base.lib
|
|
||||||
#baselib_test
|
|
||||||
|
|
||||||
load_bootstrap_msg() {
|
|
||||||
|
|
||||||
local BIN_PATH=$1
|
|
||||||
local MSG_PATH=$2
|
|
||||||
local LANGUAGE=$3
|
|
||||||
|
|
||||||
# Load head messages
|
|
||||||
load_messages $BIN_PATH $MSG_PATH $LANGUAGE "head"
|
|
||||||
|
|
||||||
# Load bootstrap messages
|
|
||||||
load_messages $BIN_PATH $MSG_PATH $LANGUAGE "bootstrap"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
# Load messages
|
|
||||||
load_bootstrap_msg $BIN_HOME $BIN_MESG $BIN_LANG
|
|
||||||
|
|
||||||
# Display Headers
|
|
||||||
display_devstools_header "- $bomsg_001"
|
|
||||||
|
|
||||||
# Run update devs environment
|
|
||||||
if [ "$PWD" == "$BIN_HOME" ]
|
|
||||||
then
|
|
||||||
git pull
|
|
||||||
else
|
|
||||||
cd $BIN_HOME
|
|
||||||
git pull
|
|
||||||
fi
|
|
||||||
|
|
|
@ -1,136 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# vpn_install.sh
|
|
||||||
# Modified: 2024/12/01 15:27:00
|
|
||||||
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.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/>.
|
|
||||||
|
|
||||||
DEVSPATH=devs
|
|
||||||
BIN_HOME=$HOME/$DEVSPATH
|
|
||||||
BIN_MESG=bin/msg
|
|
||||||
BIN_LIBS=bin/lib
|
|
||||||
VERSION=1.0.1
|
|
||||||
|
|
||||||
# CHECK SHELL LANGUAGE
|
|
||||||
BIN_LANG=${LANG:0:2}
|
|
||||||
|
|
||||||
# LOAD BASE BASH LIBRARY
|
|
||||||
source $BIN_HOME/$BIN_LIBS/base.lib
|
|
||||||
#baselib_test
|
|
||||||
|
|
||||||
function load_bootstrap_msg() {
|
|
||||||
|
|
||||||
local BIN_PATH=$1
|
|
||||||
local MSG_PATH=$2
|
|
||||||
local LANGUAGE=$3
|
|
||||||
|
|
||||||
# Load head messages
|
|
||||||
load_messages $BIN_PATH $MSG_PATH $LANGUAGE "head"
|
|
||||||
|
|
||||||
# Load bootstrap messages
|
|
||||||
load_messages $BIN_PATH $MSG_PATH $LANGUAGE "bootstrap"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to display help message
|
|
||||||
function help() {
|
|
||||||
echo "$bomsg_101_1 $0 $bomsg_101_2"
|
|
||||||
echo "$bomsg_102"
|
|
||||||
echo "$bomsg_103"
|
|
||||||
echo "$bomsg_104"
|
|
||||||
echo "$bomsg_105"
|
|
||||||
echo "$bomsg_106"
|
|
||||||
}
|
|
||||||
|
|
||||||
function install() {
|
|
||||||
local BIN_PATH=$1
|
|
||||||
local LIBRARY=$2
|
|
||||||
local MESSAGES=$3
|
|
||||||
local INSTALL_LANG=$4
|
|
||||||
local UPDATE=$5
|
|
||||||
|
|
||||||
# Load base bash library
|
|
||||||
source $BIN_PATH/$LIBRARY/base.lib
|
|
||||||
|
|
||||||
# Load bootstrap bash library
|
|
||||||
source $BIN_PATH/$LIBRARY/bootstrap.lib
|
|
||||||
|
|
||||||
# Load bootstrap messages
|
|
||||||
load_bootstrap_msg $BIN_PATH $MESSAGES $INSTALL_LANG
|
|
||||||
|
|
||||||
# Install pritunl vpn client (gui)
|
|
||||||
if $UPDATE; then
|
|
||||||
update_pritunl
|
|
||||||
rc=$?
|
|
||||||
else
|
|
||||||
install_pritunl
|
|
||||||
rc=$?
|
|
||||||
fi
|
|
||||||
case $rc in
|
|
||||||
0)
|
|
||||||
echo "$bomsg_013"
|
|
||||||
;;
|
|
||||||
10)
|
|
||||||
echo "$bomsg_014"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "$bomsg_012"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
# Load messages
|
|
||||||
load_bootstrap_msg $BIN_HOME $BIN_MESG $BIN_LANG
|
|
||||||
|
|
||||||
# Check for arguments option
|
|
||||||
help=false
|
|
||||||
version=false
|
|
||||||
update=false
|
|
||||||
title=$bomsg_010
|
|
||||||
while [[ $# -gt 0 ]]; do
|
|
||||||
case $1 in
|
|
||||||
--help)
|
|
||||||
help=true
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--version)
|
|
||||||
version=true
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--update)
|
|
||||||
title="$bomsg_015"
|
|
||||||
update=true
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# Check to show help
|
|
||||||
if $help; then
|
|
||||||
help
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check to show command version
|
|
||||||
if $version; then
|
|
||||||
echo "$head_version $VERSION"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Display Headers
|
|
||||||
display_devstools_header "- $title"
|
|
||||||
|
|
||||||
# Run install with sudo
|
|
||||||
sudo bash -c "$(declare -f load_bootstrap_msg; declare -f install); install $BIN_HOME $BIN_LIBS $BIN_MESG $BIN_LANG $update"
|
|
Loading…
Reference in a new issue