Package: bw-export
Authors: Ken KundertVersion: 0.0.0Released: 2022-06-19Documentation:NurdleTech.Please post all questions, suggestions, and bug reports to:Github issues.This utility allows you to export select accounts fromAvendesorain a form
that can easily be imported intoBitWarden.Avendesorais a very flexible
and secure password manager for the Linux command line andBitWardenin an
open source commercial password manager supported on a wide variety of
platforms, such asWindows,Mac,IOS, andAndroid.This package provides two programs.bw-csv-exportis the simpler of the two,
it is less capable.bw-json-exportsupports moreBitWarden’sfeatures and
generally preferred.  Both allow you to export select accounts fromAvendesorainto an interchange file that can be uploaded to theBitWarden Web Portal,
and from there the information syncs with all of yourBitWarden-linked
devices.  If you are not comfortable sharing your account information withBitWarden, you can install and run your ownBitWarden server.InstallationInstall with:pip install --user bw-exportIt will install bothbw-csv-exportandbw-json-exportto ~/.local/bin.You can find the latest version of the source code onGithub.bw-json-exportGenerates a JSON file (bw.json) suitable for uploading to aBitWarden Vault.Usage:bw-json-exportOnly those accounts with “bitwarden” field are exported. The “bitwarden” field
is expected to be a dictionary that contain the fields to be exported.
The value may be a simple string or it may be a script, and in some cases it may
be a dictionary.A typical example is:bitwarden = dict(
    type = "login",
    name = "The Economist",
    urls = "{urls}",
    username = "{email}",
    password = "{passcode}",
)You can add arbitrary fields usingfieldsas represented by aNestedTextdictionary:bitwarden = dict(
    type = "login",
    name = "Visa",
    fields = """
        holder: {name}
        ccn: {ccn}
        exp: {exp}
        cvv: {cvv}
        report: {support}
    """,
)You can also use aPythondictionary:bitwarden = dict(
    type = "login",
    name = "Visa",
    fields = dict(
        holder = "{name}",
        ccn = "{ccn}",
        exp = "{exp}",
        cvv = "{cvv}",
        report = "{support}",
    ),
)There are four types of entries supported, and they accept the following
fields:1: login
    name
    username
    password
    totp
    urls
    fields
    notes

2: secureNote
    name
    notes
    fields

3: card
    name
    brand
    holder
    ccn
    exp
    cvv
    fields
    notes

4: identity
    name
    title
    names
    street
    city
    state
    zip
    country
    email
    phone
    company
    ssn
    username
    passport
    license
    fields
    notesRunningbw-json-exportcreates the file:bw.json.Once created, it can be imported from theBitWardenwebsite
(vault.bitwarden.com).  When importing, use “Bitwarden (json)” as the file
format.By policy,BitWardencreate duplicates of any imported accounts if they were
previously imported.  As such, you should delete existing accounts before
re-importing to avoid duplicate accounts.  A convenient way of doing so would be
to partition your BitWarden cards into two folders, one dedicated to accounts
imported from Avendesora and one dedicated you your BitWarden native cards.
Before importing, first delete all the entries in the “Avendesora” folder, and
then delete the folder itself  by clicking on it, a pencil icon will appear,
click on that, and then click on the trash can icon.  Importing will then create
a new “Avendesora” folder.After first run, a settings file is created in~/.config/bw-json-export/settings.nt.  You can use it to control the name of
the “Avendesora” folder.  The default value is “[Avendesora-]YYMMDD”.  The
characters within the brackets is output verbatim and the remaining characters
are interpreted as anArrow format.After importing yourbw.jsonfile you must delete it as it contains your
secrets in plain text.bw-csv-exportGenerates a CSV file (bw.csv) suitable for uploading to aBitWarden Vault.Usage:bw-csv-exportOnly those accounts with “bitwarden” field are exported. The “bitwarden” field
is expected to be a dictionary that may contain the following fields:folder,type,name,notes,fields,url,username,password, andtotp.
If not given, they are left blank. Each value may be a simple string or a script.A typical example is:bitwarden = dict(
    type = "login",
    name = "The Economist",
    login_uri = "{urls}",
    login_username = "{email}",
    login_password = "{passcode}",
)You can add arbitrary name-value pairs usingfields:bitwarden = dict(
    type = "login",
    name = "Visa",
    fields = """
        holder: {name}
        number: {ccn}
        exp: {exp}
        cvv: {cvv}
        report: {support}
    """,
)Runningbw-csv-exportcreates the file:bw.csv.Once created, it can be imported from theBitWarden Vaultwebsite
(vault.bitwarden.com).  When importing, use “Bitwarden (csv)” as the file
format.By policy,BitWardencreate duplicates of any imported accounts if they were
previously imported.  As such, you should delete existing accounts before
re-importing to avoid duplicate accounts.  A convenient way of doing so would be
to partition your BitWarden entries into two folders, one dedicated to accounts
imported from Avendesora and one dedicated you your BitWarden native entries.
Normally you would keep the “No Folder” folder empty.  BitWarden places freshly
imported accounts into “No Folder”.  You should then delete any existing
accounts in the “Avendesora” folder and move all the new accounts in “No Folder”
to the “Avendesora” folder.You must then delete thebw.csvfile as it can include your secrets in plain
text.