https://github.com/erueri/ocithare
A commandline password manager
https://github.com/erueri/ocithare
cli password-generator password-manager
Last synced: about 1 year ago
JSON representation
A commandline password manager
- Host: GitHub
- URL: https://github.com/erueri/ocithare
- Owner: EruEri
- License: gpl-3.0
- Created: 2023-10-25T17:49:51.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-30T21:41:18.000Z (over 2 years ago)
- Last Synced: 2024-03-30T22:27:31.947Z (over 2 years ago)
- Topics: cli, password-generator, password-manager
- Language: OCaml
- Homepage:
- Size: 115 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# ocithare
The source code is now hosted on [Codeberg](https://codeberg.org/EruEri/ocithare)
- ocithare is the rewrite of [cithare](https://git.nayuri.fr/EruEri/cithare), which is written in swift, in OCaml
- ocithare is a command line password manager
## How to build
First you will need to install those opam packages.
```
$ opam install dune xdg cmdliner dune-configurator cryptokit yojson ppx_deriving_yojson
```
By default the prefix install is `/usr/local`. So cithare binary is installed in `/usr/local/bin` and the man pages in `/usr/local/share/man`.
But the `make install` rule reacts to 3 variables:
- `PREFIX`:
- default: `/usr/local`
- `BINDIR`:
- default: `$(PREFIX)/bin`
- `MANDIR`:
- default: `$(PREFIX)/share/man`
```sh
$ git clone https://codeberg.org/EruEri/ocithare
$ cd ocithare
$ make
$ make install
```
## Initialization
To start with cithare, you first need to initialize it
```
$ cithare init --help
NAME
cithare-init - Initialize cithare
SYNOPSIS
cithare init [--force] [--import=] [OPTION]…
OPTIONS
-f, --force
Force the initialisation
-i , --import=
Initialize with a formatted password file
```
## Add
To add to a password, use the ```add``` subcommand
```
$ cithare add --help
NAME
cithare-add - Add passwords to cithare
SYNOPSIS
cithare add [OPTION]…
DESCRIPTION
Add passwords to cithare
At least --website or --username must be present
If one of the following option is provided -c, -d, -e, -l, -s, -u,
cithare-add(1) will automatically generate a password and the options
to generate the password are the same than cithare-generate-password(1)
OPTIONS
-c , --count= (absent=8)
Set the length of the generated password
-d Include digit set [0-9]
-e , --exclude=
Exclude from character set
-l Include lowercase letter set [a-z]
-m MAIL, --mail=MAIL
Chosen MAIL
-n NAME, --username=NAME, --name=NAME
Chosen NAME
-r, --replace
Replace a password
-s Include all printable character that aren't a number or a letter
-u Include uppercased letter set [A-Z]
-w WEBSITE, --website=WEBSITE (required)
Chosen WEBSITE
```
## Export
To select a password or export all the passwords into a file, use the ```export``` subcommand
```
$ cithare export --help
NAME
cithare-export - Export passwords
SYNOPSIS
cithare export [OPTION]…
DESCRIPTION
Export passwords
OPTIONS
-o OUTFILE
Export passwords as json into OUTFILE
-p, --paste
Write the password into the pasteboard
-r, --regex
Find the website by matching its name
-w WEBSITE, --website=WEBSITE
Specify the site
```
## Show
To see all your registered password, ```show``` subcommand
```
$ cithare show --help
NAME
cithare-show - Display entries
SYNOPSIS
cithare show [OPTION]… []
DESCRIPTION
cithare-show(1) shows entry records in your terminal in a table format
and by default hides all the fields. Use -w, -u, -m and --password to
respectively display in plain text the website, username, mail and
password
cithare-show(1) can take a file as parameter. If provided,
cithare-show(1) will read the content of this file instead of the
usual .citharerc
ARGUMENTS
Use instead
OPTIONS
-m, --mail
Show plain mail
--password
Show plain passwords
-u, -n, --username
Show plain username
-w, --website
Show plain website
```
# Warning
Even if your master password is never stored and all your password are encrypted, I don't know if the encryption method is neither good nor safe so use it at your own risk.