Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nilsding/enpass2keepassxc
Converts an Enpass JSON export to a KeePassXC XML export
https://github.com/nilsding/enpass2keepassxc
crystal data-migration enpass json-export keepass keepassxc password-manager xml
Last synced: about 2 months ago
JSON representation
Converts an Enpass JSON export to a KeePassXC XML export
- Host: GitHub
- URL: https://github.com/nilsding/enpass2keepassxc
- Owner: nilsding
- License: mit
- Created: 2020-05-03T15:35:41.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-15T18:37:30.000Z (7 months ago)
- Last Synced: 2024-07-15T22:54:07.648Z (7 months ago)
- Topics: crystal, data-migration, enpass, json-export, keepass, keepassxc, password-manager, xml
- Language: Crystal
- Size: 4.88 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# enpass2keepassxc
A quick and dirty Crystal script to convert an Enpass JSON export to a KeePassXC
XML file, which can be then imported via `keepassxc-cli`.## Features
This script can migrate the following:
- Folders to Groups
- TOTP fields
- Any additional non-empty fields
- It even migrates duplicate field names!
- Sensitivity values of fields
- Adds icons for some entries
- Attempts to guess the created and updated at values of an entryAnd it does not use CSV anywhere!
## Installation
You only need Crystal 1.12.2 or newer.
## Usage
First of all, export your existing Enpass database to JSON. This can be done via
_Menu_ > _File_ > _Export_ and selecting `.json` as the file format.Then convert your exported Enpass database to XML by running this script:
```sh
crystal run enpass2keepassxc.cr -- ~/path/to/exported_passwords.json > ./imported_from_enpass.xml
```Finally, create a new KeePass database using KeePassXC's CLI:
```
keepassxc-cli import ./imported_from_enpass.xml ~/Documents/MyPasswords.kdbx
```You're done!
## Contributing
1. Fork it ()
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request## Contributors
- [Jyrki Gadinger](https://github.com/nilsding) - creator and maintainer