Skip to content
Franco Corbelli edited this page Oct 16, 2024 · 2 revisions

On this page, I will list the switches of zpaqfranz, trying to gradually explain what they are for.

It will be a tough and exhausting job

  • 715

This switch attempts to transform zpaqfranz into zpaq. That is, it disables advanced features and makes the generated output as similar as possible to that of zpaq. It has two main uses: with the 'a' (add) command, where it essentially creates archives in the standard zpaq format (and is therefore, incidentally, faster than zpaqfranz). With the 'l' (list) command, it generates output that is essentially identical at the binary level to zpaq. The purpose is to facilitate usage by third-party programs that are accustomed to zpaq output, simply by adding this switch.

  • append

This switch has multiple uses. With the 'a' (add) command, it performs a double write-only pass and is used with WORM anti-ransomware systems. Essentially, it performs an initial compression of the archives without storing them. Once all necessary information has been determined, it proceeds to create the archive WITHOUT making any kind of backward SEEK. In certain systems (like Unix), this allows the creation of files that cannot be attacked by ransomware, as the system prevents any modification to a file, except for appending data at the end. It is a rather delicate system, as you can imagine. In such cases, ask for explicit help for more details. In other contexts, this switch has a different meaning, particularly with the 'cp' and 'r' (robocopy) commands. In this case, it allows a copy process to be interrupted halfway and resumed from the point where it left off, instead of starting over. It is, of course, used for copying .zpaq files. Let’s take a concrete example. I write a certain number of files created with zpaqfranz on Windows, inside the folder d:\backup. Now I want to make an additional copy, for example on a NAS. I use, for instance, the robocopy command. However, this will always start from the beginning, meaning it will transfer the entire .zpaq file to the NAS. The 'r' command with the -append switch, on the other hand, will only send the data added since the last copy, making it significantly faster.

g_programflags.add(&flagappend,			"-append",				"Append-only (antiransomware, slow)",				"a;");
g_programflags.add(&flagbackupxxh3,		"-backupxxh3",			"Use XXH3 in backup instead of MD5",				"");
g_programflags.add(&flagbig,			"-big",					"Big",												"all;");
g_programflags.add(&flagchecksum,		"-checksum",			"Do checksums",										"");
g_programflags.add(&flagchecktxt,		"-checktxt",			"Checktxt (MD5)",									"");

#ifdef _WIN32 g_programflags.add(&flagsfx, "-sfx", "Enable SFX module", ""); #endif g_programflags.add(&flagfasttxt, "-fasttxt", "Create test .txt with CRC-32 and QUICK", ""); g_programflags.add(&flagcomment, "-comment", "Comment version", ""); g_programflags.add(&flagdebug, "-debug", "Show debug line number", ""); g_programflags.add(&flagdebug2, "-debug2", "Show debug infos", ""); g_programflags.add(&flagdebug3, "-debug3", "Show A LOT of debug", ""); g_programflags.add(&flagdebug4, "-debug4", "Write debug data on z:\", ""); g_programflags.add(&flagdebug5, "-debug5", "Show RAM usage", ""); g_programflags.add(&flagdesc, "-desc", "Orderby desc", ""); g_programflags.add(&flagnosymlink, "-symlink", "Ignore Windows REPARSE_POINT (Symlink)", ""); g_programflags.add(&flagdonotforcexls, "-xls", "Do NOT force adding of XLS/PPT (default: NO)", "a;"); g_programflags.add(&flagdummy, "-debug -zero -kill", "Add 0-byte long file (debugging)", ""); g_programflags.add(&flagdummy, "-debug -zero", "Add files but zero-filled (debugging)", ""); g_programflags.add(&flagfilelist, "-filelist", "Create a filelist .txt", ""); #ifdef _WIN32 g_programflags.add(&flagads, "-ads", "Store filelists on NTFS", ""); #endif g_programflags.add(&flagfast, "-fast", "Store filelists inside", ""); g_programflags.add(&flagfix255, "-fix255", "Fix 255", ""); g_programflags.add(&flagfixeml, "-fixeml", "Fix eml filenames", ""); g_programflags.add(&flagflat, "-flat", "Flat filenames", ""); g_programflags.add(&flagforce, "-force", "Force", ""); g_programflags.add(&flagforcewindows, "-forcewindows", "Store ADS stuff (default: NO)", "a;"); g_programflags.add(&flagforcezfs, "-forcezfs", "Enforce using .zfs", ""); g_programflags.add(&flagfrugal, "-frugal", "Frugal backup", ""); g_programflags.add(&flaghashdeep, "-hashdeep", "Hashdeep", ""); g_programflags.add(&flagignore, "-ignore", "Ignore (do not show) file errors", "a;"); g_programflags.add(&flaghome, "-home", "Home", "a;"); g_programflags.add(&flagkill, "-kill", "Kill", ""); g_programflags.add(&flaght, "-ht", "Enable Hyperthread (if any)", ""); g_programflags.add(&flagnocaptcha, "-nocaptcha", "Skip chaptcha", ""); g_programflags.add(&flagmm, "-mm", "Memory mapped", ""); g_programflags.add(&flagnoattributes, "-noattributes", "Do not store attribute", ""); g_programflags.add(&flagattr, "-attr", "Show attribute (listing)", ""); g_programflags.add(&flagthunderbird, "-thunderbird", "Thunderbird's e-mail", ""); g_programflags.add(&flagnodedup, "-nodedup", "Turn off deduplicator", ""); g_programflags.add(&flagnoeta, "-noeta", "Do not show ETA", ""); g_programflags.add(&flagnopath, "-nopath", "Do not store path", ""); g_programflags.add(&flagnoqnap, "-noqnap", "Exclude QNAP snap & trash", "a;"); g_programflags.add(&flagnomac, "-nomac", "Exclude Mac hidden files", "a;"); g_programflags.add(&flagnosynology, "-nosynology", "Exclude Synology system files", "a;"); g_programflags.add(&flagnorecursion, "-norecursion", "Do not recurse into folders (default: YES)", ""); g_programflags.add(&flagnosort, "-nosort", "Do not sort file", ""); g_programflags.add(&flagpakka, "-pakka", "New output", ""); g_programflags.add(&flagdistinct, "-distinct", "PAKKA zpaqlist", ""); g_programflags.add(&flagparanoid, "-paranoid", "Paranoid", ""); ///g_programflags.add(&flagpaq, "-paq", "Enable paq-levels", ""); g_programflags.add(&flagcollision, "-collision", "Collision check", ""); g_programflags.add(&flagramdisk, "-ramdisk", "Ramdisk (really: heap)", ""); g_programflags.add(&flagrename, "-rename", "Rename", ""); g_programflags.add(&flagsilent, "-silent", "Silent", ""); g_programflags.add(&flagnoconsole, "-noconsole", "Do not manipulate console", "",flagnoconsole); g_programflags.add(&flagskipzfs, "-zfs", "Do NOT ignore .zfs (default: YES)", ""); //flagskipzfs g_programflags.add(&flagspace, "-space", "Do not check space/writeability", ""); g_programflags.add(&flagssd, "-ssd", "SSD", ""); g_programflags.add(&flaghdd, "-hdd", "HDD", ""); g_programflags.add(&flagstat, "-stat", "Statistics", ""); g_programflags.add(&flagstdin, "-stdin", "stdin", ""); g_programflags.add(&flagterse, "-terse", "Create output without header and footer", ""); g_programflags.add(&flagnodel, "-nodel", "Do not show deleted files", ""); g_programflags.add(&flagstdout, "-stdout", "stdout", ""); g_programflags.add(&flagstore, "-store", "Store mode: no deduplication, no compression", ""); g_programflags.add(&flagtar, "-tar", "TAR mode (store posix)", ""); g_programflags.add(&flagtest, "-test", "Only do test", ""); g_programflags.add(&flagtouch, "-touch", "Force 'touch' on date (7.15 to zpaqfranz)", ""); g_programflags.add(&flagutc, "-utc", "Use UTC time", ""); g_programflags.add(&flagdate, "-date", "Show/save creation date (if possible)", ""); g_programflags.add(&flagutf, "-utf", "UTF-8", ""); g_programflags.add(&flagverbose, "-verbose", "Verbose output", ""); g_programflags.add(&flagverify, "-verify", "Verify", ""); g_programflags.add(&flagvss, "-vss", "Enable Volume Shadow Copies", "a;"); g_programflags.add(&flagzero, "-zero", "Flag zero", ""); g_programflags.add(&flagpause, "-pause", "Pause after run (for runhigh)", ""); g_programflags.add(&flagquiet, "-quiet", "Do not show filesystem errors", "");

g_programflags.add(&g_sfxflagforce,		"-sfxforce",			"Sfx force",									"");
g_programflags.add(&g_sfxflagall,		"-sfxall",				"Sfx all",										"");

g_programflags.add(&flagbarraod,		"/od",					"Order by date",									"dir;");
g_programflags.add(&flagbarraon,		"/on",					"Order by name",									"dir;");
g_programflags.add(&flagbarraos,		"/os",					"Order by size",									"dir;");

g_programflags.add(&flagnocolor,		"-nocolor",				"Monochrome output",								"",flagnocolor);
g_programflags.add(&flagnodelete,		"-nodelete",			"Do not logical delete files",						"");

#ifdef _WIN32 /// g_programflags.add(&flagdd, "-dd", "dd", ""); g_programflags.add(&flagfindzpaq, "-findzpaq", "Search .zpaq in every drive letter (USB device)", ""); g_programflags.add(&flagfixcase, "-fixcase", "Fix CAse", ""); g_programflags.add(&flagfixreserved, "-fixreserved", "fixreserved", ""); g_programflags.add(&flagimage, "-image", "Drive image", ""); g_programflags.add(&flaglongpath, "-longpath", "Longpath", ""); g_programflags.add(&flagopen, "-open", "open", ""); #endif

g_programflags.add(&flaghw,				"-hw",					"Use HW SHA1",										"a;x;");
Clone this wiki locally