명령줄을 사용하여 jsonlz4 파일(Firefox 북마크 백업)의 압축을 푸는 방법은 무엇입니까?

명령줄을 사용하여 jsonlz4 파일(Firefox 북마크 백업)의 압축을 푸는 방법은 무엇입니까?

JavaScript+브라우저별 압축 해제 방법이 다양한 것 같은데, jsonlz4 파일을 읽을 수 있는 파일로 변환하는 방법이 없을까요 unlz4?

답변1

다음 명령을 사용하여 jsonlz4의 압축을 풀 수 있었습니다.lz4json:

apt-get install liblz4-dev
git clone https://github.com/andikleen/lz4json.git
cd lz4json
make
./lz4jsoncat ~/.mozilla/firefox/*/bookmarkbackups/*.jsonlz4

답변2

이 스크립트를 파일에 저장합니다. 예 mozlz4:

#!/usr/bin/env python
from sys import stdin, stdout, argv, stderr
import os
try:
    import lz4.block as lz4
except ImportError:
    import lz4

stdin = os.fdopen(stdin.fileno(), 'rb')
stdout = os.fdopen(stdout.fileno(), 'wb')

if argv[1:] == ['-c']:
    stdout.write(b'mozLz40\0' + lz4.compress(stdin.read()))
elif argv[1:] == ['-d']:
    assert stdin.read(8) == b'mozLz40\0'
    stdout.write(lz4.decompress(stdin.read()))
else:
    stderr.write('Usage: %s -c|-d < infile > outfile\n' % argv[0])
    stderr.write('Compress or decompress Mozilla-flavor LZ4 files.\n\n')
    stderr.write('Examples:\n')
    stderr.write('\t%s -d < infile.json.mozlz4 > outfile.json\n' % argv[0])
    stderr.write('\t%s -c < infile.json > outfile.json.mozlz4\n' % argv[0])
    exit(1)

답변3

.jsonlz4이제 이러한 성가신 파일의 압축을 풀기 위해 명령줄 프로그램을 사용하는 Linux와 Windows 모두를 위한 더 간단한 솔루션이 있습니다 .mozlz4.

~을 위한데비안/우분투,있다lz4json:

sudo apt install lz4 lz4json

그것은 다음을 제공합니다 lz4jsoncat:

이름

lz4jsoncat - Mozilla lz4json 형식용 압축 해제 도구

요약

lz4jsoncat somefile.mozlz4 > somefile.json

설명하다

lz4jsoncat은 Firefox 북마크 백업 및 세션 복원으로 생성된 lz4json 파일의 압축을 풀 수 있습니다. 데이터는 stdout으로 덤프됩니다.

~을 위한윈도우(또는 Linux) 및모지즈 4. 사용 가능한 바이너리가 있습니다게시 페이지.

답변4

실제로 거의 모든 Firefox 프로필lz4파일은모지즈 4문서. 이는 동일한 "파일 형식 헤더"를 가지고 있음을 의미합니다. 하나의 파일을 제외하고. 내가 얘기하는 건webext.sc.lz4문서. 여기에는 mozJSSCLz40v001\0파일 헤더가 있고 sc파일 그룹을 바이트 스트림으로 압축하는 일부 래핑이 있을 수도 있습니다.

읽거나 압축할 수 있는 Firefox 플러그인이 있습니다..mozlz4텍스트 파일mozlz4-편집

관련 정보