6.0 KiB
6.0 KiB
proyecto_memoria.md — Memoria técnica del proyecto
Decisiones tomadas, razonamiento detrás de cada elección y estado actual. Actualizar con cada decisión técnica relevante.
Decisiones técnicas
| Fecha | Decisión | Razonamiento |
|---|---|---|
| 2026-10-12 | Inicialización de la estructura estándar de documentación de agentes | Estandarización bajo el ecosistema Telcotronics. |
| 2026-10-12 | Política de caducidad 24h exclusiva para usuarios Guest | El usuario solicitó explícitamente que los archivos subidos por invitados se eliminen a las 24 horas, mientras que los usuarios registrados (Google OAuth / WebControl) mantengan sus archivos de manera permanente. |
| 2026-10-12 | Visor integrado universal para evitar depender de WhatsApp | Permite abrir imágenes, reproducir video/audio, leer PDFs y ver texto o código directamente desde el navegador sin apps externas. |
| 2026-10-12 | Backend autónomo en Go con SQLite | Binario único de alto rendimiento, bajo consumo de memoria y concurrencia nativa con goroutine para la limpieza periódica. |
| 2026-10-13 | Generación de QR nativa en Go vía /qr/{id} |
Se utiliza github.com/skip2/go-qrcode para servir el QR directamente en formato PNG (256x256), garantizando compatibilidad total con cualquier cámara de smartphone sin depender de scripts cliente pesados. |
| 2026-10-13 | Soporte doble de login: WebControl corporativo + Google OAuth | Brinda flexibilidad tanto para colaboradores del ecosistema Telcotronics (vía api.siax-system.net) como para usuarios externos con Google. |
| 2026-10-14 | Adopción de la marca y dominio drop.sigmac.app |
Nombre conciso, memorable y alineado con los servicios y subdominios del ecosistema SIGMA (sigmac.app). |
| 2026-10-17 | Registro oficial en MCP Infraestructura (ID 34) e identidad de agente | Se vinculó el proyecto al inventario central MariaDB vía API REST (:3007), asignando ID 34 bajo categoría application, y se creó id_agente.md según el estándar de identidad del ecosistema. |
| 2026-10-19 | Despliegue en producción en CT 132 con supervisión SIAX Monitor | Se desplegó en server-webapps. Registrado en SIAX Monitor (:8080) como siax-app-DROP_SIGMAC_APP.service, habilitando reinicio atómico vía API sin sudo. |
| 2026-10-20 | Reasignación de puerto a 2008 para liberar 2006 a audio_control | Se acordó con pablinux liberar el puerto 2006 para audio_control (correlativo a SoundWave en 2005) y trasladar drop.sigmac.app al puerto 2008 en CT 132 y MCP Infraestructura (ID 34). |
| 2026-10-20 | Activación de dominio público https://drop.sigmac.app | Pablinux configuró el proxy reverso Apache en CT 150 con SSL Let's Encrypt. Se optimizó getBaseURL() para forzar HTTPS en los enlaces y códigos QR generados cuando el Host es drop.sigmac.app. |
| 2026-10-20 | Identidad visual e iconos multi-formato (SVG, ICO, PNG) | Se diseñó un icono SVG escalable con flecha bidireccional y pulsos de transferencia en colores esmeralda/cian sobre contenedor squircle grafito oscuro. Se generaron versiones PNG (64, 192, 512 px) e ICO multi-resolución, enlazados en el navbar y servidos nativamente en /favicon.ico y /favicon.svg. |
| 2026-10-21 | Blindaje de seguridad y protección contra ejecución de scripts (RCE/XSS/MIME) | Se auditaron riesgos de subida de scripts (.php, .phtml, .sh, .html, .svg). Se neutralizó la detección de MIME impidiendo que scripts se sirvan como ejecutables o HTML activo (Stored XSS). Se implementó Sandbox CSP, nosniff, DENY de frames en /raw/, permisos estrictos 0640 sin +x en disco, .htaccess preventivo en uploads/, flag Secure en cookies HTTPS, límite de 5 MB en share-text y sanitización reforzada contra path traversal multiplataforma. |
Estado actual
Versión funcional completa y validada:
- Subida de archivos por Drag & Drop, selección o pegado directo con
Ctrl+V. - Subida de notas/código con pestaña interactiva.
- Visor universal adaptativo con vista previa multimedia, lector de PDF y código con botón de copia.
- Purga automática cada 10 minutos para archivos guest > 24h (test automatizado superado en
main_test.go). - Cuentas registradas con almacenamiento permanente y panel
/mis-archivos. - Registrado oficialmente en el MCP de Infraestructura (ID 34) y sincronizado con espejo local
.agente/infraestructura.md. - Desplegado y ejecutándose activamente en producción (CT 132 puerto 2008) supervisado por SIAX Monitor.
- Enrutamiento público operativo al 100% en
https://drop.sigmac.appcon SSL.
Tareas implementadas
- Implementar base de datos SQLite y esquema de tablas (
shares,users,sessions) - Implementar endpoints HTTP de subida (
/api/upload,/api/share-text) - Implementar visor universal
/v/{id}(HTML + Tailwind + QR) - Implementar worker de purga de archivos guest vencidos (24 horas)
- Implementar auth con WebControl (
api.siax-system.net) y Google OAuth2 - Implementar panel "Mis Archivos" para usuarios autenticados
- Sincronizar sección de infraestructura en global e internal para MCP
- Crear scripts de despliegue estándar (
desplegar.sh,init.sh,servers.conf.example) - Integrar servicio systemd para SIAX Monitor (
siax-app-DROP_SIGMAC_APP.service) - Soporte para proxy reverso dinámico Apache (
X-Forwarded-Proto,Host) en puerto 2008 - Registrar proyecto en MCP de Infraestructura (ID 34) y crear
id_agente.mdoficial - Desplegar en producción en
server-webapps(CT 132, :2008) y registrar en SIAX Monitor (:8080) - Crear icono SVG/PNG/ICO e integrarlo en la cabecera, navbar y servidor HTTP en producción
- Auditar y blindar seguridad contra RCE, Stored XSS, MIME sniffing, Path Traversal y DoS en subidas y raw
Notas y observaciones
- Los archivos se almacenan en
data/uploads/y la base de datos endata/compartir.db. - Los slugs son de 7 caracteres alfanuméricos no ambiguos generados criptográficamente.
- Las sesiones de invitados se manejan mediante cookies seguras HTTP-only para permitir el flujo sin fricción.