mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-09-06 00:57:14 -04:00
Documentation draft for release v1.5.0
Former-commit-id: 0b48dd00fa914cb5c1d734687dae0827a7a00d7c Former-commit-id: 2396087e33fed9982f12cfe3593c4ec43d4f0d89
This commit is contained in:
@@ -1,7 +1,74 @@
|
|||||||
sshyp v1.4.99
|
sshyp v1.5.0
|
||||||
06/08/2023
|
07/07/2023
|
||||||
|
|
||||||
this is an in-progress update
|
the fortified flock update
|
||||||
|
|
||||||
|
this release implements new curses-based TUI configuration menus and improves the security of sshyp
|
||||||
|
|
||||||
|
compatibility-breaking changes:
|
||||||
|
|
||||||
|
- a completely new configuration system calls for a new configuration file
|
||||||
|
^ before using sshyp v1.5.0 for the first time, 'sshyp init' will need to be ran to create the
|
||||||
|
new configuration file
|
||||||
|
^ 'sshyp tweak' has been repurposed as the configuration menu for changing individual options,
|
||||||
|
rather than re-doing setup entirely - after initialization, this is the one you want to use
|
||||||
|
- the new extension manager is replacing the old method of installing extensions as system packages
|
||||||
|
^ any older extensions you have installed should be uninstalled to prevent conflicts
|
||||||
|
^ extensions are now installed and removed through the 'sshyp tweak' menu's extension manager
|
||||||
|
- all clients and servers must be updated to this release for the folder renaming bug fix to work
|
||||||
|
^ failure to update all devices will result in errors and/or potential data loss
|
||||||
|
- various packaging changes
|
||||||
|
^ x-clip and wl-clipboard are now marked as optional dependencies, so the correct tool will
|
||||||
|
need to be installed as needed - a warning has been added for this if neither package is installed
|
||||||
|
^ the changelog no longer ships with sshyp - it is still available on GitHub
|
||||||
|
|
||||||
|
user-facing features:
|
||||||
|
|
||||||
|
- the old configuration menu, 'sshyp tweak', has been split into two new curses-based TUI menus
|
||||||
|
^ 'sshyp init' is for first-time setup/initialization
|
||||||
|
^ 'sshyp tweak' can be used at any time to quickly adjust individual settings
|
||||||
|
^ whitelist management tools have been moved to the new 'sshyp tweak' menu
|
||||||
|
^ clients and servers now each have their own dedicated 'sshyp tweak' menu
|
||||||
|
^ the new config file is in .INI format, making it easier to edit the config without sshyp
|
||||||
|
- added a 'sshyp tweak' option for re-encrypting all entries with a new gpg key
|
||||||
|
- added a security advisory when enabling quick-unlock to ensure the user understands potential risks
|
||||||
|
- the user is now warned if the clipboard tool relevant to their platform is not installed
|
||||||
|
- passwords are now hidden by default in the entry reader
|
||||||
|
^ they can be displayed by appending '--show' or '-s' to the end of the command
|
||||||
|
- input is now hidden when adding/editing a password in an entry
|
||||||
|
- entries are no longer re-encrypted and synced if the note editor is quit without saving
|
||||||
|
|
||||||
|
|
||||||
|
fixes/optimizations:
|
||||||
|
|
||||||
|
- a tmpfs is no longer used for decrypting entries unless editing notes
|
||||||
|
^ data is now decrypted directly into sshyp and written to entries pre-encrypted
|
||||||
|
^ this makes reading entries much more secure
|
||||||
|
^ editing entries is similarly secure to before - greater improvements coming in a future update
|
||||||
|
- folder renaming has been re-enabled and now functions as intended
|
||||||
|
- some unnecessarily verbose outputs were silenced and/or made to appear more cleanly
|
||||||
|
- FreeBSD packaging fixes
|
||||||
|
^ no longer incorrectly includes and uses the logic for the Termux clipboard
|
||||||
|
^ now specifies 'python3' dependency instead of 'python'
|
||||||
|
- many lists provided to the subprocess module have been swapped with tuples
|
||||||
|
- more correct and clear language is used to describe options and arguments in the help menus
|
||||||
|
- properly display an error when attempting to copy blank fields from entries
|
||||||
|
- shebangs have been removed from libraries not meant to be run directly
|
||||||
|
|
||||||
|
other factors of note:
|
||||||
|
|
||||||
|
- with the release of Debian 12 Bookworm, sshyp is once again fully supported on vanilla Debian
|
||||||
|
^ previously, it was only working correctly in offline mode due to Debian 11's old OpenSSH package
|
||||||
|
- this is the biggest release of sshyp ever
|
||||||
|
^ it includes LOTS of minor changes and optimizations not included in the patch notes summary
|
||||||
|
^ as such, keep an eye out for new bugs!
|
||||||
|
- the next major release of sshyp may be even larger...
|
||||||
|
^ but it is also likely very far away
|
||||||
|
^ GnuPG is great, but it is inherently incompatibile with sshyp's future security model
|
||||||
|
^ if all goes according to plan, GnuPG will be replaced in the next release
|
||||||
|
^ assuming this happens, this next release will be crowned v2.0.0
|
||||||
|
^ sshyp v1.5.X is expected to be the latest stable release for a longer amount of time than usual
|
||||||
|
^ sshyp v1.5.X may recieve security/bug fix patches after the release of v2.0.0, as needed
|
||||||
|
|
||||||
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
.TH sshyp 1 "06 July 2023" "v1.5.0" "sshyp man page"
|
.TH sshyp 1 "07 July 2023" "v1.5.0" "sshyp man page"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
\fBsshyp\fR - Simple, self-hosted, synchronized password management for UNIX(-like) systems. Alternative to (and compatible with) pass/password-store.
|
\fBsshyp\fR - Simple, self-hosted, synchronized password management for UNIX(-like) systems. Alternative to (and compatible with) pass/password-store.
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|||||||
+4
-4
@@ -292,10 +292,10 @@ def print_info():
|
|||||||
print(f"{_border}{_blank}\n\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m{3*' '}\u001b[38;5;15;48;5;8m"
|
print(f"{_border}{_blank}\n\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m{3*' '}\u001b[38;5;15;48;5;8m"
|
||||||
f"sshyp ", f"copyright (c) 2021-2023 ", f"randall winkhart\u001b[38;5;15;48;5;15m{3*' '}"
|
f"sshyp ", f"copyright (c) 2021-2023 ", f"randall winkhart\u001b[38;5;15;48;5;15m{3*' '}"
|
||||||
f"\u001b[38;5;7;48;5;8m/\u001b[0m\n{_blank}")
|
f"\u001b[38;5;7;48;5;8m/\u001b[0m\n{_blank}")
|
||||||
print(f"\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m{20*' '}\u001b[38;5;15;48;5;8mversion 1.4.99"
|
print(f"\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m{20*' '}\u001b[38;5;15;48;5;8mversion 1.5.0"
|
||||||
f"\u001b[38;5;15;48;5;15m{20*' '}\u001b[38;5;7;48;5;8m/\u001b[0m")
|
f"\u001b[38;5;15;48;5;15m{21*' '}\u001b[38;5;7;48;5;8m/\u001b[0m")
|
||||||
print(f"\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m{9*' '}\u001b[38;5;15;48;5;8mthe argumentative "
|
print(f"\u001b[38;5;7;48;5;8m/\u001b[38;5;15;48;5;15m{14*' '}\u001b[38;5;15;48;5;8mthe fortified flock"
|
||||||
f"agronomist update\u001b[38;5;15;48;5;15m{10*' '}\u001b[38;5;7;48;5;8m/\u001b[0m")
|
f" update\u001b[38;5;15;48;5;15m{14*' '}\u001b[38;5;7;48;5;8m/\u001b[0m")
|
||||||
print(f"{_blank}\n{_border}\nsee https://github.com/rwinkhart/sshyp for more information\n")
|
print(f"{_blank}\n{_border}\nsee https://github.com/rwinkhart/sshyp for more information\n")
|
||||||
elif arguments[0] == 'license':
|
elif arguments[0] == 'license':
|
||||||
print('\nThis program is free software: you can redistribute it and/or modify it under the terms\nof version 3 '
|
print('\nThis program is free software: you can redistribute it and/or modify it under the terms\nof version 3 '
|
||||||
|
|||||||
+1
-1
@@ -362,7 +362,7 @@ def extension_downloader():
|
|||||||
from os import chmod
|
from os import chmod
|
||||||
from tempfile import gettempdir
|
from tempfile import gettempdir
|
||||||
from urllib.request import urlopen, urlretrieve
|
from urllib.request import urlopen, urlretrieve
|
||||||
_file_data = urlopen("https://raw.githubusercontent.com/rwinkhart/sshyp-labs/ext-manager/pointers/v1.5.0").read()
|
_file_data = urlopen("https://raw.githubusercontent.com/rwinkhart/sshyp-labs/main/pointers/v1.5.0").read()
|
||||||
_pointer = ConfigParser()
|
_pointer = ConfigParser()
|
||||||
_pointer.read_string(_file_data.decode('utf-8'))
|
_pointer.read_string(_file_data.decode('utf-8'))
|
||||||
_extensions = _pointer.sections()
|
_extensions = _pointer.sections()
|
||||||
|
|||||||
Reference in New Issue
Block a user