Skip to content

Commit 94ca26c

Browse files
committed
feat: arreglado errores repositorio debian local, errores en whisper, libretranslate, piper-ttsañadido un scanner para la LAN, arreglado el instalador, añadido un creador de .run para una instalación simple.
1 parent d9914e4 commit 94ca26c

12 files changed

Lines changed: 235202 additions & 102 deletions

1_install_ch9_local.sh

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
#!/bin/bash
22
# ==============================================================================
33
# SCRIPT: install_ch9_local.sh
4-
# Versión: 2.2 - Instalación inteligente de Channel-9 con Infraestructura Web/Core
4+
# Versión: 2.3 - Instalación inteligente de Channel-9 con Infraestructura Web/Core (FIX Lighttpd)
55
# Descripción: Comprueba y compila/instala los paquetes DEB. Luego, configura
66
# el repositorio local, la infraestructura web (Lighttpd/Userdir)
77
# y la infraestructura de red/correo (ch9_infra_setup.sh).
88
# ==============================================================================
99

10+
11+
# --- 9.1. controlamos si las interfaces de red usan nombres tradicionales (canonical) o no y los forzamos ---
12+
echo "--- 9.1 comprobamos los nombres de las interfaces de red ---"
13+
if [ -f "force_canonical_netnames.sh" ]; then
14+
./force_canonical_netnames.sh || { echo "🚨 Error al comprobar los nombres de las interfaces."; }
15+
else
16+
echo "🚨 Error: force_canonical_netnames.sh no encontrado."
17+
fi
18+
19+
1020
# --- Variables de Configuración ---
1121
REPO_ROOT="${HOME}/public_html/ch9/debian"
1222
ARCH=$(dpkg --print-architecture)
@@ -24,7 +34,6 @@ PACKAGES_TO_CHECK=(
2434
# Lista de paquetes que se instalarán al final (solo los paquetes base y el servicio LT)
2535
CORE_PACKAGES="libretranslate-base libretranslate-service whisper-cpp-cli piper-tts"
2636

27-
2837
# --- Funciones de Utilidad ---
2938

3039
# Función para verificar si un paquete base está instalado
@@ -46,6 +55,9 @@ deb_exists() {
4655
# --- 1. Control de Dependencias Generales y Preparación ---
4756
echo "--- 1. Instalando dependencias básicas, FPM e infraestructura web ---"
4857

58+
# eliminamos el repositorio local porqué va a ser regenerado y añadido después:
59+
sudo rm /etc/apt/sources.list.d/channel9.list
60+
4961
# Instalación de todas las dependencias (Bind9 se instala en ch9_infra_setup.sh)
5062
sudo apt update
5163
sudo apt install -y sox ffmpeg zenity mailutils multimon-ng net-tools git cmake build-essential ruby ruby-dev python3 python3-venv wget yad mutt msmtp lighttpd
@@ -61,12 +73,14 @@ command -v fpm >/dev/null 2>&1 || {
6173
sudo gem install fpm
6274
}
6375

64-
# --- 1.1. Configuración del Servidor Web (Lighttpd/Userdir) ---
76+
# --- 1.1. Configuración del Servidor Web (Lighttpd/Userdir y Dirlisting) ---
6577
echo "--- 1.1. Configurando Lighttpd para servir el repositorio local ---"
6678

67-
# Habilitar el módulo Userdir
68-
echo "⚙️ Habilitando mod_userdir para servir \$HOME/public_html..."
69-
sudo lighty-enable-mod userdir 2>/dev/null
79+
# Habilitar los módulos necesarios: userdir (para /~usuario/) y dirlisting (para indexar carpetas)
80+
echo "⚙️ Habilitando mod_userdir y mod_dirlisting para servir \$HOME/public_html..."
81+
# **CORRECCIÓN CRÍTICA:** Usamos lighttpd-enable-mod y añadimos dirlisting para evitar el error 403.
82+
sudo lighttpd-enable-mod userdir 2>/dev/null
83+
sudo lighttpd-enable-mod dirlisting 2>/dev/null
7084

7185
# Establecer los permisos necesarios para que lighttpd acceda a $HOME/public_html
7286
echo "⚙️ Estableciendo permisos de lectura para el servidor web..."
@@ -79,9 +93,10 @@ sudo chmod o+rx "$HOME/public_html"
7993
mkdir -p "$REPO_ROOT" # Asegurar que la ruta base existe
8094
sudo chmod -R o+rX "$HOME/public_html/ch9" 2>/dev/null
8195

82-
# Reiniciar Lighttpd para aplicar la configuración de userdir
96+
# Reiniciar Lighttpd para aplicar la nueva configuración de módulos
97+
# Usamos restart, aunque 'force-reload' también es válido.
8398
sudo systemctl restart lighttpd
84-
echo "INFO: Lighttpd instalado y mod_userdir activado."
99+
echo "INFO: Lighttpd instalado y módulos userdir/dirlisting activados."
85100

86101
# --- 2. Lógica de Construcción Condicional ---
87102

@@ -147,14 +162,23 @@ echo "--- 5. Configurando APT para usar el repositorio local (Userdir) ---"
147162

148163
# Usamos el formato Userdir de Lighttpd: http://127.0.0.1/~<usuario>/
149164
USER_NAME=$(whoami)
150-
APT_SOURCE_LINE="deb http://127.0.0.1/~${USER_NAME}/ch9/debian stable main"
165+
# CRÍTICO: Añadir [trusted=yes] para evitar el error de firma GPG en repositorios locales.
166+
REPO_WEB_PATH="deb [trusted=yes] http://127.0.0.1/~${USER_NAME}/ch9/debian stable main"
151167

152168
# 1. Eliminar cualquier fuente anterior del proyecto Channel9
153169
sudo rm -f /etc/apt/sources.list.d/channel9.list
154170

155171
# 2. Añadir la fuente del repositorio
156172
echo "Añadiendo línea de repositorio: ${APT_SOURCE_LINE}"
157-
sudo sh -c "echo \"${APT_SOURCE_LINE}\" > /etc/apt/sources.list.d/channel9.list"
173+
174+
175+
# NUEVAS VARIABLES CRÍTICAS PARA public_html
176+
#LocalHost="127.0.0.1"
177+
#LINUX_USER="$(whoami)"
178+
#REPO_WEB_PATH="~${LINUX_USER}/ch9/debian stable main" # Incluye la parte ~usuario/
179+
180+
sudo sh -c "echo \"${REPO_WEB_PATH}\" > /etc/apt/sources.list.d/channel9.list"
181+
158182

159183
# 3. Actualizar el índice de paquetes
160184
sudo apt update || { echo "🚨 Error al actualizar APT. Compruebe la configuración de Lighttpd y la línea del repositorio."; exit 1; }
@@ -272,14 +296,6 @@ else
272296
echo "🚨 Error: ch9_infra_setup.sh no encontrado. No se configurará BIND9/Dominio/Cuentas de Correo."
273297
fi
274298

275-
# --- 9.1. controlamos si las interfaces de red usan nombres tradicionales (canonical) o no y los forzamos ---
276-
echo "--- 9.1 comprobamos los nombres de las interfaces de red ---"
277-
if [ -f "force_canonical_netnames.sh" ]; then
278-
./force_canonical_netnames.sh || { echo "🚨 Error al comprobar los nombres de las interfaces."; }
279-
else
280-
echo "🚨 Error: force_canonical_netnames.sh no encontrado."
281-
fi
282-
283299

284300
# --- 10. FINALIZACIÓN ---
285301
echo "--- 10. Finalización ---"
@@ -291,5 +307,4 @@ echo "======================================================================="
291307
echo "✅ INSTALACIÓN BASE COMPLETA DEL PROYECTO CHANNEL 9."
292308
echo "======================================================================="
293309
echo "Tenga en cuenta que el bypass del portal cautivo (Android) NO se ha activado."
294-
echo "🚀 Ejecute ./ch9_ap_bypass.sh AHORA para configurar el bypass (Lighttpd/BIND9)."
295-
310+
echo "🚀 Ejecute ./ch9_ap_bypass.sh AHORA para configurar el bypass (Lighttpd/BIND9)."

CH9_monitor.sh

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -60,24 +60,13 @@ DEBUG=0
6060
MSMTP_RC="$HOME/.msmtprc"
6161
MSMTP_LOG="$HOME/.log/msmtp.log"
6262

63-
64-
# VARIABLE DE LOG
63+
# 4. VARIABLE DE LOG
6564
LOG_FILE="$HOME/ch9_monitor.log"
6665
touch "$LOG_FILE"
6766

68-
# 4. INICIALIZACIÓN DEL ENTORNO
69-
# Se eliminó la inicialización del watchdog.
70-
7167
# 5. PREPARACIÓN DEL ENTORNO DE GRABACIÓN
72-
#mkdir -p $RAMDISK/$USER/vox
73-
#rm $RAMDISK/$USER/audio*.wav 2>/dev/null
74-
75-
76-
#rm $RAMDISK/$USER/vox/vox.wav
77-
#if [ ! -f $RAMDISK/$USER/vox/vox.wav ]; then
78-
# sox -V -r $FREQ -n -b 16 -c 1 $RAMDISK/$USER/vox/vox.wav synth 0.5 sin 440 vol -10dB
79-
#fi
80-
#cp /usr/local/share/loro/sounds/messagereceived.wav $RAMDISK/$USER/vox/ 2>/dev/null
68+
mkdir -p $RAMDISK/$USER/vox
69+
rm $RAMDISK/$USER/audio*.wav 2>/dev/null
8170

8271

8372
# 6. BUCLE PRINCIPAL DE MONITOREO (VOX Loop)

0 commit comments

Comments
 (0)