Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enhancements #15

Open
wants to merge 55 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
5138c26
feat: added progress bar
Aug 13, 2021
0501c30
feat: added exclusion list
Aug 13, 2021
dda7c92
feat: asks twice for password
Aug 13, 2021
0c74346
docs: mentions exclusion list
Aug 13, 2021
82a3c2b
docs: typo
Aug 13, 2021
a591e8b
style: matches the original author's coding style
Aug 13, 2021
6eb3768
feat: implements local backup
Aug 13, 2021
6cd30bf
feat: upload smaller file first
Aug 13, 2021
43eba6c
minor: phrasing
Aug 13, 2021
254fc4c
fix: adds check for unix special file and others
Aug 13, 2021
52f56fa
added flag to indicate wether to treat larger files first or last
Aug 13, 2021
3da2986
modified: nfreezer.py
Aug 13, 2021
b1eeb25
fix: pbar should update rather after uploading the file
Aug 13, 2021
2d5b7e8
uploads larger files first
Aug 18, 2021
dda31b7
get_size doesn't use blanket except statement and sets minimum size a…
Aug 18, 2021
2757dd3
fix: exclusion list was not working properly
Aug 18, 2021
a946419
fix: safer way to get file size
Aug 18, 2021
1eb380d
style: more straightforward message
Aug 18, 2021
a0dbe93
fix: updates the progress bar after each block sent
Aug 18, 2021
66cc434
untested: adds rudimentary progress bar when restoring
Aug 18, 2021
038766f
style: clearer query for user input
Aug 23, 2021
2b963d7
fix: apparently the progress bar was not updating correctly but the a…
Aug 23, 2021
6f34bc1
better handling of wrong password
Sep 28, 2021
fff6b7e
minor
Sep 28, 2021
80a1fc3
feat: supports multi threaded uploading
Sep 28, 2021
987aced
updates pbar at each encryption step and not at each uploaded file
Sep 28, 2021
5e845cb
send small files first by default
Sep 28, 2021
2e4e97e
pbar: change smoothing parameter
Sep 28, 2021
4f220a7
better smoothing like that
Sep 28, 2021
bc9365d
style: shorter print + use f string
Sep 30, 2021
7d653d7
added a for loop to allow to retry up to 5 times to enter the password
Oct 5, 2021
83fe02e
style
Oct 5, 2021
f906afd
now using tqdm instead of tqdm.tqdm
Oct 5, 2021
d8c5135
modified: nfreezer.py
Oct 5, 2021
bb0b2d5
oops: forgot to remove a test argument
Oct 5, 2021
b94ffdc
oops: forgot to remove a test argument 2
Oct 5, 2021
5e69c8f
oops: forgot to stop the script
Oct 5, 2021
2954098
adds todo
Oct 7, 2021
15edf95
it makes no sense to keep an outdated changelog without timestamp
Oct 7, 2021
bcd0129
added todo list at the top
Oct 7, 2021
69922eb
added SMALL_FILE as a parameter to indicate when to start threading
Oct 7, 2021
0ba0761
added SMALL_FILE as a parameter to indicate when to start threading 2
Oct 7, 2021
1afa878
fix: joining threads at the end
Oct 7, 2021
afb0b26
modified: nfreezer.py
Oct 7, 2021
0ab08bc
todo
Oct 7, 2021
a9b346a
fix
Oct 8, 2021
d3ca467
display nunmber of threads in tqdm
Oct 14, 2021
22b0cab
todo
Oct 14, 2021
8602f32
warn user when creating a full backup
Oct 14, 2021
a4984d9
fix: pbar
Oct 14, 2021
1143179
better way to check if too many threads
Oct 14, 2021
2dd4473
new defaults
Oct 14, 2021
7e230c5
added colours to prints
Oct 26, 2021
3ef3247
minor
Oct 26, 2021
97ada0f
ask sftp password again if failed
Nov 1, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Use case: you can store your private data on a friend's computer, or on a remote

* **incremental and resumable**: if the data is already there on the remote server, it won't be resent during the next sync. If the sync is interrupted in the middle, it will continue where it stopped (last non-fully-uploaded file). Deleted or modified files in the meantime will of course be detected.

* **supports exclusion list**: you can tell nfreezer to ignore certain files.

* ![image](https://user-images.githubusercontent.com/6168083/100476609-4f8a3100-30e6-11eb-8d16-cc59b352576e.png) **graceful file moves/renames/data duplication handling**: if you move `/path/to/10GB_file` to `/anotherpath/subdir/10GB_file_renamed`, no data will be re-transferred over the network.

This is supported by some other sync programs, but *very rarely* in encrypted-at-rest mode.
Expand Down Expand Up @@ -40,12 +42,16 @@ and that's all.
### Backup to a remote server

import nfreezer
nfreezer.backup(src='test/', dest='[email protected]:/test/', sftppwd='pwd', encryptionpwd='strongpassword')
nfreezer.backup(src='test/',
dest='[email protected]:/test/',
sftppwd='pwd',
encryptionpwd='strongpassword',
exclusion_list=["mkv", "mov"])

or, from command-line:

nfreezer backup test/ [email protected]:/test/ # Linux
nfreezer backup "D:\My docs\" [email protected]:/test/ # Windows
nfreezer backup test/ [email protected]:/test/ '["mkv", "mov"]' # Linux
nfreezer backup "D:\My docs\" [email protected]:/test/ '["mkv", "mov"]' # Windows

### Restore from a backup

Expand All @@ -56,7 +62,7 @@ or, from command-line:

nfreezer restore [email protected]:/test/ restored/

Alternatively, if you prefer, you can also copy the remote backuped files (encrypted-at-rest) to a local directory `backup_copied/` and restore with nFreezer from this local directory:
Alternatively, if you prefer, you can also copy the remote backed up files (encrypted-at-rest) to a local directory `backup_copied/` and restore with nFreezer from this local directory:

nfreezer restore backup_copied/ restored/

Expand Down
Loading