mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-09-03 23:57:17 -04:00
Update documentation for v1.2.0
This commit is contained in:
@@ -26,15 +26,11 @@ What sshyp can do:
|
|||||||
|
|
||||||
- securely manage a collection of encrypted passwords and notes via CLI
|
- securely manage a collection of encrypted passwords and notes via CLI
|
||||||
- generate new, secure passwords to the user's choice in length and complexity
|
- generate new, secure passwords to the user's choice in length and complexity
|
||||||
- securely sync said passwords and notes seamlessly between devices
|
- securely sync said passwords and notes seamlessly between devices (or just manage them offline)
|
||||||
- utilize [extensions](https://github.com/rwinkhart/sshyp-labs) to interact with your entries is additional ways (such as generating TOTP keys)
|
- utilize [extensions](https://github.com/rwinkhart/sshyp-labs) to interact with your entries is additional ways (such as generating TOTP keys or managing your entries in a GUI)
|
||||||
- everything above with entries created by pass/password-store!
|
- everything above with entries created by pass/password-store!
|
||||||
- everything above on Haiku, FreeBSD, Linux, and Termux (an Android terminal emulator)!
|
- everything above on Haiku, FreeBSD, Linux, and Termux (an Android terminal emulator)!
|
||||||
|
|
||||||
What sshyp will likely do:
|
|
||||||
|
|
||||||
- (planned v1.2.0) everything it already does, but also in a GUI for Linux/Haiku
|
|
||||||
|
|
||||||
What sshyp definitely won't do:
|
What sshyp definitely won't do:
|
||||||
|
|
||||||
- Non-UNIX(-like) support, e.g. Windows (I'd be happy to link to third-party ports, if someone were to make them)
|
- Non-UNIX(-like) support, e.g. Windows (I'd be happy to link to third-party ports, if someone were to make them)
|
||||||
@@ -56,7 +52,7 @@ A packaging script is included in the root directory of the repo in order to pac
|
|||||||
```
|
```
|
||||||
git clone https://github.com/rwinkhart/sshyp.git
|
git clone https://github.com/rwinkhart/sshyp.git
|
||||||
cd sshyp
|
cd sshyp
|
||||||
./package.sh
|
./package.sh [target] <revision>
|
||||||
```
|
```
|
||||||
|
|
||||||
The packaging script has been tested on Arch Linux with "dpkg" as a dependency for Debian/Ubuntu and Termux packaging and "freebsd-pkg" as a dependency for FreeBSD packaging.
|
The packaging script has been tested on Arch Linux with "dpkg" as a dependency for Debian/Ubuntu and Termux packaging and "freebsd-pkg" as a dependency for FreeBSD packaging.
|
||||||
@@ -93,8 +89,9 @@ man sshyp
|
|||||||
# Roadmap
|
# Roadmap
|
||||||
Short-term Goals:
|
Short-term Goals:
|
||||||
|
|
||||||
- create minimal GUI app (Linux x86_64, Linux aarch64)
|
- create minimal GUI app (Linux x86_64, Linux aarch64) - being done as an [extension](https://github.com/rwinkhart/sshyp-labs)
|
||||||
- various optimizations/bug fixes
|
- significant optimizations
|
||||||
|
- vaious bug fixes
|
||||||
|
|
||||||
Long-term Goals:
|
Long-term Goals:
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,58 @@
|
|||||||
|
sshyp v1.2.0
|
||||||
|
|
||||||
|
the brisk bahh update
|
||||||
|
|
||||||
|
this release focuses on speeding up the sshyp user experience by adding
|
||||||
|
new features that reduce wasted time
|
||||||
|
|
||||||
|
compatibility-breaking changes:
|
||||||
|
|
||||||
|
- new configuration options (quick-unlock, offline mode) have been added and
|
||||||
|
the configuration files have been reorganized
|
||||||
|
^ simply running "sshyp tweak" and following the setup wizard will correct any compatibility
|
||||||
|
issues
|
||||||
|
- for quick-unlock security, device names have been replaced with more secure device ids
|
||||||
|
^ older device names are still compatible, but for security reasons it is recommended
|
||||||
|
to delete any pre-existing device names from the server and allow "sshyp tweak" to re-register
|
||||||
|
your devices
|
||||||
|
|
||||||
|
user-facing features:
|
||||||
|
|
||||||
|
- quick-unlock mode has been added
|
||||||
|
^ this allows you to use a shortened version of your password by verifying that your device
|
||||||
|
is whitelisted on your sshyp server - it's both faster and more secure than standard unlock,
|
||||||
|
but it requires an active connection to your sshyp server to authenticate (otherwise it will
|
||||||
|
fall back to standard unlock)
|
||||||
|
- full support for offline usage
|
||||||
|
^ though sshyp could be used without a server before, it now can be configured to not attempt
|
||||||
|
to find one ever - this saves time and hides sync failure error messages
|
||||||
|
- bash completions have been added
|
||||||
|
^ if you have bash-completion installed, you can now use the tab key in bash to auto-complete
|
||||||
|
sshyp arguments and entry names (client only, not added for server-specific arguments)
|
||||||
|
^ if you do not have bash-completion installed, you can source
|
||||||
|
/usr/share/bash-completion/completions/sshyp (Linux/BSD) or
|
||||||
|
/boot/system/data/bash-completion/completions/sshyp (Haiku) in your ~/.bashrc to
|
||||||
|
use this feature
|
||||||
|
|
||||||
|
fixes/optimizations:
|
||||||
|
|
||||||
|
- fixed entries with multi-word titles failing to decrypt
|
||||||
|
- password generation is now much faster and more resource efficient
|
||||||
|
- there is no longer a length limit on generated passwords
|
||||||
|
- improved visual consistency of help menus
|
||||||
|
- rarely used modules are now imported only when needed
|
||||||
|
- sshyp now uses one fewer configuration file
|
||||||
|
|
||||||
|
other notable changes:
|
||||||
|
|
||||||
|
- sshyp is now specifically licensed under the GPL-3.0-only (keyword: only)
|
||||||
|
- sshyp now has some possible arguments and its own help menu when running in server mode
|
||||||
|
- temporary files in /dev/shm are now generated with more complex names
|
||||||
|
- sshyp now installs in /usr/lib/sshyp (Linux/BSD) or /system/lib/sshyp (Haiku) instead of
|
||||||
|
/usr/bin or /bin (it is still symlinked to the old directories)
|
||||||
|
|
||||||
|
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
||||||
|
|
||||||
sshyp v1.1.2
|
sshyp v1.1.2
|
||||||
|
|
||||||
the sheecrets update - patch two
|
the sheecrets update - patch two
|
||||||
|
|||||||
+51
-18
@@ -1,11 +1,11 @@
|
|||||||
.TH sshyp 1 "27 August 2022" "v1.1.2" "sshyp man page"
|
.TH sshyp 1 "05 November 2022" "v1.2.0" "sshyp man page"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
sshyp \- A very simple self-hosted, synchronized password manager for UNIX(-like) systems. Alternative to (and compatible with) pass/password-store.
|
sshyp \- A very simple self-hosted, synchronized password manager for UNIX(-like) systems. Alternative to (and compatible with) pass/password-store.
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
sshyp [OPTION] [[FLAG]] [/<entry name>]
|
sshyp [OPTION] [[FLAG]] [/<entry name>]
|
||||||
.SH DESCRIPTION
|
.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.
|
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
|
.SH EXAMPLES (CLIENT)
|
||||||
Setting up sshyp for the first time or altering its configuration (also recommended after major updates):
|
Setting up sshyp for the first time or altering its configuration (also recommended after major updates):
|
||||||
sshyp tweak
|
sshyp tweak
|
||||||
|
|
||||||
@@ -32,8 +32,19 @@ Manually syncing entries with the server:
|
|||||||
|
|
||||||
Removing an existing folder saved as ~/.local/share/sshyp/social:
|
Removing an existing folder saved as ~/.local/share/sshyp/social:
|
||||||
sshyp shear social/
|
sshyp shear social/
|
||||||
|
.SH EXAMPLES (SERVER)
|
||||||
|
Setting up the quick-unlock whitelist:
|
||||||
|
sshyp whitelist setup
|
||||||
|
|
||||||
.SH OPTIONS
|
Checking the quick-unlock whitelist status of all registered client devices:
|
||||||
|
sshyp whitelist list
|
||||||
|
|
||||||
|
Adding a device with the id "laptop-YGuyGUY67F4gj8Hhs" to the quick-unlock whitelist:
|
||||||
|
sshyp whitelist add laptop-YGuyGUY67F4gj8Hhs
|
||||||
|
|
||||||
|
Removing a device with the id "laptop-YGuyGUY67F4gj8Hhs" from the quick-unlock whitelist:
|
||||||
|
sshyp whitelist del laptop-YGuyGUY67F4gj8Hhs
|
||||||
|
.SH OPTIONS (CLIENT)
|
||||||
USAGE: sshyp [OPTION [FLAG] [<entry name>]] | [/<entry name>]
|
USAGE: sshyp [OPTION [FLAG] [<entry name>]] | [/<entry name>]
|
||||||
|
|
||||||
help/--help/-h bring up the help menu
|
help/--help/-h bring up the help menu
|
||||||
@@ -45,24 +56,37 @@ USAGE: sshyp [OPTION [FLAG] [<entry name>]] | [/<entry name>]
|
|||||||
copy copy details of an entry to your clipboard
|
copy copy details of an entry to your clipboard
|
||||||
shear/-rm delete an existing entry
|
shear/-rm delete an existing entry
|
||||||
sync/-s manually sync the entry directory via sshync
|
sync/-s manually sync the entry directory via sshync
|
||||||
.SH FLAGS
|
.SH FLAGS (CLIENT)
|
||||||
add:
|
add:
|
||||||
password/-p add a password entry
|
password/-p add a password entry
|
||||||
note/-n add a note entry
|
note/-n add a note entry
|
||||||
folder/-f add a new folder for entries
|
folder/-f add a new folder for entries
|
||||||
edit:
|
edit:
|
||||||
rename/relocate/-r rename or relocate an entry
|
rename/relocate/-r rename or relocate an entry
|
||||||
username/-u change the username of an entry
|
username/-u change the username of an entry
|
||||||
password/-p change the password of an entry
|
password/-p change the password of an entry
|
||||||
note/-n change the note attached to an entry
|
note/-n change the note attached to an entry
|
||||||
url/-l change the url attached to an entry
|
url/-l change the url attached to an entry
|
||||||
copy:
|
copy:
|
||||||
username/-u copy the username of an entry to your clipboard
|
username/-u copy the username of an entry to your clipboard
|
||||||
password/-p copy the password 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
|
url/-l copy the URL of an entry to your clipboard
|
||||||
note/-n copy the note of an entry to your clipboard
|
note/-n copy the note of an entry to your clipboard
|
||||||
gen:
|
gen:
|
||||||
update/-u generate a password for an existing entry
|
update/-u generate a password for an existing entry
|
||||||
|
.SH OPTIONS (SERVER)
|
||||||
|
USAGE: sshyp [option [flag] [<device id>]]
|
||||||
|
|
||||||
|
help/--help/-h bring up this menu
|
||||||
|
version/-v display sshyp version info
|
||||||
|
tweak configure sshyp
|
||||||
|
whitelist manage the quick-unlock whitelist
|
||||||
|
.SH FLAGS (SERVER)
|
||||||
|
whitelist:
|
||||||
|
setup set up the quick-unlock whitelist
|
||||||
|
list/-l view all registered device ids and their quick-unlock whitelist status
|
||||||
|
add whitelist a device id for quick-unlock
|
||||||
|
delete/del remove a device id from the quick-unlock whitelist
|
||||||
.SH LIMITATIONS
|
.SH LIMITATIONS
|
||||||
The following characters/character sequences are not supported in entry/folder titles:
|
The following characters/character sequences are not supported in entry/folder titles:
|
||||||
|
|
||||||
@@ -73,10 +97,11 @@ sshyp operates on a client-server model, and thus requires you to have access to
|
|||||||
The sshyp package includes modes for operating on both client and server devices, so only one package is necessary.
|
The sshyp package includes modes for operating on both client and server devices, so only one package is necessary.
|
||||||
|
|
||||||
Server setup:
|
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)
|
Configure an OpenSSH server (if sshyp was installed from the Debian package, openssh-server and openssh-sftp-server must be installed manually - if sshyp was installed from the Fedora package, openssh-server must be installed manually)
|
||||||
Allow remote access to the SSH server w/public key authentication (disabling password-only authentication recommended)
|
Allow remote access to the SSH server w/public key authentication (disabling password-only authentication recommended)
|
||||||
Install sshyp
|
Install sshyp
|
||||||
Run "sshyp tweak" and set the device type as server
|
Run "sshyp tweak" and set the device type as server
|
||||||
|
Optionally, run "sshyp whitelist setup" and configure quick-unlock
|
||||||
Done!
|
Done!
|
||||||
|
|
||||||
Client setup:
|
Client setup:
|
||||||
@@ -87,5 +112,13 @@ Client setup:
|
|||||||
Done!
|
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.
|
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 EXIT CODES
|
||||||
|
0 - no error
|
||||||
|
1 - argument error
|
||||||
|
2 - configuration error
|
||||||
|
3 - data not found error
|
||||||
|
4 - data already exists error
|
||||||
|
5 - decryption/encryption error
|
||||||
|
6 - server data retrieval error
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
Randall Winkhart (https://github.com/rwinkhart)
|
Randall Winkhart (https://github.com/rwinkhart)
|
||||||
|
|||||||
+2
-2
@@ -413,9 +413,9 @@ def print_info(): # prints help text based on argument
|
|||||||
'randall winkhart\u001b[38;5;15;48;5;15m \u001b[38;5;7;48;5;8m/\u001b[0m')
|
'randall winkhart\u001b[38;5;15;48;5;15m \u001b[38;5;7;48;5;8m/\u001b[0m')
|
||||||
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m '
|
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m '
|
||||||
'\u001b[38;5;7;48;5;8m/\u001b[0m')
|
'\u001b[38;5;7;48;5;8m/\u001b[0m')
|
||||||
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m \u001b[38;5;15;48;5;8mversion 1.1.2'
|
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m \u001b[38;5;15;48;5;8mversion 1.2.0'
|
||||||
'\u001b[38;5;15;48;5;15m \u001b[38;5;7;48;5;8m/\u001b[0m')
|
'\u001b[38;5;15;48;5;15m \u001b[38;5;7;48;5;8m/\u001b[0m')
|
||||||
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m \u001b[38;5;15;48;5;8mthe sheecrets '
|
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m \u001b[38;5;15;48;5;8mthe brisk bahh '
|
||||||
'update\u001b[38;5;15;48;5;15m \u001b[38;5;7;48;5;8m/\u001b[0m')
|
'update\u001b[38;5;15;48;5;15m \u001b[38;5;7;48;5;8m/\u001b[0m')
|
||||||
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m '
|
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m '
|
||||||
'\u001b[38;5;7;48;5;8m/\u001b[0m')
|
'\u001b[38;5;7;48;5;8m/\u001b[0m')
|
||||||
|
|||||||
+44
-10
@@ -1,21 +1,55 @@
|
|||||||
sshyp v1.1.2
|
sshyp v1.2.0
|
||||||
|
|
||||||
the sheecrets update - patch two
|
the brisk bahh update
|
||||||
|
|
||||||
this is a general polish/bugfix release
|
this release focuses on speeding up the sshyp user experience by adding
|
||||||
|
new features that reduce wasted time
|
||||||
|
|
||||||
|
compatibility-breaking changes:
|
||||||
|
|
||||||
|
- new configuration options (quick-unlock, offline mode) have been added and
|
||||||
|
the configuration files have been reorganized
|
||||||
|
^ simply running "sshyp tweak" and following the setup wizard will correct any compatibility
|
||||||
|
issues
|
||||||
|
- for quick-unlock security, device names have been replaced with more secure device ids
|
||||||
|
^ older device names are still compatible, but for security reasons it is recommended
|
||||||
|
to delete any pre-existing device names from the server and allow "sshyp tweak" to re-register
|
||||||
|
your devices
|
||||||
|
|
||||||
user-facing features:
|
user-facing features:
|
||||||
|
|
||||||
- packaging support for Alpine Linux/postmarketOS
|
- quick-unlock mode has been added
|
||||||
- the rename() function is no longer unnecessarily verbose
|
^ this allows you to use a shortened version of your password by verifying that your device
|
||||||
- handled exception for when the user attempts to copy an entry field that does not exist
|
is whitelisted on your sshyp server - it's both faster and more secure than standard unlock,
|
||||||
|
but it requires an active connection to your sshyp server to authenticate (otherwise it will
|
||||||
|
fall back to standard unlock)
|
||||||
|
- full support for offline usage
|
||||||
|
^ though sshyp could be used without a server before, it now can be configured to not attempt
|
||||||
|
to find one ever - this saves time and hides sync failure error messages
|
||||||
|
- bash completions have been added
|
||||||
|
^ if you have bash-completion installed, you can now use the tab key in bash to auto-complete
|
||||||
|
sshyp arguments and entry names (client only, not added for server-specific arguments)
|
||||||
|
^ if you do not have bash-completion installed, you can source
|
||||||
|
/usr/share/bash-completion/completions/sshyp (Linux/BSD) or
|
||||||
|
/boot/system/data/bash-completion/completions/sshyp (Haiku) in your ~/.bashrc to
|
||||||
|
use this feature
|
||||||
|
|
||||||
fixes/optimizations:
|
fixes/optimizations:
|
||||||
|
|
||||||
- replaced shebang with "#!/usr/bin/env python3" for improved compatibility with various systems
|
- fixed entries with multi-word titles failing to decrypt
|
||||||
^ does not affect Haiku packaging
|
- password generation is now much faster and more resource efficient
|
||||||
- fixed the generic package not actually being compressed
|
- there is no longer a length limit on generated passwords
|
||||||
- reduced lines of code used for cross-device entry deletion
|
- improved visual consistency of help menus
|
||||||
|
- rarely used modules are now imported only when needed
|
||||||
|
- sshyp now uses one fewer configuration file
|
||||||
|
|
||||||
|
other notable changes:
|
||||||
|
|
||||||
|
- sshyp is now specifically licensed under the GPL-3.0-only (keyword: only)
|
||||||
|
- sshyp now has some possible arguments and its own help menu when running in server mode
|
||||||
|
- temporary files in /dev/shm are now generated with more complex names
|
||||||
|
- sshyp now installs in /usr/lib/sshyp (Linux/BSD) or /system/lib/sshyp (Haiku) instead of
|
||||||
|
/usr/bin or /bin (it is still symlinked to the old directories)
|
||||||
|
|
||||||
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user