Bitwarden

Bitwarden2lastpass.py

Bitwarden2lastpass.py est un logiciel libre (licence GNU GPL3) permettant de convertir facilement un fichier CSV exporté du gestionnaire de mots de passe Bitwarden vers un fichier CSV au format Lastpass.

Historique et motivations

Abonné à Lastpass Premium depuis 2011, j'avais pris un abonnement de cinq années pour 60 dollars, soit 5$/an. Très bonne affaire à l'époque.

En 2017, j'ai prolongé d'un an mon abonnement premium pour 28,80 dollars. Sacré inflation pour un service très bon, certes mais avec quelques ratés.

  • la nouvelle version de l'interface utilisateur ne m'a guère convaincu.
  • Abandon du logiciel binaire 'client lourd'.
  • Extension Firefox lente. Menu devenu moins convivial. Compliqué, fouillis.
  • Problème de détection des champs de sites.

Le rachat de Lastpass par LogMeIn n'est pas étrangère à cette situation selon moi.

Bref, fin 2018, à l'anniversaire de la prolongation de l'abonnement, il était temps de mettre en concurrence Lastpass.

Après différentes évaluations, j'ai sauté le pas pour le jeune challenger Bitwarden, pour le côté open, la possibilité d'héberger son propre serveur et l'évolution très positive de l'application sur la dernière année. Le prix de l'abonnement premium de 9$/an fait le reste. 3x moins cher que Lastpass, quand même. Voilà, la messe est dite.

Bon. Tout n'est pas parfait. Bitwarden est un produit jeune et le format de son fichier CSV d'export n'est pas encore reconnu par d'autres gestionnaires de mots de passe. Un peu tantinet embêtant car j'utilise régulièrement KeepassX et dérivés pour avoir ma base de mots de passe en mode offline sur différents supports et OS. J'exportais une fois par semaine la base des mots de passe LastPass en un fichier CSV, pour l'importer dans une nouvelle base KeepassX avec l'option d'importation. Solution, parfaite pour mes besoins qui me prenait 5 minutes seulement chaque dimanche soir.

A ce jour, je n'ai pas encore trouvé de programmes/applications sur le Net pour convertir le fichier CSV-Bitwarden en fichier CSV-LastPass, ou autre format compatible pour KeepassX.

Dans cette situation, on laisse tomber l'affaire ou on retrousse les manches en développant quelque chose qui fasse le job.

J'ai profité de l'occasion de sortir de ma zone de confort et d'essayer sérieusement un langage que je pratiquais peu: le Python3, lui préférant généralement Perl plus versatile mais plus exigeant.

J'ai donc écrit le programme python Bitwarden2Lastpass, le temps d'un week-end. Le résultat est suffisamment convenable pour que je le partage avec la communauté.

Pour information, le code python a été écrit avec du python 3.7,non compatible descendant.

Le programme a été développé:

  • sur Linux Debian, python 3.7 de la distribution anaconda.

  • et testé sur Windows, python 3.7 de la distribution anaconda également.

Sources

  • développement hébergé chez Github

Installation

  • Placez le fichier bitwarden2lastpass.py dans ~/local/bin ou dans /usr/local/bin (mode root requis pour ce cas)

Dépendances

  • Python3 est le langage de programmation avec lequel est développé Bitwarden2lastpass.py.
  • pip install csv errno getopt inspect ntpath os pathlib platform re logging sys

Intégration dans KDE

Video de l'intégration dans Dolphin sous KDE: bitwarden2lastpass-kde-dolphin-integration.mp4

  • Editer et adapter les fichiers à votre installation:
  • bitwarden2lastpass.bash
  • bitwarden2lastpass.desktop
  • Copier le fichier bitwarden2lastpass.bash dans ~/local/bin ou dans /usr/local/bin (mode root requis pour ce cas)
  • Lancer kf5-config --path services pour déterminer les répertoires où stocker les fichiers menuitems du menu.

    ~/.local/share/kservices5/ServiceMenus/
    ou
    /usr/share/kservices5/ServiceMenus/
    
  • cp bitwarden2lastpass.desktop ~/.local/share/kservices5/ServiceMenus/

  • Fermer toutes les instances de Dolphin dans la session KDE.
  • Et voilà.

Usage

bitwarden2lastpass.py --help

  bitwarden2lastpass.py -i <inputfile> -o <outputfile> -d <directory>

  Usage:
    bitwarden2lastpass.py
           detect the last bitwarden exxport file in the current directory and convert it to a compatible lastpass export file.
           (same to 'bitwarden2lastpass.py -d .')
    bitwarden2lastpass.py -d <directory>
           detect the last bitwarden export file in the directory <directory> and convert it to a compatible lastpass export file.
    bitwarden2lastpass.py -i <export-bitwarden-file>
           convert <export-bitwarden-file> to a compatible lastpass export file, in the same directory.
    bitwarden2lastpass.py -i <export-bitwarden-file> -o <export-lastpass-file>
           convert <export-bitwarden-file> to a compatible lastpass export file with name : <export-lastpass-file>
    bitwarden2lastpass.py (-h | --help)
    bitwarden2lastpass.py --version

  Options:
    -h --help     Show this screen.
    -v --version  Show version.

Related Posts


Published

Last Updated

Category

software

Tags

Contact