Files
app_compartir/.agente/tareas.md
T

5.2 KiB

tareas.md — Control de tareas de app_compartir (drop.sigmac.app)

Registro ágil de tareas completadas, en progreso y backlog priorizado.


✅ Tareas Completadas

  • Base de Datos y Esquema: SQLite DAL (modernc.org/sqlite) con tablas shares, users, sessions en modo WAL.
  • Subida de Archivos y Texto: Endpoints /api/upload (multipart hasta 500 MB) y /api/share-text (notas rápidas y código).
  • Visor Universal Adaptativo (/v/{id}): Vista previa nativa para imágenes con zoom, video HTML5, audio HTML5, lector de PDF embebido y visualizador de código con botón de copia.
  • Generador de QR Nativo: Endpoint /qr/{id} con salida PNG (256x256) generado en Go nativo vía github.com/skip2/go-qrcode.
  • Worker de Purga Automática 24h: Goroutine en segundo plano (cleaner.go) que elimina archivos físicos y filas de BD vencidas de usuarios Guest.
  • Autenticación Dual: Login corporativo con Telcotronics WebControl (api.siax-system.net) y Google OAuth2.
  • Panel "Mis Archivos": Interfaz /mis-archivos para usuarios autenticados con almacenamiento permanente, estadísticas y borrado manual.
  • Scripts de Despliegue: desplegar.sh (compilación Linux amd64, transferencia scp/rsync) e init.sh (ejecutor en servidor).
  • Integración con SIAX Monitor: Servicio systemd siax-app-DROP_SIGMAC_APP.service para supervisión en puerto 2008 / 8080.
  • Soporte de Reverse Proxy: Manejo dinámico de encabezados Apache (X-Forwarded-Proto, Host, X-Forwarded-For).
  • Pruebas Automatizadas: Suite de tests unitarios y de integración en main_test.go verificando la retención 24h vs permanencia.
  • Registro en MCP de Infraestructura: Registrado oficialmente con ID 34 en MariaDB (http://192.168.10.160:3007/api/services/34).
  • Espejo de Infraestructura: Sincronizado .agente/infraestructura.md con /home/pablinux/Projects/infraestructura.md.
  • Identidad del Agente: Creación de id_agente.md en la raíz del repositorio.
  • Centro de Comunicaciones sigma-robot: Autorizado formalmente por Pablinux como Agente ID 86 (Agente drop.sigmac.app). Token definitivo resguardado en .env (modo 600).
  • Despliegue a Producción (CT 132 server-webapps): Desplegado y ejecutándose activamente como siax-app-DROP_SIGMAC_APP.service supervisado por SIAX Monitor (:8080), escuchando en puerto interno 2008 (dejando el 2006 reservado para audio_control). Subida atómica y reinicio automático operativo.
  • Proxy Reverso Apache (SSL port 443 en CT 150): Configurado por Pablinux y verificado operando al 100% en https://drop.sigmac.app (redirección 301 de HTTP a HTTPS, terminación SSL y proxy a :2008). Detección inteligente de HTTPS en enlaces generados y códigos QR.
  • Identidad Visual e Iconos del Proyecto: Creación de conjunto completo de iconos SVG vectoriales y ráster (SVG, ICO multi-resolución, PNG 64/192/512 px) con temática visual de transferencia (verde esmeralda / cian sobre grafito). Integrados en web/templates/base.html (meta tags, favicon, icono de marca en navbar) y expuestos vía /favicon.ico, /favicon.svg y /static/*. Desplegado en producción.
  • Auditoría y Blindaje de Seguridad en Subidas (RCE / Stored XSS / MIME Sniffing):
    • Neutralización de scripts .php, .phtml, .phar, .sh, .cgi y archivos .html para que nunca se sirvan como ejecutables o código HTML activo.
    • Implementación de cabeceras de Sandbox (Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox, X-Content-Type-Options: nosniff, X-Frame-Options: DENY) en /raw/{id}.
    • Middleware global de cabeceras de seguridad (nosniff, SAMEORIGIN, strict-origin-when-cross-origin, Permissions-Policy).
    • Protección en disco con permisos 0640 (sin bit +x) y archivo preventivo .htaccess en uploads/ (Require all denied para scripts).
    • Sanitización anti-path traversal multiplataforma (eliminando \ y secuencias ..).
    • Protección de cookies de sesión con flag Secure: true bajo HTTPS.
    • Límite de 5 MB en endpoint /api/share-text contra DoS por memoria.
    • Suite de pruebas de seguridad automatizada en main_test.go (TestSecurityProtections).

🚀 En Progreso / Inmediatas

  • Creación del Repositorio Git Remoto:
    • Crear repo en git.telcotronics.net/pablinux/app_compartir.git.
    • Configurar git remote add origin ... y realizar primer push.

📋 Backlog Priorizado

Fase 2: Experiencia y Utilidades

  • Descarga Multi-archivo Comprimida (.zip):
    • Empaquetar múltiples archivos en un único archivo zip descargable al vuelo.
  • Protección por PIN / Contraseña opcional:
    • Permitir a quien comparte proteger el visor con una clave de 4-6 dígitos.
  • Modo de un solo uso (Burn after reading):
    • Auto-destrucción inmediata del archivo tras la primera descarga o visualización.

Fase 3: Integraciones del Ecosistema

  • Notificaciones a sigma-robot:
    • Enviar eventos al bot o a Pablinux cuando se descargue un archivo relevante.
  • Widget publicitario app_marketing:
    • Integrar widget ligero de ads.sigmac.app opcional en la pantalla de descarga de invitados.