Convertir un .jsonlz4 en .json pour sauver ses favoris Firefox

Cet article est réalisé suite à une petite bêtise que j'ai faite avec mon Firefox. Je m'explique, la compilation d'une version de Firefox étant aujourd'hui assez longue (près d'un quart d'heure pour la dernière version 62 avec mon i7 8gen, un SSD et 16 Go de RAM), j'ai voulu voir ce que cela donne avec la version 1.0, j'ai donc tenté ma chance et sans surprise en moins de 5 minutes c'était déjà fini !

Comme une lettre à la poste ! Pour le petit instant émotion, j'ai voulu démarrer ma version (de 2003 !) fraîchement compilée sans me douter que cela allait planter mon profil actuel de Firefox. Je lance alors firefox :

./firefox

Tout fonctionne à peu près correctement, en même c'est pas étonnant vu que Firefox respecte les standards du web, le rendu 15 ans après la publication de cette version n'est vraiment pas dégueux. Après avoir fait le tour je referme et j'ouvre la version actuelle de Firefox, et là ... oups mon profil a disparu ! Enfin les données de personnalisation, extensions et favoris se sont barrés car le vieux Firefox a voulu utiliser mon profil actuel or vu le bon de version, ce n'était pas rétrocompatible ! C'est vraiment embêtant de perdre comme ça ses favoris et ses extensions, mais en informatique rien ne s'efface (ou presque ;-P) je ne me suis pas inquiété du tout, et je me suis mis immédiatement à fouiller le dossier contenant mon profil (dans ~/mozilla/firefox/<aléatoire>.default/).

Tout de suite, j'ai trouvé des fichiers semblant être des archives de mes favoris avec une extension assez exotique ".jsonlz4". Par pure logique je n'ai déduit que c'était une sorte fichier .json compressé propre à Firefox, il faut conséquent trouver un moyen d'obtenir du json exploitable à importer. Voici ce que donne l'aperçu d'un de ces fichiers :

jsonlz4.png

Après quelques recherches (Qwant est ton ami), j'ai trouvé un petit outil en C appelé dejonlz4. Il suffit de cloner le dépot :

git clone https://github.com/avih/dejsonlz4.git

Compiler :

cd dejsonlz4/
gcc -Wall -o dejsonlz4 src/dejsonlz4.c src/lz4.c

Il n'y a plus qu'à tester !

echo $(./dejsonlz4 <favoris-archivés-que-l'on-a-retrouvé>.jsonlz4) >> <favoris>.json 
cat <favoris>.png

Nous avons maintenant un beau fichier de favoris avec une syntaxe en .json, qu'il suffit d'importer dans Firefox dans les marque-pages, section "Importation et sauvegarde" puis "Restaurer" et enfin "Choisir un fichier". Notez qu'il est possible (avec un peu de chance) que vous puissiez restaurer vos favoris après avoir cliqué sur "Restaurer", les étapes du début vous seront dans ce cas là inutiles.

C'est terminé ! Les marque-pages sont de retour !

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet