# tareas.md — Control de tareas de app_compartir (drop.sigmac.app) > Registro ágil de tareas completadas, en progreso y backlog priorizado. --- ## ✅ Tareas Completadas - [x] **Base de Datos y Esquema:** SQLite DAL (`modernc.org/sqlite`) con tablas `shares`, `users`, `sessions` en modo WAL. - [x] **Subida de Archivos y Texto:** Endpoints `/api/upload` (multipart hasta 500 MB) y `/api/share-text` (notas rápidas y código). - [x] **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. - [x] **Generador de QR Nativo:** Endpoint `/qr/{id}` con salida PNG (256x256) generado en Go nativo vía `github.com/skip2/go-qrcode`. - [x] **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. - [x] **Autenticación Dual:** Login corporativo con Telcotronics WebControl (`api.siax-system.net`) y Google OAuth2. - [x] **Panel "Mis Archivos":** Interfaz `/mis-archivos` para usuarios autenticados con almacenamiento permanente, estadísticas y borrado manual. - [x] **Scripts de Despliegue:** `desplegar.sh` (compilación Linux amd64, transferencia scp/rsync) e `init.sh` (ejecutor en servidor). - [x] **Integración con SIAX Monitor:** Servicio systemd `siax-app-DROP_SIGMAC_APP.service` para supervisión en puerto 2008 / 8080. - [x] **Soporte de Reverse Proxy:** Manejo dinámico de encabezados Apache (`X-Forwarded-Proto`, `Host`, `X-Forwarded-For`). - [x] **Pruebas Automatizadas:** Suite de tests unitarios y de integración en `main_test.go` verificando la retención 24h vs permanencia. - [x] **Registro en MCP de Infraestructura:** Registrado oficialmente con **ID 34** en MariaDB (`http://192.168.10.160:3007/api/services/34`). - [x] **Espejo de Infraestructura:** Sincronizado `.agente/infraestructura.md` con `/home/pablinux/Projects/infraestructura.md`. - [x] **Identidad del Agente:** Creación de `id_agente.md` en la raíz del repositorio. - [x] **Centro de Comunicaciones sigma-robot:** Autorizado formalmente por Pablinux como **Agente ID 86** (`Agente drop.sigmac.app`). Token definitivo resguardado en `.env` (modo 600). - [x] **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. - [x] **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. - [x] **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. - [x] **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 - [x] **Creación del Repositorio Git Remoto:** - Configurado en `https://git.telcotronics.net/pablinux/app_compartir.git`. - Rama `main` 100% sincronizada y verificada con `origin`. --- ## 📋 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.