8.4 KiB
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 - Guía rápida de instalación
- ✅ INSTALL.md - Instalación detallada
- ✅ TROUBLESHOOTING.md - Problemas conocidos (Firefox sin firma, Chrome Manifest v2)
- ✅ SIGNING.md - Sistema de firma AMO/Chrome
- ✅ MIGRATION.md - Cambios desde v2.x
- ✅ 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 --signgenera.xpifirmado
Documentación: TROUBLESHOOTING.md#firefox
2. Firma AMO: Requiere credenciales reales (PENDIENTE USUARIO)
Estado actual:
- ❌ Archivo
private-keys/firefox-amo-credentials.jsontiene credenciales de ejemplo - ❌ Error al firmar: "Unknown JWT iss (issuer)" - Status 401
Motivo: Las credenciales de ejemplo NO funcionan. Valores actuales:
{
"apiKey": "user:12345678:123", ← ❌ Ejemplo, no válido
"apiSecret": "1234567890abcdef...", ← ❌ Ejemplo, no válido
}
Acción requerida:
-
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)
-
Actualizar archivo:
nano private-keys/firefox-amo-credentials.jsonReemplazar con tus credenciales reales
-
Volver a firmar:
./build.sh --sign
Documentación: SIGNING.md#firefox
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
🎯 Recomendaciones de Instalación
Para Usuarios Finales
Mejor opción: Firefox Developer Edition
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
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:
# Carga temporal en Firefox
about:debugging → manifest.json
# O modo desarrollador en Edge/Brave
edge://extensions/ → "Cargar extensión sin empaquetar"
Construcción:
# Empaquetar sin firma
./build.sh
# Empaquetar con firma (requiere credenciales AMO reales)
./build.sh --sign
Validación:
# 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
-
Instalar en Firefox Developer:
- Descargar Firefox Developer Edition
- Configurar
xpinstall.signatures.required=false - Instalar extensión con
./build.sh
-
Firmar con AMO (opcional, para distribución):
- Obtener credenciales reales de AMO
- Actualizar
private-keys/firefox-amo-credentials.json - Ejecutar
./build.sh --sign - Distribuir
.xpifirmado
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 | ⚡ Instalación rápida por navegador |
| INSTALL.md | 📦 Guía de instalación completa |
| TROUBLESHOOTING.md | 🐛 Problemas conocidos y soluciones |
| SIGNING.md | 🔐 Sistema de firma AMO/Chrome |
| MIGRATION.md | 📖 Cambios desde v2.x legacy |
| README.md | 📄 Información general del proyecto |
| STATUS.md | 📊 Este archivo - estado del proyecto |
🆘 Soporte
Problemas documentados:
- Firefox sin firma → TROUBLESHOOTING.md
- Chrome Manifest v2 → TROUBLESHOOTING.md
- Firma AMO 401 → SIGNING.md
- Base de datos no carga → TROUBLESHOOTING.md
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