Estoy tratando de manejar el formato de archivo propietario de Mozilla Firefox .jsonlz4
, que se usa, por ejemplo, para sessionstore-backups/recovery.jsonlz4
, pero fue en vano.
¿Cómo recupero mis datos, específicamente, un texto largo que he escrito en algunas áreas de texto de una sesión bloqueada? ¡Son mis datos!
.jsonlz4
archivos.Respuestas:
Hay pocos resultados de Google que realmente den como resultado soluciones factibles, pero, según https://www.reddit.com/r/firefox/comments/2ps6wg/jsonlz4_bookmark_backups/ , lo siguiente parece funcionar de manera más confiable:
en
about:config
, alternar ladevtools.chrome.enabled
configuración por defecto defalse
un valor detrue
abrir Bloc de notas desde Firefox:
en la barra de menú dentro de Scratchpad de Firefox, cambie el Entorno de Contenido a Navegador (omitir este paso posteriormente generaría errores como
Exception: ReferenceError: OS is not defined
en el siguiente)use código como el siguiente en el Bloc de notas de Firefox:
El parámetro final para
JSON.stringify
manejar cuántos espacios se usarían en cada línea; poner 0 hace que todo se imprima en una sola línea, poner 1 divide las líneas correctamente (poner 2 crearía demasiado espacio en blanco inútil y aumentaría el tamaño del archivo para poco beneficio)haz clic en el
Run
botónejecutar
fgrep :textarea /Users/…/sessionstore-backups/recovery.baklz4.uncompressed.stringify
desde la aplicación Terminalfuente
OS.File.read(...
línea muestra: "ReferenceError: OS no está definido".Desafortunadamente, debido a un encabezado no estándar, las herramientas estándar no funcionarán. Hay una propuesta abierta para cambiar eso. Aparentemente, el encabezado de Mozilla fue ideado antes de que existiera un formato de marco estándar lz4; sí envuelve un bloque estándar lz4.
Dicho esto, el mismo informe de error incluye algunos métodos alternativos. Los enumeraré brevemente:
dd if=original.jsonlz4 of=stripped.lz4 bs=8 skip=1
) y eso debería dejarle un bloque válido lz4. Tenga en cuenta que esto es distinto de un marco lz4 . Si bien la mayoría de los lenguajes de programación tienen bibliotecas que pueden decodificar fácilmente un bloque, encontrar una herramienta preconstruida para hacerlo es más difícil, por ejemplo, elliblz4-tool
paquete solo acepta el formato de marco.fuente
Pude extraer las URL del archivo {profile-dir} /sessionstore-backups/recovery.jsonlz4 usando la siguiente herramienta gratuita en línea diseñada expresamente para este propósito:
https://www.jeffersonscher.com/ffu/scrounger.html
El mismo sitio ofrece una herramienta similar para descifrar archivos jsonlz4 del directorio {profile-dir} / bookmarkbackups .
fuente
En sistemas UNIX® y similares a UNIX , como Mac OS X con MacPorts, FreeBSD, OpenBSD o NetBSD con pkgsrc, la siguiente bifurcación https://github.com/cnst/lz4json de lz4json también podría usarse para compilar limpiamente cuadro, por ejemplo, en Mac OS X con MacPorts:
fuente