.TH sshyp 1 "16 February 2022" "2022.02.16.fr4" "sshyp man page"
.SH NAME
sshyp \- A very simple self-hosted, synchronized password manager. Alternative to GNU pass. 
.SH SYNOPSIS
sshyp [OPTION] [[FLAG]] [/<entry name>]
.SH DESCRIPTION
sshyp is a lightweight password and note management program written in Python. sshyp is used via CLI and is self-hosted with a client-server model. sshyp expects that you have access to a personal server with a properly configured ssh server, ideally accepting remote connections.
.SH EXAMPLES
Setting up sshyp for the first time or altering its configuration (also recommended after major updates):
    sshyp tweak
    *follow the prompts

Reading an existing entry saved as ~/.password-pasture/development/github.gpg:
    sshyp /development/github

Copying the password of an existing entry saved as ~/.password-pasture/financial/bank.gpg:
    sshyp copy -p
    *answer the prompt with "/financial/bank"
    *enter decryption password

Editing the username of an existing entry saved as ~/.password-pasture/game.gpg:
    sshyp edit -u
    *answer the first prompt with "game"
    *follow the prompts

Making a new entry using the built-in password generator:
    sshyp gen
    *follow the prompts

Creating a note-only entry:
    sshyp add -n
    *follow the prompts

Syncing entries with the server:
    sshyp sync

Removing an existing folder saved as ~/.password-pasture/social:
    sshyp shear
    *when prompted for what to delete, since you are deleting a folder, be sure to enter your choice with a following "/", e.g. "social/" or "/social/"

.SH OPTIONS
In order to quickly read an existing entry, just run "sshyp </entry name>".

Options for other operations are as follows:

 help/--help/-h           bring up the help menu
 version/-v               display sshyp version info
 tweak                    configure sshyp
 add                      add an entry
 gen                      generate a new password
 edit                     edit an existing entry
 copy                     copy details of an entry to your clipboard
 shear/-rm                delete an existing entry
 sync/-s                  manually sync the entry directory via sshync
.SH FLAGS
add:
 password/-p             add a password entry
 note/-n                 add a note entry
 folder/-f               add a new folder for entries
edit:
 rename/relocate/-r      rename or relocate an entry
 username/-u             change the username of an entry
 password/-p             change the password of an entry
 note/-n                 change the note attached to an entry
 url/-l                  change the url attached to an entry
copy:
 username/-u             copy the username of an entry to your clipboard
 password/-p             copy the password of an entry to your clipboard
 url/-l                  copy the URL of an entry to your clipboard
 note/-n                 copy the note of an entry to your clipboard
gen:
 update/-u               generate a password for an existing entry
.SH LIMITATIONS
The following limitations will be corrected in future updates:

Currently, folders (for sorting) are not replicated onto new clients (they need to be manually created before syncing).

Currently, the entry list displays each entry with the file extension ".gpg" visible (which you do not type when reading, modifying, or creating an entry). This will be corrected when the new entry list is added.
.SH SETUP
sshyp operates on a client-server model, and thus requires you to have access to your own server (whether it be a physical home server or a cloud rental) with remote access via SSH.

The sshyp package includes modes for operating on both client and server devices, so only one package is necessary.

Server setup:
    Configure an openssh server (if sshyp was installed from the Debian package, the ssh server was not installed as a dependency and needs to be installed manually)
    Allow remote access to the SSH server w/public key authentication (disabling password-only authentication recommended)
    Install sshyp
    Run "sshyp tweak" and set the device type as server
    Done!

Client setup:
    Install sshyp
    Run "sshyp tweak" and follow the prompts
    Copy the generated public SSH key to the server using preferred method (manually adding to authorized_keys, ssh-copy-id, etc.)
    **this step will be automated in the future: if an entry library already exists on the server, make sure to manually recreate any folders that exist on the server in the ~/.password-pasture directory
    If you already have entries on the server, sync them using "sshyp sync"
    Done!

Please note that the server setup intentionally does not allow the reading of entries (it does not allow adding a gpg decryption key). For security purposes, only clients can read entries.
.SH AUTHOR
Randall Winkhart (https://github.com/rwinkhart)
