Firefox

如何使用命令行解壓 jsonlz4 文件(Firefox 書籤備份)?

  • August 24, 2021

似乎有各種 JavaScript + 瀏覽器特定的解壓縮方法,但是沒有某種方法可以將 jsonlz4 文件轉換為unlz4可以讀取的內容嗎?

我能夠使用以下方法解壓縮 jsonlz4 lz4json

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

將此腳本保存在文件中,例如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)

引用自:https://unix.stackexchange.com/questions/326897