mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-09-05 16:47:14 -04:00
Update documentation for release v1.3.0
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||

|

|
||||||
|
[](https://github.com/rwinkhart/sshyp/actions/workflows/codeql-analysis.yml)
|
||||||
[](https://github.com/rwinkhart/sshyp/actions/workflows/codeql-analysis.yml)
|
|
||||||
|
|
||||||
pronounced as: 'sheep', 'shēp'
|
pronounced as: 'sheep', 'shēp'
|
||||||
|
|
||||||
@@ -91,9 +90,8 @@ man sshyp
|
|||||||
# Roadmap
|
# Roadmap
|
||||||
Short-term Goals:
|
Short-term Goals:
|
||||||
|
|
||||||
- create minimal GUI app (Linux x86_64, Linux aarch64) - being done as an [extension](https://github.com/rwinkhart/sshyp-labs)
|
- a minimal GUI app - being made as an [extension](https://github.com/rwinkhart/sshyp-labs)
|
||||||
- significant optimizations
|
- improved extension integration (allow extensions to add new arguments)
|
||||||
- vaious bug fixes
|
|
||||||
|
|
||||||
Long-term Goals:
|
Long-term Goals:
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,51 @@
|
|||||||
|
sshyp v1.3.0
|
||||||
|
|
||||||
|
the serious shepherd update
|
||||||
|
|
||||||
|
this release ties up many of sshyp's loose ends where there was
|
||||||
|
room for major performance, compatibility, and security improvements
|
||||||
|
|
||||||
|
compatibility-breaking changes:
|
||||||
|
|
||||||
|
- due to a near full re-write of the syncing functionality, all clients and servers
|
||||||
|
must be updated to this release (v1.3.0 is not backwards compatible with any prior release)
|
||||||
|
- it is recommended to either delete the contents of ~/.config/sshyp/deleted (on the server-side)
|
||||||
|
or sync all of your clients before updating
|
||||||
|
^ old entries in this folder will throw errors with v1.3.0
|
||||||
|
|
||||||
|
user-facing features:
|
||||||
|
|
||||||
|
- none - all changes were under-the-hood - the user experience should be
|
||||||
|
exactly the same as v1.2.0 - just faster, less buggy, and more secure
|
||||||
|
|
||||||
|
major fixes/optimizations:
|
||||||
|
|
||||||
|
- a near full re-write of the syncing functionality
|
||||||
|
^ all syncing logic has been moved into sshync.py (from sshyp.py and sshypRemote.py)
|
||||||
|
^ in my setup, a dry, local "sshyp sync" went from 2.00+ seconds (v1.2.0) to 0.36 seconds (v1.3.0)
|
||||||
|
^ the performance improvements are even greater when syncing from outside your local network
|
||||||
|
- the following character sequences will no longer break the syncing logic: "@", "^&*", and "*&^"
|
||||||
|
^ ASCII separator characters 29-31 are now used, instead
|
||||||
|
- os.system has been replaced with subprocess.run in all cases, shell=True is no longer used with subprocess.run
|
||||||
|
^ this protects against shell escape attacks and potentially makes sshyp more compatible with some environments
|
||||||
|
- replaced shell commands with python built-in library functions where applicable
|
||||||
|
^ this brings speed and compatibility improvements
|
||||||
|
- sshyp should no longer incorrectly assume an X11 environment when Wayland is in use
|
||||||
|
^ this fixes clipboard support in some Wayland environments, such as Sway (Plasma/Gnome/Phosh were unaffected)
|
||||||
|
- sshyp now uses the default pinentry on Haiku thanks to haikuports/haikuports#7457
|
||||||
|
^ this brings the Haiku port in-line with the other sshyp packages in terms of security
|
||||||
|
- "python3" is now called over ssh, rather than "python"
|
||||||
|
^ some environments do not have a "python" symlink, or it links to "python2" - changing this increases compatibility
|
||||||
|
- fixed an issue from v1.2.0 where renaming threw an error if not in offline mode
|
||||||
|
|
||||||
|
other notable changes:
|
||||||
|
|
||||||
|
- quick-unlock password input is now hidden while the user is typing
|
||||||
|
^ user input is now invisible to prevent snooping
|
||||||
|
- lots of smaller optimizations not listed here
|
||||||
|
|
||||||
|
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
||||||
|
|
||||||
sshyp v1.2.0
|
sshyp v1.2.0
|
||||||
|
|
||||||
the brisk bahh update
|
the brisk bahh update
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
.TH sshyp 1 "07 December 2022" "v1.3.0" "sshyp man page"
|
.TH sshyp 1 "14 December 2022" "v1.3.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
|
||||||
|
|||||||
+5
-5
@@ -399,9 +399,9 @@ def print_info(): # prints help text based on argument
|
|||||||
elif argument_list[1] == 'version' or argument_list[1] == '-v':
|
elif argument_list[1] == 'version' or argument_list[1] == '-v':
|
||||||
print('\nsshyp is a simple, self-hosted, sftp-synchronized password manager\nfor unix(-like) systems (haiku/'
|
print('\nsshyp is a simple, self-hosted, sftp-synchronized password manager\nfor unix(-like) systems (haiku/'
|
||||||
'freebsd/linux/termux)\n\nsshyp is a viable alternative to (and compatible with) pass/password-store\n')
|
'freebsd/linux/termux)\n\nsshyp is a viable alternative to (and compatible with) pass/password-store\n')
|
||||||
print(" .. \u001b[38;5;9m♥♥ ♥♥\u001b[0m ..\n .''.''/()\\ \u001b[38;5;13m"
|
print(" .. \u001b[38;5;9m♥♥ ♥♥\u001b[0m ..\n .''.''/()\\ \u001b[38;5;10m"
|
||||||
"♥♥♥♥♥♥♥\u001b[0m /()\\''.''.\n * : \u001b[38;5;9m♥♥♥♥♥\u001b[0m : *"
|
"♥♥♥♥♥♥♥\u001b[0m /()\\''.''.\n * : \u001b[38;5;9m♥♥♥♥♥\u001b[0m : *"
|
||||||
"\n `..'..' \u001b[38;5;13m♥♥♥\u001b[0m `..'..'\n // \\\\ "
|
"\n `..'..' \u001b[38;5;10m♥♥♥\u001b[0m `..'..'\n // \\\\ "
|
||||||
"\u001b[38;5;9m♥\u001b[0m // \\\\")
|
"\u001b[38;5;9m♥\u001b[0m // \\\\")
|
||||||
print('\u001b[38;5;7;48;5;8m<><><><><><><><><><><><><><><><><><><><><><><><><><><><>\u001b[0m')
|
print('\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 '
|
||||||
@@ -410,10 +410,10 @@ 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.2.0'
|
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m \u001b[38;5;15;48;5;8mversion 1.3.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 brisk bahh '
|
print('\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m \u001b[38;5;15;48;5;8mthe serious shepherd '
|
||||||
'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')
|
||||||
print('\u001b[38;5;7;48;5;8m<><><><><><><><><><><><><><><><><><><><><><><><><><><><>\u001b[0m\n')
|
print('\u001b[38;5;7;48;5;8m<><><><><><><><><><><><><><><><><><><><><><><><><><><><>\u001b[0m\n')
|
||||||
|
|||||||
+32
-39
@@ -1,55 +1,48 @@
|
|||||||
sshyp v1.2.0
|
sshyp v1.3.0
|
||||||
|
|
||||||
the brisk bahh update
|
the serious shepherd update
|
||||||
|
|
||||||
this release focuses on speeding up the sshyp user experience by adding
|
this release ties up many of sshyp's loose ends where there was
|
||||||
new features that reduce wasted time
|
room for major performance, compatibility, and security improvements
|
||||||
|
|
||||||
compatibility-breaking changes:
|
compatibility-breaking changes:
|
||||||
|
|
||||||
- new configuration options (quick-unlock, offline mode) have been added and
|
- due to a near full re-write of the syncing functionality, all clients and servers
|
||||||
the configuration files have been reorganized
|
must be updated to this release (v1.3.0 is not backwards compatible with any prior release)
|
||||||
^ simply running "sshyp tweak" and following the setup wizard will correct any compatibility
|
- it is recommended to either delete the contents of ~/.config/sshyp/deleted (on the server-side)
|
||||||
issues
|
or sync all of your clients before updating
|
||||||
- for quick-unlock security, device names have been replaced with more secure device ids
|
^ old entries in this folder will throw errors with v1.3.0
|
||||||
^ 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:
|
||||||
|
|
||||||
- quick-unlock mode has been added
|
- none - all changes were under-the-hood - the user experience should be
|
||||||
^ this allows you to use a shortened version of your password by verifying that your device
|
exactly the same as v1.2.0 - just faster, less buggy, and more secure
|
||||||
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:
|
major fixes/optimizations:
|
||||||
|
|
||||||
- fixed entries with multi-word titles failing to decrypt
|
- a near full re-write of the syncing functionality
|
||||||
- password generation is now much faster and more resource efficient
|
^ all syncing logic has been moved into sshync.py (from sshyp.py and sshypRemote.py)
|
||||||
- there is no longer a length limit on generated passwords
|
^ in my setup, a dry, local "sshyp sync" went from 2.00+ seconds (v1.2.0) to 0.36 seconds (v1.3.0)
|
||||||
- improved visual consistency of help menus
|
^ the performance improvements are even greater when syncing from outside your local network
|
||||||
- rarely used modules are now imported only when needed
|
- the following character sequences will no longer break the syncing logic: "@", "^&*", and "*&^"
|
||||||
- sshyp now uses one fewer configuration file
|
^ ASCII separator characters 29-31 are now used, instead
|
||||||
|
- os.system has been replaced with subprocess.run in all cases, shell=True is no longer used with subprocess.run
|
||||||
|
^ this protects against shell escape attacks and potentially makes sshyp more compatible with some environments
|
||||||
|
- replaced shell commands with python built-in library functions where applicable
|
||||||
|
^ this brings speed and compatibility improvements
|
||||||
|
- sshyp should no longer incorrectly assume an X11 environment when Wayland is in use
|
||||||
|
^ this fixes clipboard support in some Wayland environments, such as Sway (Plasma/Gnome/Phosh were unaffected)
|
||||||
|
- sshyp now uses the default pinentry on Haiku thanks to haikuports/haikuports#7457
|
||||||
|
^ this brings the Haiku port in-line with the other sshyp packages in terms of security
|
||||||
|
- "python3" is now called over ssh, rather than "python"
|
||||||
|
^ some environments do not have a "python" symlink, or it links to "python2" - changing this increases compatibility
|
||||||
|
- fixed an issue from v1.2.0 where renaming threw an error if not in offline mode
|
||||||
|
|
||||||
other notable changes:
|
other notable changes:
|
||||||
|
|
||||||
- sshyp is now specifically licensed under the GPL-3.0-only (keyword: only)
|
- quick-unlock password input is now hidden while the user is typing
|
||||||
- sshyp now has some possible arguments and its own help menu when running in server mode
|
^ user input is now invisible to prevent snooping
|
||||||
- temporary files in /dev/shm are now generated with more complex names
|
- lots of smaller optimizations not listed here
|
||||||
- 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