Al Kiwi led Ta-tis-ar A-gogo-ped

Documentación Importante del Pfr. Morezane

Herramientas de usuario

Herramientas del sitio


Barra lateral

Artes Mediales / DIY

🕸️ DNS Sinkhole en Orange Pi One 🍊

🏴‍☠️Nodo Torrent Box (con una ORANGE PI ONE H5)

Prensa de Impresión con Gata Hidráulica

Mi participación en Bi0film.net: Resist like bacteria

Activación y Mapeo Afectivo para Microcosmos

Laboratorio de AntipoesIA.

Fotografía Kirlian: La descarga de corona como expresión artística

Cianomalitos - Del dibujo a la animación con cianotipia e IA

Circuito tipo Tetsuo Kogawa

Obsolescencia XBOX

Cambio de memoria

Proyecto Caja Negra

Secondlife PCP

Datamoshing Choneturas

No hegemónicas

El termostato del horno

Charla LabCo Tunal

Empanadas de pino

Focaccia de papa

Gelliplate casero

Luna roja

Lab.Método Caórdico

Recuperando el mr3020

Video Parada Muteada

Quincholab Valdivia

Sopaipillas

Un Kiosko

Proyecto Radiobosque

Zapallitos rellenos

Pizza de Chicago

Dibuje Nomás

Máscaras Framebuffer

Piratebox y TAZ

Contrastes aleatorios

VIDEO-TRANSITO-LOCAL


Audios - Lecturas

Epitafio

Efecto Bezold

Barro crudo

Decir la verdad

Reconocer la violencia

Donde viví

El espiral de la llama

En el aire

Esferas subyacentes

La telaraña

Las borraduras

Las brujas

Los libros prestados

Ya no hacen experimentos

Manchas en la pared

Color mental-Ling Fu

Mejor iguales

Síntesis granular

Poema africano

Enjaular

Parque de los ailantos

Orden y desorden

Perro Julio

Senecio

Serafina

Salsa de pescado

La videozanahoria


Escrituras

Proyecto de IBM: "Diversity in Faces" (DiF)

El abuelastro boxeador

Esferas subyacentes

Llanto a la ceniza

El tratante del espíritu II

Mantenimiento Botones en Volca

Carta ludópata

arrebato

Vendo bellas camisas de fuerza

corazon

El tratante del espíritu

Alergias = Alegrías

Jactarse de los zapatos viejos.

aprestamientobarcos

arcillas

artistaes

bitacorassutiles

bodegonsobrecollage

calentandomotores1

cianotipos

coevaluacioninicial

colores_silueta

cotejosistemas

crosshatching

de_circulos_a_rostros

desigualdad

escala_monocromatica

esferas_sencillas

familiadegatostinta

fauna_colombiana

gelliplateamor

guernikapicasso

indagando_una_hoja

juego_de_expectativas

lab_del_taumatropo_a_la_inteligencia_artificial

mano

manutencion

metodologia_el_mejor_dibujo

mezcla-primaria

mirones

monotipo_y_mixta

monotipo

naturaleza

parqueadero_de_gafas

personajeslibres

pinceles

proporcion_y_figuras_aleatorias

punto_organico

ranaovalo

respuesta_copiada_a_cuestionarios

rocas-piedras-guijarros

rostrostinta

rubrica_vestimenta

semilla

silla_amarilla

siluetasymarcador

simbolosrubrica

solo_fondo

start

superposicion_de_formas_caricaturas

textura-naturaleza

tresamigostinta

un_ejercicio_de_achurado

una_silla_y_un_gato_llamado_cirilo

varillas_de_papel

verificacion

verificar_rostros

zenith_royal_3000

prosody

¡Esta es una revisión vieja del documento!


🍊🏴‍☠️Prosody - servidor de Mensajería XMPP "Local" con pequeño servidor Orange Pi

Este documento registra el proceso de despliegue y resolución de problemas para montar un servicio de chat privado e instantáneo dentro de la red local, aprovechando la infraestructura existente.

1. Entorno de Red y Servicios

El servidor central es una placa de desarrollo de recursos medidos (512MB RAM) corriendo una distribución basada en Debian 9 Stretch (Armbian).

Para este proyecto elegimos Prosody bajo el protocolo estándar XMPP debido a su huella mínima de recursos (10-20 MB de RAM y 0% de CPU en reposo). El servicio coexiste sin inconvenientes con las tareas que la placa ya ejecuta 24/7:

  • Transmission Daemon: Gestor de descargas asignado a la unidad externa de almacenamiento.
  • AdGuard Home: Servidor DNS y filtrado de publicidad para toda la red doméstica.
  • CUPS: Servidor de impresión en red.

2. Diagnóstico Previo del Servidor

Antes de la instalación, se validó el estado de salud de la placa mediante SSH:

Parámetros del sistema en el servidor local

Parámetro Estado Observaciones
Dirección IP 192.168.1.50 IP estática local genérica utilizada para la conexión de los clientes.
Temperatura ~34°C Parámetros térmicos óptimos.
Memoria RAM ~493 MB libres Capacidad suficiente para el nuevo servicio.
Almacenamiento /storage 100% de 58G Partición dedicada exclusivamente a descargas; no interfiere con el sistema.
Almacenamiento Raíz (/) 18% en uso Espacio libre saludable en el sistema operativo base.

3. Instalación de Dependencias

Al tratarse de una distribución con soporte oficial finalizado, se aseguró el acceso a los repositorios históricos en /etc/apt/sources.list:

deb http://archive.debian.org/debian/ stretch main contrib non-free
deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free

Con las fuentes listas, se procedió con la instalación del servidor y la librería criptográfica básica:

sudo apt update
sudo apt install prosody luasec

Gestión de paquetes para la instalación de Prosody

4. Configuración del Servidor (Host Local)

Editamos el archivo de configuración principal en /etc/prosody/prosody.cfg.lua.

Sección por defecto del bloque VirtualHost

Modificamos el host de ejemplo para apuntar a la IP local simulada y relajamos las restricciones de cifrado para facilitar la compatibilidad en red interna sin certificados SSL de internet:

VirtualHost "192.168.1.50"
    enabled = true

-- Se comentan las líneas de SSL al no contar con un dominio público firmado:
-- ssl = {
--     key = "/etc/prosody/certs/example.com.key";
--     certificate = "/etc/prosody/certs/example.com.crt";
-- }

-- Directivas para permitir conexiones locales directas:
c2s_require_encryption = false
allow_unencrypted_plain_auth = true

Aplicamos los cambios reiniciando el demonio:

systemctl restart prosody

Y generamos las credenciales genéricas para los dispositivos desde la terminal:

prosodyctl adduser usuario_pc@192.168.1.50
prosodyctl adduser usuario_movil@192.168.1.50

5. Pruebas de Conexión de Clientes

Computadora de Escritorio (Pidgin)

La integración en el cliente de escritorio fue inmediata y exitosa.

Parámetros de cuenta XMPP en Pidgin

  • Protocolo: XMPP
  • Usuario: usuario_pc
  • Dominio: 192.168.1.50
  • Recurso: Vacío (asignación automática por defecto).
  • Ajustes Avanzados: Se configuró la seguridad en “Usar cifrado si está disponible” y se especificó el Servidor de conexión a la IP del host. Estado: Disponible (Verde).

Yin yón

Dispositivo Móvil (Android)

El despliegue en smartphones presentó restricciones severas por las políticas de seguridad del software moderno.

  • Punto de control: Se verificó que el dispositivo estuviera en el Wi-Fi local, ya que la IP del host es inaccesible desde redes móviles externas (4G/5G).
  • Conflicto de software: Clientes actuales basados en Conversations (como Monocles o Blabber) bloquearon el acceso lanzando alertas insaltables de “Seguridad de transporte débil (sin TLS 1.3)“ y “Dominio no verificable”. Esto ocurre porque las librerías modernas de Android impiden por código el uso de IPs numéricas locales sin certificados firmados por entidades externas.

Solución con Yaxim

Para mantener la configuración por IP sin añadir complejidad de DNS locales o certificados auto-firmados, se optó por Yaxim (un cliente clásico disponible en la Play Store).

  • Configuración: ID Jabber usuario_movil@192.168.1.50, puerto 5222, y la opción activa “Ignore TLS errors” (Ignorar errores de TLS).
  • Resultado: Conexión exitosa y puente de comunicación establecido.

6. Proyecciones de Uso y Mejoras Futuras

Para expandir las capacidades de este nodo local sin saturar el hardware de la placa, se plantean las siguientes líneas de mejora y casos de uso prácticos a mediano plazo:

A. Activación de Transferencia de Archivos (Multimedia)

Actualmente el canal está limitado a texto. Para habilitar el envío de imágenes, notas de voz y documentos entre la PC y el móvil, los pasos requeridos son:

  • Migración a Dominio Local: Configurar un dominio ficticio de texto (ej: nodo_local.local) usando el servidor DNS interno de AdGuard Home. Esto solucionará el bloqueo de certificados en las apps móviles modernas.
  • Módulo HTTP Upload: Compilar o activar el módulo mod_http_upload en Prosody. Se configurará un límite estricto de tamaño (ej: máximo 10 MB por archivo) y una tarea programada (cronjob) para limpiar la caché automáticamente cada 48 horas, protegiendo el almacenamiento de la tarjeta SD.

B. Integración de Canales y Bots de Notificación (Automatización)

Dado que la placa ya centraliza servicios críticos de la casa, el servidor XMPP puede transformarse en un centro de alertas automatizadas mediante scripts ligeros en Bash o Python:

  • Alertas del Torrent Seeder: Configurar Transmission para que envíe un mensaje automático al chat (”usuario_pc”) en cuanto una descarga finalice con éxito.
  • Reportes de AdGuard Home: Notificaciones semanales con estadísticas de consultas bloqueadas o alertas si se detecta actividad inusual en la red.
  • Estado del Servidor: Alertas automáticas si la temperatura de la CPU de la Orange Pi supera los 60°C o si el almacenamiento de la raíz (/) llega al 90%.

C. Salas de Conversación Temáticas (MUC)

Configurar el módulo de salas multiusuario (Multi-User Chat) para fragmentar la comunicación local sin salir del ecosistema ligero de Yaxim/Pidgin:

  • Crear salas fijas independientes (ej: #alertas@192.168.1.50 para los bots y #general@192.168.1.50 para comunicación humana), manteniendo el flujo de datos ordenado.

D. Puente de Respaldos de Texto Plano

Utilizar el canal como un bloc de notas instantáneo y privado. Al enviarse comandos, fragmentos de código o notas rápidas entre el celular y la computadora, todo queda guardado en el historial local del servidor, sirviendo como una alternativa privada a herramientas comerciales de sincronización de notas.

7. Recursos y Enlaces de Interés

prosody.1782532638.txt.gz · Última modificación: por morezane