Windows 32/64 binary
Pre-releaseFirst public release with (a bit) for the cloudpaq
The next "big thing" is zpaq-over-ssh, or (better), zpaqfranz-over-TCP-socket
Some more
zpaqfranz can send an (encrypted) copy of the archive via "internet" (TCP) to a remote server, running the new (soon-to-be-released) cloudpaq
The server will make a (lot) of checks before update the local version of the archive
Of course all this "mess" is for a ransomware-resilient archiver
It is rather hard to implement, currently it works with an entire file, but the sending of subsequent updates needs to be implemented
There is definitely an overkill in the security methods used - in practice I expect to use it over an ssh tunnel, so authentication and encryption issues are actually redundant - but after all it is a hobby.
However, in my spare time maybe I will complete it :)
News against 55.x
-flagbig
Shows a BIG ASCII-text in the result. Useful for crontabbed-e-mail-sended results
C:\zpaqfranz>zpaqfranz t z:\1.zpaq -big
zpaqfranz v56.1j-JIT-L (HW BLAKE3), SFX64 v55.1, (15 Nov 2022)
franz:-big
Archive seems encrypted (or corrupted)
Enter password :***
z:/1.zpaq: zpaqfranz error:password incorrect
23013: zpaqfranz error: password incorrect
1.453 seconds (000:00:01) (with errors)
####### ###### ###### ####### ###### ###
# # # # # # # # # ###
# # # # # # # # # ###
##### ###### ###### # # ###### #
# # # # # # # # #
# # # # # # # # # ###
####### # # # # ####### # # ###
-checktxt
After an "add", create a file with a full xxh3 hashing of the archive (note: without parameter take the same name of the archive, with .txt)
zpaqfranz a z:\knb.zpaq c:\nz\ -checktxt z:\pippo.txt
(...)
zpaqfranz v56.1j-JIT-L (HW BLAKE3), SFX64 v55.1, (15 Nov 2022)
Creating XXH3 check txt on z:/pippo.txt
44202: final XXH3: hash 6C68C17F625AF11AA734E8D122241789
Now you can send the .txt file (with rsync, in future with cloudpaq) on a remote server, then do a quick check
zpaqfranz sum z:\knb.zpaq -checktxt z:\pippo.txt -big
C:\zpaqfranz>zpaqfranz sum z:\knb.zpaq -checktxt z:\pippo.txt -big
zpaqfranz v56.1j-JIT-L (HW BLAKE3), SFX64 v55.1, (15 Nov 2022)
franz:-big
franz:checktxt <<z:/pippo.txt>>
Checking XXH3 (because of -checktxt) on z:/pippo.txt
Hash from checktxt |6C68C17F625AF11AA734E8D122241789|
0.063 seconds (00:00:00) (all OK)
####### # #
# # # #
# # # #
# # ###
# # # #
# # # #
####### # #
Now - on the remote server - something like
/usr/local/bin/zpaqfranz dir "/home/pizza/copie/" -noeta >/tmp/checkpizza.txt
/usr/local/bin/zpaqfranz sum /home/pizza/copie/$1 -big -noeta -checktxt /home/pizza/
copie/$2 >>/tmp/checkpizza.txt
if [ -f /tmp/checkpizza.txt ]; then
/usr/local/bin/smtp-cli --missing-modules-ok (...) -cc $3 -subject "CHECK-pizza-backup" -body-plain=/tmp/checkpizza.txt
fi
Short version: quickly compare a local archive with a rsync-ed remote one, tanking the free space (of the remote server) too, by e-mail
-stdin
During add it is now possible to take the stdin flux. Typically to get mysqldump's backup or a full image of a live Windows (!) via dd
zpaqfranz a z:\1.zpaq mydump.sql -stdin
Or...
c:\nz\dd if="\\\\.\\c:" bs=1048576 count=100000000000 |c:\zpaqfranz\zpaqfranz a j:\image\prova cimage.img -stdin
-windate (on Win)
Add/Restore (if any) file's creation date. Please note: this will force xxhash64 hash [the default]
C:\zpaqfranz>zpaqfranz a z:\2 *.cpp -windate
zpaqfranz v56.1j-JIT-L (HW BLAKE3), SFX64 v55.1, (15 Nov 2022)
franz:winhash64 (-windate)
Creating z:/2.zpaq at offset 0 + 0
(...)
0.250 seconds (00:00:00) (all OK)
C:\zpaqfranz>zpaqfranz x z:\2.zpaq -to z:\kajo -windate
-all -comment (in x, extract)
Mark extracted versions with ASCII comment, if present
zpaqfranz x copia.zpaq -to z:\prova\ -all -comment
range in extraction
Extract the files added from version X to Y, or 1 to X, or X until end. Something like github (!)
In this example I want to get all the different comp.pas source code, from version 100 to 1000
zpaqfranz x copia.zpaq -only *comp.pas -to z:\allcomp -all -range 100-1000
in utf command -fix255
To quickly find longfiles on a folder
zpaqfranz utf c:\vm -fix255
-isopen on a (add)
Quickly abort if the file is already opened (on Windows). For multi-virtual-machines backup on the same archive
fixes
- On Windows w with longpath now sanitize path better
- Better (but not perfect) handling for OneDrive folder #37
- Skip .zfs by default for dir mode
- Extended -debug output (try to catch really weird NTFS' "something"
- Fixed output