Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thilinamanamgoda/password-manager-travis-test
https://github.com/thilinamanamgoda/password-manager-travis-test
Last synced: 23 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/thilinamanamgoda/password-manager-travis-test
- Owner: ThilinaManamgoda
- License: apache-2.0
- Created: 2020-04-17T07:46:51.000Z (almost 5 years ago)
- Default Branch: test-travis
- Last Pushed: 2020-05-02T18:24:47.000Z (almost 5 years ago)
- Last Synced: 2023-06-29T07:22:21.030Z (over 1 year ago)
- Language: Go
- Size: 4.61 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![password-manager](resources/logo.png)
# Password Manager[![Build Status](https://travis-ci.com/ThilinaManamgoda/password-manager.svg?branch=master)](https://travis-ci.com/ThilinaManamgoda/password-manager)
Encrypt your passwords into a file and have access with ease.
### SynopsisA local password manager which simply encrypts your passwords in to a file and searching passwords made easy ![how-to-install](resources/exclamation-mark.png).
![how-to-install](resources/instalation.png)
### How to install#### Ubuntu ![Ubuntu](resources/linux.png)
1. Using the command line, add the following to your /etc/apt/sources.list system config file,
`sudo echo "deb https://dl.bintray.com/maanafunedu/maanadev-debian stable main" | sudo tee -a /etc/apt/sources.list`
1. Configure Bintray public GPG key,`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61`
1. Update repository,
```sudo apt update```
1. Install password-manager,
```sudo install password-manager```#### MacOS ![macos](resources/macos.png)
1. Tap into password-manager brew formula with the following command,
```brew tap ThilinaManamgoda/homebrew-password-manager```
1. Install password-manager, with the following command,
```brew install password-manager```
![How to use](resources/how-to-use.png)
### How to use1. Initialize the password manager with the following command,
```$xslt
password-manager init
```
Enter the Master password once prompted.
2. Add a password entry with the following command,
```$xslt
password-manager add TEST -i
```
Here password entry id is **TEST** which always should be a unique value. By passing **-i** parameter we are enabling
the **Interactive** mode. Once this command is executed, the following entries will be listed,
```$xslt
Username:
Password:
Enter the Password again:
Lables:
Master password:
Example:
Username: [email protected]
Password: ***********
Enter the Password again: ***********
Lables: test,first,firstTime
Master password:
```1. Get a password entry with **ID**
```$xslt
password-manager get
```
Enter the Master password once prompted. For an example,
```$xslt
password-manager get TEST
```
1. Search a password entry with a **ID**
```$xslt
password-manager search
```
Enter the Master password once prompted. For an example,
```$xslt
password-manager search test
```
Once you enter the Master password the a list of password entries will be listed that match the given label. Once the entry is selected, the **password** will be copied to the clipboard.
1. Search a password entry with a **label**
```$xslt
password-manager search -l
```
Enter the Master password once prompted. For an example,
```$xslt
password-manager search -l test
```
Once you enter the Master password the a list of password entries will be listed that match the given label. Once the entry is selected, the **password** will be copied to the clipboard.
### Configuration1. Follow the instructions to override default configurations using a configuration file.
1. Create a password-manager.yaml file with following content. Keep configurations that need to be overridden.
```$xslt
# Set encryptor for encryping passwords. Ex: "AES"
encryptorID: "AES"
# Maximum list size for selection drop down.
selectListSize: 5
# Directory which holds the Password manager related files.
directoryPath: "~/password-manager"
# Set storage configurations.
storage:
# File storage configuration.
file:
# Enable File storage.
enable: true
# Password Database file name.
passwordDBFile: "password_db"
# File permission for given file in the path.
permission: 0640
# Google Drive storage configuration.
googleDrive:
# Enable Google Drive storage.
enable: false
# Directory where the password Database file resides.
directory: "password-manager"
# Password Database file name.
passwordDBFile: "password_db"
```
1. Export Environment variable to point the configuration file.
`export PM_CONF_PATH=${PATH_TO_PASSOWRD_MANAGER_YAML}`
1. Follow the instructions to override default configurations using environment variables.
1. Export required override configuration as environment variable. For example let's assume that you need
to override **file permission** of the File storage type.
```$xslt
export PM_STORAGE_FILE_PERMISSION=0640
```
Environment variable should have the prefix `PM_` and the hierarchy separation with `_` and keyword **ALL CAPS**.
examples:
`PM_SELECTLISTSIZE=2`
`PM_ENCRYPTORID=AES`
`PM_STORAGE_FILE_PASSOWRDDBFILE=password_db`
### Export passwords
If you need to transfer your passwords to a different PC where you have installed password-manager,
it can be achieved by making a copy of your password database file assuming storage type is **File**.Also, you can export passwords to **CVS file** with the following command,
```$xslt
pasword-manager export --csv-file ${PATH_TO_CSV_FILE}
```Exported CSV file will have the following format([Ex: test/mock-data/data.csv](test/mock-data/data.csv)),
```$xslt
id,username,password,labels
[email protected],[email protected],gijggx3MDxZ,"foo,com"
```
### Import Passwords
You can import passwords from a **CSV file** with following command,```$xslt
pasword-manager import --csv-file ${PATH_TO_CSV_FILE}
```CSV file should be in the following format([Ex: test/mock-data/data.csv](test/mock-data/data.csv)),
```$xslt
id,username,password,labels
[email protected],[email protected],gijggx3MDxZ,"foo,com"
```
### STORAGE PRECEDENCE
If all the Storage types are enabled, the priority will be given as follow,* Google drive storage
* Local file storage
### SEE ALSO* [password-manager init](doc/password-manager_init.md) - Initialize the Password Manager
* [password-manager add](doc/password-manager_add.md) - Add a new password
* [password-manager change](doc/password-manager_change.md) - Change a password entry
* [password-manager change-master-password](doc/password-manager_change-master-password.md) - Change Master password
* [password-manager generate-password](doc/password-manager_generate-password.md) - Generate a secure password
* [password-manager get](doc/password-manager_get.md) - Get a password
* [password-manager search](doc/password-manager_search.md) - Search Password with ID
* [password-manager import](doc/password-manager_import.md) - Import passwords
* [password-manager export](doc/password-manager_export.md) - Export password repository to a file
* [password-manager remove](doc/password-manager_remove.md) - Remove a password