Forum Linux.slackware Comment lire le fichier search.json.mozlz4 (~/.mozilla)

Posté par . Licence CC by-sa
Tags : aucun
1
6
mar.
2017

Bonjour,

Pouvez-vous m'expliquer comment je dois procéder pour pouvoir lire et éventuellement changer le fichier search.json.mozlz4 ?

On m'a déjà répondu avec gentillesse qu'il faudrait alors le décompresser, le modifier, puis le recompresser (lz4)

J'ai installé lz4 (compression algorithm) puis après http://manpages.ubuntu.com/manpages/wily/man1/lz4c.1.html
j'ai essayé décompresser ce fichier sans succès.

lz4 -d file1 > foo.lz4
Error 44 : Unrecognized header : file cannot be decoded

Merci d'avance. Cordialement.


  • # Bonjour

    Posté par . Évalué à 1.

    Que cherches-tu à concatener ? À quoi correspond "file1" ?

    Que donne :

    lz4 -d search.json.mozlz4

    ?

    lire et éventuellement changer le fichier search.json.mozlz4 ?

    Que cherches-tu à faire exactement ?

    • [^] # Re: Bonjour

      Posté par . Évalué à 1.

      file1 = search.json.mozlz4

      lz4 -d search.json.mozlz4 donne Error 44 : Unrecognized header : file cannot be decoded

  • # mozlz4a.py

    Posté par (page perso) . Évalué à 2.

    Je viens de faire une recherche rapide sur internet, et je pense que que tu peux utiliser mozlz4a.py ( MozLz4a compression/decompression utility ) : https://gist.github.com/Tblue/62ff47bef7f894e92ed5

    • [^] # Re: mozlz4a.py

      Posté par . Évalué à 1. Dernière modification le 06/03/17 à 14:13.

      Merci Eric, je lutte depuis au moins 3 mois avec le script mozlz4a.py (c'est qui veut dire que je n'ai plus aucune chance de réussir sans aide de quelqu'un)

      • [^] # Re: mozlz4a.py

        Posté par . Évalué à 2.

        Ce script doit tourner avec Python 3. Lance-le comme ça : "python3 mozlz4a.py -d search.json.mozlz4 search.json". T'auras ensuite ton fichier décompressé dans search.json. Tu le modifies, puis tu recompresses en appelant le script sans le "-d" et en inversant les deux autres arguments.

        • [^] # Re: mozlz4a.py

          Posté par (page perso) . Évalué à 2.

          Je confirme que ça marche : je viens de faire un test (sous Mageia cauldron) :

          $ ls
          mozlz4a.py  search.json.mozlz4
          $ python3 mozlz4a.py  search.json.mozlz4 search.json
          $ ls
          mozlz4a.py  search.json  search.json.mozlz4
        • [^] # Re: mozlz4a.py

          Posté par . Évalué à 1.

          Ce script doit tourner avec Python 3

          Bien sûr, mais j'ai confondu python-2.7.13 et python-pillow-3.0.0

          Ouah, sous Slackware rien n'est prêt, il faut tout faire à la main (y compris les dépendances et libraires)

  • # Pas du LZ4

    Posté par . Évalué à 3.

    Ce fichier n’utilise pas le format LZ4 (en tout cas pas le format standard…)

    $ lz4 plop
    Compressed filename will be : plop.lz4
    Compressed 8 bytes into 27 bytes ==> 337.50%
    
    $ file plop.lz4 search.json.mozlz4
    plop.lz4:           LZ4 compressed data (v1.4+)
    search.json.mozlz4: data
    
    • [^] # Re: Pas du LZ4

      Posté par . Évalué à -1.

      C'est plus compliqué chez moi

      $ lz4 plop
      Compressed filename will be : plop.lz4
      plop: No such file or directory

      Pas de Grub chez moi pour divers raisons

      End LILO global section

      Linux bootable partition config begins

      image = /boot/vmlinuz-generic-4.4.38
      initrd = /boot/initrd.gz
      root = /dev/sda1
      label = Generic
      read-only

      • [^] # Re: Pas du LZ4

        Posté par . Évalué à 3.

        Oulala…

        Le fichier "plop" est bien entendu un fichier que j’ai créé pour l’exemple…

        Enfin on avance… ton fichier est donc un LZ4 customisé… d’où l’extension .mozlz4 j’imagine… sinon Mozilla aurait utilisé .lz4…

        Le script qu’on t’a indiqué devrait faire l’affaire…

        Quel est le rapport avec GRUB ?

        Tu n’as pas répondu : quel est ton besoin à la base ? Éditer les bookmarks de plusieurs profils de manière automatisée ?

        Si c’est le cas, une synchronisation des bookmarks avec un profil "de référence" ne ferait-il pas l’affaire ? (je dis peut-être une ânerie, je ne suis pas spécialiste…)

        • [^] # Re: Pas du LZ4

          Posté par . Évalué à 1.

          Le script qu’on t’a indiqué devrait faire l’affaire…

          Saurais-tu t'en servir de ce script ? Comme javais dit plus haut

          je lutte depuis au moins 3 mois avec le script mozlz4a.py

          Je veux virer certains moteurs de recherche commerciaux ajoutés par défaut : /en-US

          Merci.

          • [^] # Re: Pas du LZ4

            Posté par . Évalué à 3. Dernière modification le 07/03/17 à 10:00.

            Moi je suis sous debian et pas ubuntu, j'ai juste installer le package: python3-lz4 (qui devrait aussi être sur (x)ubuntu).
            Mes modifications sur le fichier ont bien marché sur firefox.

            Avant de commencer installe le package: python3-lz4, après:

            1- tu vas où ce trouve le fichier search.json.mozlz4

            2- tu télécharges le fichier mozlz4a.py qui est sur la page https://gist.github.com/Tblue/62ff47bef7f894e92ed5

            3- tu fermes firefox

            4- tu lances: python3 mozlz4a.py -d search.json.mozlz4 abc.json

            5- tu supprimes ou sauvegardes sous un autre nom le fichier search.json.mozlz4

            6- tu modifies ce que tu veux dans abc.json et tu sauvegardes

            7- tu lances: python3 mozlz4a.py abc.json search.json.mozlz4

            8- tu supprimes abc.json et tu peux ouvrir firefox

            S'il y a un problème suffit de fermer firefox, supprimer search.json.mozlz4, lancer firefox, il va crée un nouveau automatiquement.

            "Comme ta création n’est pas en vain, la création de ces événements n’est pas non plus en vain." Bediüzzaman

            • [^] # Re: Pas du LZ4

              Posté par . Évalué à 1.

              Extrait d'une page d'aide firefox milieu de page :

              Moteurs de recherche

              search.json.mozlz4
              Ce fichier contient les données des moteurs de recherche installés par l'utilisateur. Pour plus d'informations, consultez les articles Barre de recherche – choisir facilement votre moteur de recherche favori et Ajouter ou supprimer un moteur de recherche dans Firefox.

              https://support.mozilla.org/t5/Installation-et-mise-à-jour/Récupérer-des-données-importantes-à-partir-d-un-ancien-profil/ta-p/14461

              Autant utiliser firefox directement pour modifier ces paramètres.

              • [^] # Re: Pas du LZ4

                Posté par . Évalué à 2.

                Autant utiliser firefox directement pour modifier ces paramètres.

                Si tu veux modifier ces paramètres sur 36 profils ça va être un peu long et répétitif…

                • [^] # Re: Pas du LZ4

                  Posté par . Évalué à 1.

                  Une fois réglé sur un profil il suffit de recopier le fichier search.json.mozlz4 de ce profil sur les autres.

                  • [^] # Re: Pas du LZ4

                    Posté par . Évalué à 3.

                    Trouvé sur la page lz4 : http://lz4.github.io/lz4/

                    L'utilitaire jsonlz4 Description :
                    https://github.com/avih/dejsonlz4 custom Mozilla LZ4 format for Firefox bookmark backup

                    Je l'ai compilé et testé sur une copie de mon fichier :
                    ./dejsonlz4 search.json.mozlz4 fichierdesortie

                    J'ai obtenu un fichier texte en Json que j'ai copié/collé sur http://www.jsoneditoronline.org/
                    qui m'affiche bien les différents moteurs et réglages.

                    • [^] # dejsonlz4

                      Posté par . Évalué à 1.

                      Je l'ai compilé et testé sur une copie de mon fichier :

                      Désolé, malgré readme.md je ne vois pas comment "compiler" :oops:

                      • [^] # Re: dejsonlz4

                        Posté par . Évalué à 2.

                        C'est le paragraphe BUILD avec la ligne qui commence par gcc :

                        gcc -Wall -o dejsonlz4 dejsonlz4.c lz4.c

                        et pour recompresser j'ai posté la commande plus bas.

                        • [^] # Re: dejsonlz4

                          Posté par . Évalué à 1. Dernière modification le 10/03/17 à 14:54.

                          Effectivement, c'est simple (mea culpa) aprés cela je dois apprendre à me servir d’éditeur http://www.jsoneditoronline.org/doc/index.html parce que vim me montre un fichier horrible.

                          Que ça soit la première ou la deuxième solutions (pour décompresser) le résultat est le même.

                          Cordialement.

                          • [^] # Re: dejsonlz4

                            Posté par . Évalué à 3.

                            Pour vi il y a une astuce qui rend le code Json plus lisible en entrant la commande, avec le fichier ouvert :

                            :%!python -m json.tool

                            Comme dans ce fichier il y a des lignes très longues on peut supprimer le retour à la ligne automatique dans vi pour que ce soit encore plus lisible :

                            :set nowrap

                            • [^] # Re: dejsonlz4

                              Posté par . Évalué à 1.

                              Somptueux, merci bcp. Je vais potasser le fichier décompressé pour déterminer comment procéder/supprimer amazon & company en/US sans toucher préalablement au /usr/lib64/firefox-45.8.0/browser/omni.ja

                  • [^] # Re: Pas du LZ4

                    Posté par . Évalué à 2.

                    Ah bah si ça fonctionne c’est effectivement une solution.

                    C’est dommage que l’auteur n’ait pas répondu sur son besoin sous-jacent…

                    • [^] # Re: Pas du LZ4

                      Posté par . Évalué à 2. Dernière modification le 08/03/17 à 10:21.

                      C’est dommage que l’auteur n’ait pas répondu sur son besoin sous-jacent…

                      Si j'ai bien compris le sous-jacent de décompresser c'est recompresser, il y a un lien depuis github de dejsonlz4 qui renvoie à un rapport de bug sur mozilla, qui renvoie à son tour sur le même site github.

                      En regardant les commits du projet, il est bien question du compresseur, et je l'avais déjà sur le disque dur dans le sous-dossier ref_compress un fichier jsonlz4.c et un avertissement dans le README :

                      This tool is here for reference only, and it's not fully tested. It's not recommended to use it since we don't want to create files in a non standard format, even if Firefox does so too.

                      J'ai copié le fichier jsonlz4.c dans le dossier src, recompilé avec la même commande adaptée :
                      gcc -Wall -o jsonlz4 jsonlz4.c lz4.c
                      Puis j'ai recompressé le fichier précédemment décompressé.
                      La commande diff entre le fichier original et le fichier décompressé/recompressé reste muette.

            • [^] # Re: Pas du LZ4

              Posté par . Évalué à 1.

              Merci pour la piste Debian, je vais essayer ajuster chez moi :)

              • [^] # Re: Pas du LZ4

                Posté par . Évalué à 1.

                …je remercie également remico et les autres.

                C’est dommage que l’auteur n’ait pas répondu sur son besoin sous-jacent…

                J'ai déjà répondu plus haut et la curiosité est un vilain défaut. :lol:

                Je vais essayer vos recommandations dans la journée.

                A bientôt.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.