Files
ca-archive/STATUS.md
2026-02-08 23:35:53 +01:00

278 líneas
8.4 KiB
Markdown

# Estado del Proyecto - Classic Add-ons Archive v3.0
**Fecha:** 8 de febrero de 2026
**Versión:** 3.0.0
**Estado:** ✅ Modernizado a WebExtensions Manifest v2
---
## ✅ Completado
### Migración a WebExtensions
- ✅ Manifest v2 creado (`manifest.json`)
- ✅ Background script modernizado (`background.js`)
- ✅ Base de datos migrada a sql.js (`content/db-webext.js`)
- ✅ HTML/JS actualizados (rutas relativas, hash routing)
- ✅ Validación web-ext: 0 errores
### Sistema de Firma
- ✅ Scripts de firma implementados (`build.sh`, `scripts/generate-keys.sh`)
- ✅ Soporte para AMO (Firefox) con JWT
- ✅ Soporte para Chrome CRX con RSA keys
- ✅ web-ext instalado localmente (no requiere global)
### Documentación
- ✅ [QUICK-START.md](QUICK-START.md) - Guía rápida de instalación
- ✅ [INSTALL.md](INSTALL.md) - Instalación detallada
- ✅ [TROUBLESHOOTING.md](TROUBLESHOOTING.md) - Problemas conocidos (Firefox sin firma, Chrome Manifest v2)
- ✅ [SIGNING.md](SIGNING.md) - Sistema de firma AMO/Chrome
- ✅ [MIGRATION.md](MIGRATION.md) - Cambios desde v2.x
- ✅ [README.md](README.md) - Actualizado con info v3.0
---
## ⚠️ Problemas Actuales
### 1. Firefox: No instala sin firma (RESUELTO EN DOCUMENTACIÓN)
**Problema:**
- Firefox Release NO permite deshabilitar `xpinstall.signatures.required`
- Incluso con el flag en `false`, sigue requiriendo firma
**Soluciones documentadas:**
-**Opción 1 (Recomendada):** Firefox Developer Edition o Nightly
- Descargar: https://www.mozilla.org/firefox/developer/
- Permite `xpinstall.signatures.required=false`
- Instalación permanente sin necesidad de AMO
-**Opción 2:** Carga temporal
- `about:debugging` → "Cargar complemento temporal"
- Se borra al cerrar Firefox, pero funciona inmediatamente
-**Opción 3:** Firma con AMO (para distribución)
- Requiere credenciales reales de AMO (ver siguiente sección)
- `./build.sh --sign` genera `.xpi` firmado
**Documentación:** [TROUBLESHOOTING.md#firefox](TROUBLESHOOTING.md#firefox-add-on-could-not-be-installed-because-it-is-not-signed-sin-poder-deshabilitar-firma)
---
### 2. Firma AMO: Requiere credenciales reales (PENDIENTE USUARIO)
**Estado actual:**
- ❌ Archivo `private-keys/firefox-amo-credentials.json` tiene credenciales de ejemplo
- ❌ Error al firmar: "Unknown JWT iss (issuer)" - Status 401
**Motivo:**
Las credenciales de ejemplo NO funcionan. Valores actuales:
```json
{
"apiKey": "user:12345678:123", Ejemplo, no válido
"apiSecret": "1234567890abcdef...", Ejemplo, no válido
}
```
**Acción requerida:**
1. Obtener credenciales reales de AMO:
- https://addons.mozilla.org/developers/addon/api/key/
- Generar nuevo par de credenciales
- Copiar "JWT issuer" (apiKey) y "JWT secret" (apiSecret)
2. Actualizar archivo:
```bash
nano private-keys/firefox-amo-credentials.json
```
Reemplazar con tus credenciales reales
3. Volver a firmar:
```bash
./build.sh --sign
```
**Documentación:** [SIGNING.md#firefox](SIGNING.md#-paso-2-configurar-credenciales-de-firefox-amo)
---
### 3. Chrome: Manifest v2 bloqueado (RESUELTO EN DOCUMENTACIÓN)
**Problema:**
- Chrome 127+ (junio 2024) bloqueó Manifest v2
- Esta extensión usa Manifest v2 (necesario para sql.js con `'unsafe-eval'`)
- Error: "Manifest version 2 is deprecated/not supported"
**Estado de navegadores (2026):**
| Navegador | Estado | Solución |
|-----------|--------|----------|
| Chrome 127+ | ❌ Bloqueado | Usa Firefox, Edge o Brave |
| Edge | ✅ Funciona | Modo desarrollador |
| Brave | ✅ Funciona | Modo desarrollador |
| Firefox | ✅ Completo | Soporte Manifest v2 indefinido |
**Migración a Manifest v3:**
- ❌ No implementada (requiere reescritura significativa)
- ⚠️ Incompatibilidad: sql.js requiere `'unsafe-eval'` (prohibido en v3)
- 💡 Solución futura: Migrar a IndexedDB nativa en lugar de sql.js
**Documentación:** [TROUBLESHOOTING.md#chrome](TROUBLESHOOTING.md#chrome-manifest-version-2-is-deprecated-o-not-supported)
---
## 🎯 Recomendaciones de Instalación
### Para Usuarios Finales
**Mejor opción:** Firefox Developer Edition
```bash
1. Descargar: https://www.mozilla.org/firefox/developer/
2. about:config → xpinstall.signatures.required → false
3. ./build.sh
4. Arrastra dist/ca-archive-3.0.0.xpi a Firefox
```
✅ Instalación permanente sin necesidad de firma
**Alternativa rápida:** Carga temporal en Firefox
```bash
1. about:debugging#/runtime/this-firefox
2. "Cargar complemento temporal"
3. Selecciona manifest.json
```
⚠️ Se desinstala al cerrar Firefox
**Para Chrome:** No compatible (usa Firefox, Edge o Brave)
---
### Para Desarrolladores
**Testing local:**
```bash
# Carga temporal en Firefox
about:debugging → manifest.json
# O modo desarrollador en Edge/Brave
edge://extensions/ → "Cargar extensión sin empaquetar"
```
**Construcción:**
```bash
# Empaquetar sin firma
./build.sh
# Empaquetar con firma (requiere credenciales AMO reales)
./build.sh --sign
```
**Validación:**
```bash
# Lint con web-ext
npm run lint
# Verificar sintaxis manifest
python3 -m json.tool manifest.json
```
---
## 📦 Archivos Generados
### Build sin firma (`./build.sh`)
```
dist/
├── ca-archive-3.0.0.xpi # Firefox (sin firma)
└── ca-archive-3.0.0.zip # Chrome/Edge/Brave (sin firma)
```
### Build con firma (`./build.sh --sign`)
```
dist/
├── ca-archive-3.0.0-signed.xpi # Firefox firmado (AMO)
├── ca-archive-3.0.0.crx # Chrome firmado (CRX)
├── firefox-sign.log # Log de firma Firefox
└── chrome-sign.log # Log de firma Chrome
```
---
## 🔑 Archivos de Claves (Privados)
```
private-keys/
├── chrome-extension.pem # Clave RSA privada Chrome
├── chrome-extension-id.txt # Extension ID calculado
└── firefox-amo-credentials.json # Credenciales AMO
```
⚠️ **NUNCA** subir estos archivos a Git (ya están en `.gitignore`)
---
## 📊 Estadísticas del Proyecto
- **Líneas de código:** ~2500 (sin contar DB)
- **Archivos creados/modificados:** 20+
- **Documentación:** 7 archivos Markdown
- **Scripts:** 3 bash scripts + npm scripts
- **Base de datos:** ca-archive-19030501.sqlite (~50MB)
- **Addons catalogados:** 19,450 extensiones
- **Versiones totales:** 93,598 versiones
---
## 🚀 Próximos Pasos
### Inmediatos
1. **Instalar en Firefox Developer:**
- [ ] Descargar Firefox Developer Edition
- [ ] Configurar `xpinstall.signatures.required=false`
- [ ] Instalar extensión con `./build.sh`
2. **Firmar con AMO (opcional, para distribución):**
- [ ] Obtener credenciales reales de AMO
- [ ] Actualizar `private-keys/firefox-amo-credentials.json`
- [ ] Ejecutar `./build.sh --sign`
- [ ] Distribuir `.xpi` firmado
### Futuro
- [ ] Considerar migración a Manifest v3 cuando Firefox lo requiera
- [ ] Evaluar migrar de sql.js a IndexedDB nativa (eliminar `'unsafe-eval'`)
- [ ] Publicar en AMO (Firefox Add-ons Store)
- [ ] Actualizar base de datos con nuevos addons (si aplica)
- [ ] Agregar tests automatizados
- [ ] CI/CD con GitHub Actions
---
## 📚 Documentación Completa
| Archivo | Propósito |
|---------|-----------|
| [QUICK-START.md](QUICK-START.md) | ⚡ Instalación rápida por navegador |
| [INSTALL.md](INSTALL.md) | 📦 Guía de instalación completa |
| [TROUBLESHOOTING.md](TROUBLESHOOTING.md) | 🐛 Problemas conocidos y soluciones |
| [SIGNING.md](SIGNING.md) | 🔐 Sistema de firma AMO/Chrome |
| [MIGRATION.md](MIGRATION.md) | 📖 Cambios desde v2.x legacy |
| [README.md](README.md) | 📄 Información general del proyecto |
| [STATUS.md](STATUS.md) | 📊 Este archivo - estado del proyecto |
---
## 🆘 Soporte
**Problemas documentados:**
- Firefox sin firma → [TROUBLESHOOTING.md](TROUBLESHOOTING.md#firefox-add-on-could-not-be-installed-because-it-is-not-signed-sin-poder-deshabilitar-firma)
- Chrome Manifest v2 → [TROUBLESHOOTING.md](TROUBLESHOOTING.md#chrome-manifest-version-2-is-deprecated-o-not-supported)
- Firma AMO 401 → [SIGNING.md](SIGNING.md#error-unknown-jwt-iss-issuer---status-401)
- Base de datos no carga → [TROUBLESHOOTING.md](TROUBLESHOOTING.md#loading-database-for-the-first-time-se-queda-cargando)
**GitHub:**
- Issues: https://github.com/JustOff/ca-archive/issues
- Discusiones: https://github.com/JustOff/ca-archive/discussions
---
**Última actualización:** 8 de febrero de 2026
**Autor:** Classic Add-ons Archive Team
**Licencia:** MPL 2.0