Compare commits

..
5 changed files with 108 additions and 16 deletions
+6 -3
View File
@@ -160,7 +160,7 @@ def print_info(): # prints help text based on argument
print('/ /')
print('/ sshyp Copyright (C) 2021-2022 Randall Winkhart /')
print('/ /')
print('/ Version 2022.02.16.fr4.5 /')
print('/ Version 2022.02.16.fr4.7 /')
print('/ The High-Tech Shears Update /')
print('/ /')
print('////////////////////////////////////////////////////////\n')
@@ -225,11 +225,13 @@ def sync(): # calls sshync to sync changes to the user's server
for _file in _deletion_database:
if _file[:-1].endswith('/'):
try:
print(f"Removing folder {path.expanduser('~/.password-pasture/')}{_file[:-1]}...\n")
rmtree(f"{path.expanduser('~/.password-pasture/')}{_file[:-1]}")
except FileNotFoundError:
print('Folder does not exist locally.\n')
else:
try:
print(f"Removing entry {path.expanduser('~/.password-pasture/')}{_file[:-1]}...\n")
remove(f"{path.expanduser('~/.password-pasture/')}{_file[:-1]}.gpg")
except (FileNotFoundError, IsADirectoryError):
print('File does not exist locally.\n')
@@ -245,10 +247,11 @@ def sync(): # calls sshync to sync changes to the user's server
_folder_database = None
s_exit()
for _folder in _folder_database:
if Path(f"{path.expanduser('~/.password-pasture/')}{_folder[:-1]}").is_dir():
if Path(f"{path.expanduser('~')}{_folder[:-1]}").is_dir():
pass
else:
Path(f"{path.expanduser('~/.password-pasture/')}{_folder[:-1]}").mkdir(0o700, parents=True, exist_ok=True)
print(f"Adding folder {path.expanduser('~')}{_folder[:-1]}...\n")
Path(f"{path.expanduser('~')}{_folder[:-1]}").mkdir(0o700, parents=True, exist_ok=True)
# set permissions before uploading
system('find ' + directory + ' -type d -exec chmod -R 700 {} +')
system('find ' + directory + ' -type f -exec chmod -R 600 {} +')
+7 -6
View File
@@ -2,8 +2,8 @@
# external modules
from os import remove, listdir
from os.path import expanduser, isdir, join
from os import listdir, remove, walk
from os.path import expanduser
from shutil import rmtree
@@ -38,7 +38,8 @@ def deletion_check(_client_device_name):
def folder_check():
open(expanduser('~/.config/sshyp/deletion_database'), 'w').write('')
for _file in listdir(expanduser('~/.password-pasture')):
if isdir(join('~/.config/sshyp/deletion_database/', _file)):
open(expanduser('~/.config/sshyp/folder_database'), 'a').write(_file + '\n')
open(expanduser('~/.config/sshyp/folder_database'), 'w').write('')
for _root, _directories, _files in walk(expanduser('~/.password-pasture')):
for _dir in _directories:
open(expanduser('~/.config/sshyp/folder_database'), 'a')\
.write(f"{_root.replace(expanduser('~'), '')}/{_dir}\n")
+87
View File
@@ -1,3 +1,90 @@
sshyp 2022.02.16.fr4.7
The High-Tech Shears Update - Patch 7
This release enables recursive folder syncing.
Note: Upgrading from releases older than fr4.7 requires the configuration ("sshyp tweak") to be re-done, as the configuration process has changed.
Changes:
- re-wrote folder checking function to fetch subdirectories recursively
- added in user-facing messages for when folders are being synced or entries are being removed
- fixed a typo preventing folder syncing from working (actually tested this time)
&&
Planned for next major update (fr5, The sshyp Doing a Split Update):
sshyp:
** sshyp has recieved a major visual overhaul
^ this includes the new file list and thematic text art
sshync:
** sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
^ more details will be available in the sshync repo, once it is created
&&
Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):
** imporove password generator to guarantee more secure results
** enforce permissions on the server-side
** allow for copying entire notes (not just first line)
** ability to pass entries as arguments for more functions
&&
Backlog:
** create separate gui frontend targetting mobile and desktop Linux
** auto-completion on tab (currently unsure of best way to make this work)
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
sshyp 2022.02.16.fr4.6
The High-Tech Shears Update - Patch 6
This release addresses a critical typo.
Note: Upgrading from releases older than fr4.6 requires the configuration ("sshyp tweak") to be re-done, as the configuration process has changed.
Changes:
- corrected a typo error causing folder syncing issues
&&
Planned for next major update (fr5, The sshyp Doing a Split Update):
sshyp:
** sshyp has recieved a major visual overhaul
^ this includes the new file list and thematic text art
sshync:
** sshync has been split into a separate package and now has standalone functionality as a backup/syncing utility
^ more details will be available in the sshync repo, once it is created
&&
Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):
** when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
** imporove password generator to guarantee more secure results
** enforce permissions on the server-side
** allow for copying entire notes (not just first line)
** ability to pass entries as arguments for more functions
&&
Backlog:
** create separate gui frontend targetting mobile and desktop Linux
** auto-completion on tab (currently unsure of best way to make this work)
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
sshyp 2022.02.16.fr4.5
The High-Tech Shears Update - Patch 5
+1 -1
View File
@@ -1,4 +1,4 @@
.TH sshyp 1 "16 February 2022" "2022.02.16.fr4.5" "sshyp man page"
.TH sshyp 1 "16 February 2022" "2022.02.16.fr4.7" "sshyp man page"
.SH NAME
sshyp \- A very simple self-hosted, synchronized password manager. Alternative to GNU pass.
.SH SYNOPSIS
+7 -6
View File
@@ -1,14 +1,16 @@
sshyp 2022.02.16.fr4.5
sshyp 2022.02.16.fr4.7
The High-Tech Shears Update - Patch 5
The High-Tech Shears Update - Patch 7
This release addresses a critical syntax error.
This release enables recursive folder syncing.
Note: Upgrading from releases older than fr4.5 requires the configuration ("sshyp tweak") to be re-done, as the configuration process has changed.
Note: Upgrading from releases older than fr4.7 requires the configuration ("sshyp tweak") to be re-done, as the configuration process has changed.
Changes:
- corrected a syntax error causing critical functionality issues
- re-wrote folder checking function to fetch subdirectories recursively
- added in user-facing messages for when folders are being synced or entries are being removed
- fixed a typo preventing folder syncing from working (actually tested this time)
&&
@@ -26,7 +28,6 @@ sshync:
Planned for next, next major update (fr6, The Farmer Shearing the sshyp Update):
** when syncing, a check is made to see if any folders are not on all devices - if the check comes back true, it is corrected (in sshyp)
** imporove password generator to guarantee more secure results
** enforce permissions on the server-side
** allow for copying entire notes (not just first line)