82 lines
5.9 KiB
Markdown
82 lines
5.9 KiB
Markdown
# objetivos.md — Objetivos del proyecto
|
|
|
|
> Cosas que deben implementarse o cumplirse, sin importar cuándo.
|
|
> Describen QUÉ — no cómo. El cómo va en proyecto_memoria.md cuando se ejecuta.
|
|
>
|
|
> Flujo: ideas.md → objetivos.md → (en ejecución) → proyecto_memoria.md
|
|
|
|
---
|
|
|
|
## Pendientes
|
|
|
|
| # | Objetivo | Origen | Prioridad |
|
|
|---|----------|--------|-----------|
|
|
| 1 | Soporte para compresión zip en descargas multi-archivo | pablinux | Media |
|
|
| 2 | Notificación opcional por bot o webhook al compartir | pablinux | Baja |
|
|
| 3 | Transferencia directa P2P navegador a navegador (WebRTC) | pablinux | Media |
|
|
| 4 | Widget publicitario del ecosistema (ads.sigmac.app) en vistas de invitados | pablinux | Baja |
|
|
| 5 | Protección por PIN / Contraseña opcional en enlaces compartidos | pablinux | Media |
|
|
| 6 | Modo de un solo uso (Burn after reading) con autodestrucción inmediata | pablinux | Media |
|
|
|
|
---
|
|
|
|
### Detalle de Objetivos Pendientes
|
|
|
|
#### 🎯 Objetivo 3: Transferencia directa P2P navegador a navegador (WebRTC)
|
|
- **Qué debe cumplirse:**
|
|
1. Permitir la transferencia directa de archivos de gran volumen (cientos de MB o varios GB) directamente entre dispositivos sin almacenar el archivo en el disco del servidor.
|
|
2. Implementar un servidor de señalización WebRTC ultraligero en Go (vía WebSocket o SSE/HTTP POST) para el intercambio de ofertas, respuestas y candidatos ICE entre emisor y receptor.
|
|
3. Transmisión de datos mediante `RTCDataChannel` cifrado punto a punto en el navegador.
|
|
4. Integración fluida con el flujo actual: el emisor abre la sala, se genera un enlace/QR dinámico, el receptor lo abre en su navegador y comienza la transferencia directa.
|
|
5. Interfaz con barra de progreso bidireccional, velocidad de transferencia y estado de conexión (esperando receptor, conectado, transfiriendo, completado).
|
|
6. Si no hay conexión P2P directa (NAT simétrico estricto), informar claramente al usuario o requerir conexión en la misma red local / STUN básico.
|
|
|
|
#### 🎯 Objetivo 4: Widget publicitario del ecosistema (ads.sigmac.app)
|
|
- **Qué debe cumplirse:**
|
|
1. Integrar banners o anuncios contextuales no intrusivos provenientes de `ads.sigmac.app` exclusivamente en las vistas públicas de usuarios invitados (Guest): página principal, visor `/v/{id}` y página de descarga.
|
|
2. Los usuarios autenticados (WebControl / Google OAuth) en `/mis-archivos` y sus visores estarán 100% libres de publicidad.
|
|
3. Carga asíncrona desacoplada: el widget no debe demorar la carga de la página, la previsualización ni la descarga del archivo. Si el servicio de anuncios no responde o falla, el contenedor se oculta limpiamente sin alterar la UI.
|
|
4. Respetar las políticas de seguridad estrictas vigentes (CSP, sandbox, aislamiento contra XSS).
|
|
5. Diseño integrado al tema oscuro (dark mode) del proyecto, sin popups ni redirecciones invasivas.
|
|
|
|
#### 🎯 Objetivo 5: Protección por PIN / Contraseña opcional
|
|
- **Qué debe cumplirse:**
|
|
1. Permitir al creador del share definir un PIN numérico (4-6 dígitos) o contraseña alocada al subir archivo o texto.
|
|
2. El visor `/v/{id}`, descarga `/d/{id}` y raw `/raw/{id}` deben solicitar el PIN antes de entregar o previsualizar el contenido.
|
|
3. Almacenamiento seguro del hash del PIN en SQLite (bcrypt / argon2) sin almacenar texto claro.
|
|
|
|
#### 🎯 Objetivo 6: Modo de un solo uso (Burn after reading)
|
|
- **Qué debe cumplirse:**
|
|
1. Opción al subir para marcar el contenido como "Auto-destrucción tras lectura / descarga".
|
|
2. Tras la primera visualización exitosa o descarga completa, el archivo físico se purga de inmediato del disco y el registro se marca como destruido o eliminado en SQLite.
|
|
3. Intentos posteriores de acceso redirigen a una vista informativa indicando que el archivo ya fue destruido.
|
|
|
|
---
|
|
|
|
## En curso
|
|
|
|
| # | Objetivo | Iniciado |
|
|
|---|----------|----------|
|
|
| — | — | — |
|
|
|
|
---
|
|
|
|
## Completados
|
|
|
|
| Fecha | Objetivo | Notas |
|
|
|---|---|---|
|
|
| 2026-10-12 | Estructura base de agentes y documentación inicializada | Plantilla Telcotronics |
|
|
| 2026-10-13 | Subida rápida de archivos (drag & drop, pegar con Ctrl+V, selector) | Soporte para multipart y streaming de hasta 500MB |
|
|
| 2026-10-13 | Compartir texto/código o notas rápidas | Endpoint `/api/share-text` con extracción automática de título |
|
|
| 2026-10-13 | Visor universal embebido (`/v/{id}`) para imágenes, videos, audios, PDFs, textos | Detección automática MIME y reproductores dedicados |
|
|
| 2026-10-13 | Generador instantáneo de enlaces y código QR para móviles | Generación de QR nativa con `github.com/skip2/go-qrcode` |
|
|
| 2026-10-13 | Sesión Guest con auto-eliminación obligatoria en 24h (física y BD) | Worker periódico de purga en segundo plano verificado con tests |
|
|
| 2026-10-13 | Cuentas registradas (Google y WebControl) con almacenamiento permanente | Cuentas no-guest exentas de borrado a las 24h |
|
|
| 2026-10-13 | Panel / lista de "Mis Archivos" para usuarios registrados con opción de borrado | Interfaz `/mis-archivos` con métricas de visitas y eliminación |
|
|
| 2026-10-14 | Scripts de despliegue estándar (`desplegar.sh`, `init.sh`) y servicio para SIAX Monitor | Compilación Go estática, scp, servers.conf y systemd |
|
|
| 2026-10-17 | Registro oficial en MCP Infraestructura (ID 34) | Ficha técnica completa registrada en MariaDB bajo categoría application |
|
|
| 2026-10-17 | Registro en centro de comunicaciones de agentes (sigma-robot) | Identidad `Agente drop.sigmac.app` registrada vía REST; credenciales en `.env` |
|
|
| 2026-10-17 | Sincronización de normas y archivos base del ecosistema | Creación de `id_agente.md`, `reglas.md`, `tareas.md` y espejo de `infraestructura.md` |
|
|
| 2026-10-19 | Despliegue en producción en CT 132 con SIAX Monitor (:8080) | Servicio `siax-app-DROP_SIGMAC_APP.service` operativo en puerto 2008 |
|
|
| 2026-10-20 | Puesta en producción pública vía HTTPS en drop.sigmac.app | Proxy Apache con SSL operativo, URLs y QR dinámicos con protocolo HTTPS verificado |
|