Converter jsonlz4 para html

Converter JSONLZ4 para HTML

Exporte backups de favoritos do Firefox ou renderize arquivos JSONLZ4 de recuperação de sessão como HTML local.

Crie ficheiros HTML online

Ainda não conseguimos ler ficheiros JSONLZ4, por isso esta conversão não está disponível. Se conseguir exportar o seu trabalho para um destes formatos ou outros, transformamo-lo em HTML:

Como converter jsonlz4 para html arquivo

  • Internet

Os usuários do Firefox podem precisar de um arquivo de favoritos HTML para outro navegador, de uma lista de links compartilhável ou de um arquivo. Um backup .jsonlz4 não pode ser aberto como uma página da Web; o processo correto depende de ele ser um backup de favoritos do Firefox ou um arquivo de recuperação de sessão.

O que JSONLZ4 contém

JSONLZ4 não é um formato de documento de uso geral. Geralmente significa JSON compactado com o wrapper LZ4 da Mozilla, cujos arquivos começam com a assinatura de oito bytes mozLz40\0. Mozilla Firefox usa esse formato para backups automáticos de favoritos e dados de recuperação de sessão.

Os arquivos na pasta bookmarkbackups de um perfil do Firefox contêm favoritos, pastas, separadores e metadados relacionados aos favoritos. Arquivos como recovery.jsonlz4, previous.jsonlz4 e upgrade.jsonlz4-* em sessionstore-backups contêm janelas salvas, abas, URLs, títulos e o estado da sessão. O banco de dados atual de favoritos do Firefox, places.sqlite, não é um arquivo JSONLZ4.

Encontre o perfil ativo do Firefox em Help → More Troubleshooting Information → Profile Folder → Open Folder. Copie o backup antes de trabalhar com ele, pois o Firefox pode substituir os arquivos de recuperação de sessão enquanto está em execução.

O que HTML oferece

HTML é um formato de texto legível por navegadores que pode conter links clicáveis, títulos e a estrutura de pastas de favoritos. A exportação de favoritos do Firefox usa o formato Netscape Bookmark HTML, amplamente compatível, que pode ser importado pelo Firefox, Chrome, Edge e muitos outros navegadores; já um arquivo HTML de sessão é um arquivo legível e não pode restaurar uma sessão do navegador.

Exportar um backup de favoritos do Firefox

Este é o procedimento recomendado para um arquivo da pasta bookmarkbackups; não o descompacte manualmente. No Firefox, primeiro exporte ou faça backup dos favoritos atuais, pois restaurar um backup substitui o conjunto de favoritos existente.

  1. Abra Bookmarks → Manage Bookmarks.
  2. Selecione Import and Backup → Restore → Choose File e, em seguida, selecione o backup de favoritos .jsonlz4 copiado.
  3. Depois que o Firefox o restaurar, selecione Import and Backup → Export Bookmarks to HTML e salve o arquivo .html.

O HTML exportado preserva as pastas de favoritos e é o arquivo apropriado para importar favoritos para outro navegador. Restaurar um backup de favoritos não restaura abas abertas nem cookies de sessão.

Renderizar um backup de sessão como HTML

Um arquivo da pasta sessionstore-backups não pode ser restaurado pelo menu de favoritos do Firefox nem exportado como favoritos. Use uma instalação local do Python 3 e o pacote lz4 mantido para descompactá-lo e criar uma lista de links sem enviar títulos de abas, URLs e termos de pesquisa potencialmente confidenciais.

python -m pip install lz4
python jsonlz4_to_html.py recovery.jsonlz4 session.html

Salve o conteúdo a seguir como jsonlz4_to_html.py. A carga útil do Firefox é um bloco LZ4 bruto sem um tamanho descompactado armazenado, portanto o script aumenta o buffer de saída até que a descompactação seja concluída.

import html
import json
import sys
from pathlib import Path

import lz4.block


def decompress_mozlz4(data):
    if not data.startswith(b"mozLz40\0"):
        raise ValueError("Not a Firefox Mozilla-LZ4 JSON file.")
    payload = data[8:]
    size = max(1024, len(payload) * 4)
    while size <= 2 * 1024 ** 3:
        try:
            return lz4.block.decompress(payload, uncompressed_size=size)
        except lz4.block.LZ4BlockError:
            size *= 2
    raise ValueError("Unable to decompress the file.")


if len(sys.argv) != 3:
    raise SystemExit("Usage: python jsonlz4_to_html.py input.jsonlz4 output.html")

session = json.loads(decompress_mozlz4(Path(sys.argv[1]).read_bytes()))
parts = [
    "<!doctype html><meta charset='utf-8'><title>Firefox session tabs</title>",
    "<style>body{font:16px system-ui,sans-serif;margin:2rem;max-width:70rem}"
    "li{margin:.45rem 0;overflow-wrap:anywhere}small{color:#555}</style>",
    "<h1>Firefox session tabs</h1>",
]

for number, window in enumerate(session.get("windows", []), 1):
    parts.append(f"<h2>Window {number}</h2><ol>")
    for tab in window.get("tabs", []):
        entries = tab.get("entries", [])
        if not entries:
            continue
        try:
            index = int(tab.get("index", 1)) - 1
        except (TypeError, ValueError):
            index = 0
        entry = entries[max(0, min(index, len(entries) - 1))]
        url = str(entry.get("url", ""))
        title = str(entry.get("title") or url or "(untitled tab)")
        safe_url = html.escape(url, quote=True)
        safe_title = html.escape(title, quote=True)
        if url.startswith(("https://", "http://")):
            parts.append(f'<li><a href="{safe_url}" target="_blank" rel="noopener noreferrer">{safe_title}</a><br><small>{safe_url}</small></li>')
        else:
            parts.append(f"<li>{safe_title}<br><small>{safe_url}</small></li>")
    parts.append("</ol>")

parts.append("</html>")
Path(sys.argv[2]).write_text("\n".join(parts), encoding="utf-8")

Abra session.html localmente. O script cria links somente para URLs http:// e https://; endereços about:, de extensões e de arquivos locais permanecem como texto para evitar a ativação de locais que não sejam da Web.

Limites de compatibilidade e privacidade

A saída da sessão registra apenas a entrada de histórico selecionada de cada aba. Ela não preserva o histórico de navegação para frente e para trás, cookies, logins, campos de formulário, identidades de contêineres, estado de extensões ou estado de abas suspensas, e não pode recriar a sessão original.

Um arquivo .jsonlz4 desconhecido pode usar uma variante LZ4 diferente ou conter JSON não relacionado. No macOS ou Linux, verifique a assinatura do wrapper do Firefox com xxd -l 8 filename.jsonlz4; se ela não for mozLz40\0, não use o script específico do Firefox.

Não existe um serviço online confiável e estabelecido que converta diretamente backups de sessão JSONLZ4 do Firefox em HTML seguro. Sites gerais de conversão exigem o envio de dados de navegação e podem não reconhecer o wrapper da Mozilla; use o processamento local ou descompacte e remova dados confidenciais do JSON antes de considerar qualquer ferramenta baseada na Web.

Comparação de formato: JSONLZ4 vs HTML

Como os formatos JSONLZ4 e HTML se comparam nas propriedades mais importantes para esta conversão.

Comparação dos formatos de arquivo JSONLZ4 e HTML
Propriedade .JSONLZ4 Mozilla JSONLZ4 session backup .HTML HyperText Markup Language
Abre num navegador web Não Sim, nativamente
Legível em texto simples Não Sim
Formatação de texto Nenhum Extenso
Imagens Não Sim
Elementos interativos Não Sim
Edição posterior Limitado Fácil
Tamanho típico do arquivo Pequeno Pequeno
Padrão aberto Não Sim
Introduzido — 1993
Desenvolvedor Mozilla W3C / WHATWG
Tipo MIME — text/html

O banco de dados atualmente não contém nenhum conversor de arquivo jsonlz4.

Outras conversões de arquivo .jsonlz4

Converter para .html
de outros formatos

Compartilhar nas redes sociais: