{"id":23739195,"url":"https://github.com/fcorbelli/zpaqfranz","last_synced_at":"2026-02-12T17:00:55.762Z","repository":{"id":37917569,"uuid":"331279036","full_name":"fcorbelli/zpaqfranz","owner":"fcorbelli","description":"Deduplicating archiver with encryption and paranoid-level tests. Swiss army knife for the serious backup and disaster recovery manager. Ransomware neutralizer. Win/Linux/Unix","archived":false,"fork":false,"pushed_at":"2026-01-22T16:53:06.000Z","size":73041,"stargazers_count":407,"open_issues_count":28,"forks_count":31,"subscribers_count":13,"default_branch":"main","last_synced_at":"2026-01-23T10:07:32.240Z","etag":null,"topics":["backup","compression","deduplication","solaris","zpaq"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fcorbelli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-01-20T11:00:30.000Z","updated_at":"2026-01-22T16:27:44.000Z","dependencies_parsed_at":"2023-10-01T18:36:42.882Z","dependency_job_id":"b71dba5d-bd91-4eab-a268-9a4fb904068a","html_url":"https://github.com/fcorbelli/zpaqfranz","commit_stats":null,"previous_names":[],"tags_count":126,"template":false,"template_full_name":null,"purl":"pkg:github/fcorbelli/zpaqfranz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcorbelli%2Fzpaqfranz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcorbelli%2Fzpaqfranz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcorbelli%2Fzpaqfranz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcorbelli%2Fzpaqfranz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fcorbelli","download_url":"https://codeload.github.com/fcorbelli/zpaqfranz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcorbelli%2Fzpaqfranz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29373837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","compression","deduplication","solaris","zpaq"],"created_at":"2024-12-31T09:36:37.723Z","updated_at":"2026-02-12T17:00:55.736Z","avatar_url":"https://github.com/fcorbelli.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# zpaqfranz: advanced multiversioned archiver, with HW acceleration and SFX (on Windows)      \n\n### Swiss army knife for backup and disaster recovery, like 7z or RAR on steroids, with deduplicated 'snapshots' (versions). Conceptually similar to Mac's Time Machine, but much more efficient. A zpaq 7.15 fork    \n\n|  Platform                                                           | OS package                    |  Version    | Video| Description |\n|  ----------                                                         | -----                         |  ---------- |  -------    |-------------|\n|  [Everything (sourceforge)](https://sourceforge.net/projects/zpaqfranz/files)   |   Windows' exes        |![Badge](https://img.shields.io/github/v/release/fcorbelli/zpaqfranz)|      | Alternative to GitHub|     \n|  [Windows 64](http://www.francocorbelli.it/zpaqfranz/win64/zpaqfranz.exe)           |   `zpaqfranz upgrade -force`     |latest|      | 64-bit version with hardware acceleration auto-detection for SHA1 and SHA2 (if supported by the CPU). Can download additional files (e.g., DLLs) from the internet when needed. Can self-update from the internet (if requested). **Recommended version for Win** |   \n|  [Windows 32](https://www.francocorbelli.it/zpaqfranz/win32/zpaqfranz32.exe)           |   `zpaqfranz32 upgrade -force`    |latest|      |  32-bit version with limitations on memory allocation and available threads. Noticeably slower than the 64-bit version. |\n|  [Windows 64 (HW accelerated)](http://www.francocorbelli.it/zpaqfranz/win64hw/zpaqfranzhw.exe)           | `zpaqfranzhw -force`   |latest|      |64-bit version that uses different code to accelerate SHA1 calculation, but requires the `-hw` switch to enable it. On modern AMD processors it may be ~1.5% faster than zpaqfranz. For power users. |\n|  [Windows 64 (full)](http://www.francocorbelli.it/zpaqfranz/win64/zpaqfranz-full.exe)           |    |latest|      |64-bit version containing all libraries and programs already compressed and linked. Suitable for systems without internet access, which would otherwise fail to download required supporting software.\n|  [Windows 64 (open)](http://www.francocorbelli.it/zpaqfranz/win64/zpaqfranz-open.exe)           |    |latest|      |64-bit version stripped of all additional components, without the ability to create temporary files. It is **100% open-source**, with no binary or hard-to-interpret code. **Suitable for high-security environments**. |\n|  [Windows XP (sourceforge)](https://sourceforge.net/projects/zpaqfranz/files)           |    |    |  |   32-bit version with various limitations for the glorious Windows XP. Noticeably slower. |\n|  [OpenBSD](http://www.francocorbelli.it/zpaqfranz/openbsd)                 |`pkg_add zpaqfranz`            |![Badge](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fopenbsd.app%2F%3Fsearch%3Dzpaqfranz%26format%3Djson%26current%3Don\u0026query=%24..FULLPKGNAME\u0026label=openbsd)|      |\n|  [FreeBSD](http://www.francocorbelli.it/zpaqfranz/freebsd)                 |`pkg install zpaqfranz`        |60.3a |      |\n|  [MacOS](http://www.francocorbelli.it/zpaqfranz/mac)                       |`brew install zpaqfranz`       |![Badge](https://img.shields.io/homebrew/v/zpaqfranz)|      |\n|  [OpenSUSE](http://www.francocorbelli.it/zpaqfranz/opensuse)               |`sudo zypper install zpaqfranz`|      |      |\n|  [Debian 13+ (Ubuntu etc) ](https://packages.debian.org/trixie/utils/zpaqfranz)      | `apt-get install zpaqfranz`  |60.7|      |\n|  [Debian (Ubuntu etc) .deb](http://www.francocorbelli.it/zpaqfranz/debian)      | `sudo apt install zpaqfranz`  |59.8j / 60.7|[Desktop](http://www.francocorbelli.it/zpaqfranz/video/debian-deb.mp4)      |\n|  [Linux generic (32/64)](http://www.francocorbelli.it/zpaqfranz/linux)             |                               |60.7u|      |\n|  [Arch](http://www.francocorbelli.it/zpaqfranz/arch)                       | [AUR user repository (latest)](https://aur.archlinux.org/packages/zpaqfranz-git)|58.10i|[Terminal](http://www.francocorbelli.it/zpaqfranz/video/arch.mp4)\n|  [Solaris 11-64](http://www.francocorbelli.it/zpaqfranz/solaris)                 |                               |60.7u|      |\n|  [OmniOS 64](http://www.francocorbelli.it/zpaqfranz/omnios)                   |                               |60.7u|      |\n|  [NAS (Intel, Synology...)](http://www.francocorbelli.it/zpaqfranz/nas)           |                               |60.7u|      | \n|  [NAS (armv8, QNAP...)](http://www.francocorbelli.it/zpaqfranz/qnap)           |                               |60.7u|      | \n|  [NAS (arm Cortex-C57,QNAP TS433...)](http://www.francocorbelli.it/zpaqfranz/57c)           |                               |60.7u|      | \n|  [Haiku](http://www.francocorbelli.it/zpaqfranz/haiku)                     |                               |60.7u|      |\n|  [ESXi](http://www.francocorbelli.it/zpaqfranz/esxi)                       |                               |60.7u|\n| [Freeware GUI for Windows](https://github.com/fcorbelli/zpaqfranz/wiki/PAKKA-Windows-32-bit-extractor) |   |[latest](http://www.francocorbelli.it/pakka/build/latest/pakka_latest.zip)  |      |\n| [![ZpaqTreeView](https://github.com/fcorbelli/zpaqfranz/assets/77727889/2e155fa7-0565-416b-8bdd-b99c16ae896d)](https://github.com/EpicGazel/ZpaqTreeView)                                                                | Third Party Python software |      |\n\n[![Freeware GUI for Windows](https://github.com/fcorbelli/zpaqfranz/assets/77727889/e8243e14-b299-4224-b998-8c96a8e425d5)](https://github.com/fcorbelli/zpaqfranz/wiki/PAKKA-Windows-32-bit-extractor)\n[![Wiki](https://github-production-user-asset-6210df.s3.amazonaws.com/77727889/267342908-7d4c5bb9-6ea2-4735-9226-4d8112c5d65d.jpg)](https://github.com/fcorbelli/zpaqfranz/wiki) [![Help](https://github-production-user-asset-6210df.s3.amazonaws.com/77727889/267348388-d539932d-55c6-454a-a27b-054a10ae5f35.jpg)](https://github.com/fcorbelli/zpaqfranz/wiki/HELP-integrated) [![Sourceforge](https://github-production-user-asset-6210df.s3.amazonaws.com/77727889/267350249-91c18ca6-8c74-4585-96f4-3c72fd2c6725.jpg)](https://github.com/EpicGazel/ZpaqTreeView)\n\n## Classic file archivers (tar, 7z, RAR etc) are obsolete when used for repeated backups (daily, weekly, etc) compared to the ZPAQ algorithm that maintains \"snapshots\" (versions) of the data. [This is even more true in the case of ASCII dumps of databases (e.g. MySQL/MariaDB)](https://github.com/fcorbelli/zpaqfranz/wiki/Real-world:-SQL-dumps-(MySQL-MariaDB-Postgres-backup))\n\nLet's see.\nArchiving a folder multiple times (5), simulating a daily run Monday-to-Friday, with 7z:\n\nhttps://user-images.githubusercontent.com/77727889/215149589-0f2d9f91-ea5a-4f60-b587-f2a506148fe9.mp4\n\nSame, but with zpaqfranz:\n\nhttps://user-images.githubusercontent.com/77727889/215148702-edb8e5bb-8f4e-42bb-9637-6ee98742318a.mp4\n\n_As you can see, the .7z \"daily\" 5x backups takes ~ 5x the space of the .zpaq_ ones.\n\n![compare](https://user-images.githubusercontent.com/77727889/215150599-83032cc6-06b0-432d-ba3b-b410698e3631.jpg)\n\n## Seeing is believing (\"real world\")\n\nI thought it's best to show the difference with a more realistic example.  \n\nPhysical (small fileserver) Xeon machine with 8 cores, 64GB RAM and NVMe disks, plus Solaris-based NAS, 1Gb ethernet\n\nRsync update from filesystem to filesystem (real speed):  \n\nhttps://user-images.githubusercontent.com/77727889/215152167-c6ce107a-6345-4060-b7a7-33ad30b269ee.mp4\n\n\nRsync update to Solaris NAS (real speed):\n\nhttps://user-images.githubusercontent.com/77727889/215152259-2baa7001-d838-40de-b56c-6fe3feff9f1b.mp4\n\n\nBackup update from file system with zpaqfranz (real speed):  \n\nhttps://user-images.githubusercontent.com/77727889/215146670-1a11cd5d-6f00-4544-b797-9ca288ae12b1.mp4\n\nBackup upgrade via zfsbackup (real speed):\n\nhttps://user-images.githubusercontent.com/77727889/215147310-cc760f20-08b8-4088-9d8a-f58f00eac211.mp4\n\n# What?\n\nAt every run only data changed since the last execution will be added, creating a new version (the \"snapshot\").\nIt is then possible to restore the data @ the single version, just like snapshots by zfs or virtual machines, but a single-file level.  \n- Keeps a forever-to-ever copy (even thousands of versions), conceptually similar to Mac's time machine, but much more efficiently.  \n- Ideal for virtual machine disk storage (ex backup of vmdk), virtual disks (VHDx) and even TrueCrypt containers.  \n- Easily handles millions of files and tens of TBs of data.  \n- Allows rsync (or zfs replica) copies to the cloud with minimal data transfer and encryption.    \n- Multiple possibilities of data verification, fast, advanced and even paranoid.\n- Some optimizations for modern hardware (aka: SSD, NVMe, multithread).\n- By default triple-check with \"chunked\" SHA-1, XXHASH64 and CRC-32 (!).  \n  For even higher level of paranoia, it is possible to use others hash algorithms, as\n  - MD5\n  - SHA-1 of the full-file (NIST FIPS 180-4)\n  - XXH3-128\n  - BLAKE3 128\n  - SHA-2-256 (NIST FIPS 180-4)\n  - SHA-3-256 (NIST FIPS 202)\n  - WHIRLPOOL (ISO/IEC 10118-3)\n  - HIGHWAY (64,128,256)\n  - ...And much more.  \n\n\n**No complex (and fragile) repository folders, with hundreds of \"whatever\", just only a single file!**  \n\n## Windows client? Minimum size (without software) VSS backups\n\n_It is often important to copy the %desktop% folder, Thunderbird's data, %download% and generally the data folders of a Windows system, leaving out the programs._\n\nReal speed (encrypted) update of C: without software (-frugal):  \n\nhttps://user-images.githubusercontent.com/77727889/215269540-8e2c8641-0d3a-4f67-a243-ab617834c5de.mp4\n\n## Are you a really paranoid Windows user (like me)? You can get sector-level copies of C:, too.\n\n_In this case the space used is obviously larger, as is the execution time, but even the \"most difficult\" folders are also taken. Deliberately the bitmap of occupied clusters is ignored: If you are paranoid, be all the way down!_  \n\n_It is just like dd; you can't (for now) restore with zpaqfranz. You have to extract to a temporary folder and then use other software (e.g., 7z, OSFMount) to extract the files directly from the image_\n\nAccelerated speed (encrypted) every-sector update of a 256GB C: @ ~150MB/s:\n\nhttps://user-images.githubusercontent.com/77727889/215271199-94400833-f973-41d2-a018-3f2277a648a9.mp4\n\n\n### To date, there is no software, free or paid, that matches these characteristics.  \n_AFAIK of course._  \n10+ years of developing (2009-now).\n\n**Who made that?**\n\nOne of the world's leading scientists in compression.\n\n[No, not me, but this guy](http://mattmahoney.net/) [ZPAQ - Wikipedia](https://en.wikipedia.org/wiki/ZPAQ)\n\n**When?**\n\nFrom 2009 to 2016.\n\n**Where?**\n\nOn a [Russian compression forum](https://encode.su/threads/456-zpaq-updates), one of the most famous, but obviously super-niche.\n\n**Why is it not known as 7z or RAR, despite being enormously superior?**\n\nDue to a lack of users who ... Try it!\n\n**Who are you?**\n\nA user (and a developer) who has proposed and made various improvements to ZPAQ that have been implemented over the years.\nWhen the author left the project, I made this fork to make the functions I need as a data storage manager.\n\n**Why is it no longer developed? Why should I use your fork?**\n\nBecause Dr. Mahoney is now retired and no longer supports it (he... Runs!)\n\n**Why should I trust this? This will be among the 1000 other programs that silently fail and raise problems.**\n\nAs the Russians (and Italians) say: Trust me; but check!\n\n**Archiving data requires safety. How can I be sure that I can then extract them without problems?**\n\nIt is precisely the portion of the program that I have evolved, implementing a barrage of controls up to the paranoid level and more.\nLet's say there are verification mechanisms which you have probably never seen. Do you want to use SHA-2/SHA-3 to be very confident? You can.\n\nAccelerated speed of real world testing of archive \u003e1GB/s:\n\nhttps://user-images.githubusercontent.com/77727889/215271989-5a77e1f1-8fba-422b-9e25-24c3f4640eb2.mp4\n\n\n**ZPAQ (zpaqfranz) allows you to NEVER delete data that is stored and will be available forever (in reality, you typically start from scratch every 1,000 or 2,000 or so versions for speed reasons an on HDD. 10K+ on SSD), and restore the files present to each archived version, even if a month or three years ago.**\n\n\nReal-speed updating (on QNAP NAS) of a small server (300GB); ~7GB of Thunderbird mbox become ~6MB (!) in ~4 minutes:\n\nhttps://user-images.githubusercontent.com/77727889/215268613-e07e385c-0880-4534-ae35-0db8925cee6b.mp4\n\nIn this \"real world\" example (a ~500.000 files / ~500GB file server of a mid-sized enterprise), you will see 1042 \"snapshots\", stored in 877GB.\n\n```\nroot@f-server:/copia1/copiepaq/spaz2020 # zpaqfranz i fserver_condivisioni.zpaq\nzpaqfranz v51.27-experimental snapshot archiver, compiled May 26 2021\nfserver_condivisioni.zpaq:\n1042 versions, 1.538.727 files, 15.716.105 fragments, 877.457.003.477 bytes (817.20 GB)\nLong filenames (\u003e255)     4.526\n\nVersion(s) enumerator\n-------------------------------------------------------------------------\n\u003c Ver  \u003e \u003c  date  \u003e \u003c time \u003e  \u003c added \u003e \u003cremoved\u003e    \u003c    bytes added   \u003e\n-------------------------------------------------------------------------\n00000001 2018-01-09 16:56:02  +00308608 -00000000 -\u003e      229.882.913.501\n00000002 2018-01-09 18:06:28  +00007039 -00000340 -\u003e           47.356.864\n00000003 2018-01-10 15:06:25  +00007731 -00000159 -\u003e            7.314.709\n00000004 2018-01-10 15:17:44  +00007006 -00000000 -\u003e              612.584\n00000005 2018-01-10 15:47:03  +00007005 -00000000 -\u003e              611.980\n00000006 2018-01-10 18:03:08  +00008135 -00000829 -\u003e        2.698.417.427\n(...)\n00000011 2018-01-10 19:20:30  +00007007 -00000000 -\u003e              613.273\n00000012 2018-01-11 07:00:36  +00007008 -00000000 -\u003e              613.877\n(...)\n00000146 2018-03-27 17:08:39  +00001105 -00000541 -\u003e          164.399.767\n00000147 2018-03-28 17:08:28  +00000422 -00000134 -\u003e          277.237.055\n00000148 2018-03-29 17:12:02  +00011953 -00011515 -\u003e          826.218.948\n(...)\n00001039 2021-05-02 17:17:42  +00030599 -00031135 -\u003e       12.657.155.316\n00001040 2021-05-03 17:14:03  +00000960 -00000095 -\u003e          398.358.496\n00001041 2021-05-04 17:13:40  +00000605 -00000004 -\u003e           95.909.988\n00001042 2021-05-05 17:15:13  +00000579 -00000008 -\u003e           82.487.415\n\n54.799 seconds (all OK)\n```\n\nDo you want to restore @ 2018-03-28?\n```\n00000147 2018-03-28 17:08:28  +00000422 -00000134 -\u003e          277.237.055\n```\nVersion 147 =\u003e\n```\nzpaqfranz x ... -until 147\n```\nDo you want 2021-03-05?\nVersion 984 =\u003e\n```\nzpaqfranz x ... -until 984\n```\nAnother real world example: 4900 versions, from mid-2017:\n```\nzpaqfranz v51.10-experimental journaling archiver, compiled Apr  5 2021\nfranz:use comment\nold_aserver.zpaq:\n\n4904 versions, 385.830 files, 3.515.679 fragments, 199.406.200.193 bytes (185.71\nGB)\n\nVersion comments enumerator\n------------\n00000001 2017-08-16 19:26:15  +00090863 -00000000 -\u003e       79.321.339.869\n00000002 2017-08-17 13:29:25  +00000026 -00000000 -\u003e              629.055\n00000003 2017-08-17 13:30:41  +00000005 -00000000 -\u003e               18.103\n00000004 2017-08-17 14:34:12  +00000005 -00000000 -\u003e               18.149\n00000005 2017-08-17 15:28:42  +00000008 -00000000 -\u003e               99.062\n00000006 2017-08-17 19:30:03  +00000008 -00000000 -\u003e            1.013.616\n00000007 2017-08-18 19:33:14  +00000021 -00000001 -\u003e            2.556.335\n00000008 2017-08-19 19:29:23  +00000025 -00000000 -\u003e            1.377.082\n00000009 2017-08-20 19:29:56  +00000002 -00000000 -\u003e               24.153\n00000010 2017-08-21 19:34:35  +00000031 -00000000 -\u003e            2.554.582\n(...)\n00004890 2021-02-16 16:40:51  +00000190 -00000005 -\u003e           99.051.540\n00004891 2021-02-16 19:30:17  +00000065 -00000006 -\u003e           16.467.364\n00004892 2021-02-17 19:34:04  +00000381 -00000257 -\u003e           95.354.305\n(...)\n00004900 2021-02-25 19:35:47  +00000755 -00000611 -\u003e          132.241.557\n00004901 2021-02-26 19:57:16  +00000406 -00000253 -\u003e          122.669.868\n00004902 2021-02-27 20:33:45  +00000029 -00000002 -\u003e           12.677.932\n00004903 2021-02-28 20:34:00  +00000027 -00000001 -\u003e            6.978.088\n00004904 2021-03-01 20:33:52  +00000174 -00000019 -\u003e           77.113.147\n```\n\nuntil 2021 (4 years later).\n\nThis is a ~200GB server:\n```\n(...)\n- 2019-09-23 10:14:44       2.943.578.106  0666 /tank/mboxstorico/inviata_spazzatura__2017_2018\n- 2021-02-18 10:16:25           4.119.172  0666 /tank/mboxstorico/inviata_spazzatura__2017_2018.msf\n- 2019-10-25 15:39:15       1.574.715.392  0666 /tank/mboxstorico/nstmp\n- 2020-11-28 20:33:22           2.038.165  0666 /tank/mboxstorico/nstmp.msf\n- 2021-02-25 17:48:11               8.802  0644 /tank/mboxstorico/sha1.txt\n\n214.379.664.412 (199.66 GB) of 214.379.664.412 (199.66 GB) in 154.975 files shown\n```\nso for 4900 versions you need\n200GB*4900 = ~980TB with something like tar, 7z, RAR etc (yes, 980 terabytes),\nversus ~200GB (yes, 200GB) with zpaq.\n\nSame things for virtual machines (vmdks).\n\n## Why do you say uniqueness? We got (hb) hashbackup, borg, restic, bupstash, etc. ##\n\nBecause other software (sometimes very, very well made) runs on complex \"repositories\". Very fragile and way too hard to manage (at least for my tastes).  \nIt may happen that you have to worry about backing up ... the backup. Maybe some files were lost during a transfer, corrupted, etc.  \n_If it's simple, maybe it will work._\n\n## Too good to be true? ##\n\nObviously this is not \"magic\", it is simply the \"chaining\" of a block deduplicator with a compressor and an archiver.\nThere are faster compressors.\nThere are better compressors.\nThere are faster archivers.\nThere are more efficient deduplicators.\n\nBut what I have never found is a combination of these four that is dead simple to use and reliable, with excellent handling of non-Latin filenames (Chinese, Russian, etc).\n\nThis is the key: You don't have to do complex \"piping\" with tar | srep | zstd | _something_ hoping that everything will work, but instead, all you have to use is a single ~4MB executable, with 7z-like commands.  \nYou don't even have to install a complex program with many dependencies that will have to read a folder (the repository) with maybe thousands of files, hoping that they will still be fully functional.\n\nThere are also many great features for backups, I mention only the greatest.  \n**The ZPAQ file is \"in addition\" (appended), it is never actually modified.**\n\nSo rsync --append will copy only the new portion added, for example, in an ssh tunnel to a remote server, or local NAS (QNAP etc). Thus, file transfers are absurdly quick.  \nTRANSLATION  \nYou can pay ~$4 a month for 1TB cloud-storage-space to store just about everything.\n\nYou don't have to copy or synchronize, let's say, 700GB of a tar.gz,7z or whatever, but only (say) the 2GB added to it in the last copy. The first 698GB remain untouched.\n\nThis opens up the concrete possibility of using VDSL connections (upload ~ 2/4MB /s) to backup even virtual servers hundreds of gigabytes big in just a few minutes.\n\nIn this (accelerated) video, the rsync transfer of 2 remote backups: \"standard\" .zpaq archive (file level) AND zfsbackup (bit-level) for a small real-world server 1 day-update of work: \n\nhttps://user-images.githubusercontent.com/77727889/215267855-22bf875c-90ee-47d1-8f8f-c2d0fa2ab201.mp4\n\n\n**Bonus: for a developer it's just like a \"super-git-versioning\"**\n\nIn the makefile, just put a zpaq-save-everything at the top and you will keep all the versions of your software, even with libraries, SQL dumps, etc.\nA single archive keeps everything, forever, with just one command (or two, for verification).\n    \n**Defects?**\n\nSome.\n\nThe main one is that the listing of files is not very fast, when there are many versions (thousands), due to the structure of the archiver-file-format. \n*I could get rid of it, but at the cost of breaking the backwards compatibility of the file format, so I don't want to. On versions 52+, there is a workaround (-filelist)*.\n\nIt is not the fastest tool out there, with real world performance of 80-200MB/s (depending on the case and HW of course).\n*Not a big deal for me (I have very powerful HW, and/or run nightly cron-tasks)*\n\nExtraction can require a number of seeks (due to various deduplicated blocks), which can slow down extraction on magnetic disks (but not on SSDs).  \n*If you have plenty of RAM now it is possible to bypass with the w command*\n\nNo other significant ones come to mind, except that it is known and used by few\n\n**Very hard to use?**  \nIt is a tool for power users and administrators, who are used to the command line. A text-based GUI is being developed to make data selection and complex extraction easier (!).  \n\nIn this example we want to extract all the .cpp files as .bak from the 1.zpaq archive. This is something you typically cannot do with other archives such as tar, 7z, rar etc.  \n### With a \"sort of\" WYSIWYG 'composer' \nFirst **f** key (find) and entering .cpp  \nThen **s** (search) every .cpp substring  \nThen **r** (replace) with .bak  \nThen **t** (to) for the z:\\example folder  \nFinally **x** to run the extraction  \n\nhttps://user-images.githubusercontent.com/77727889/226925740-d62b92ae-4eee-43ac-94a9-e1a6dae684c1.mp4\n\n\n**I do not trust you, but I am becoming curious. So?**\n\nOn **FreeBSD** [you can try to build the port (of paq, inside archivers)](https://www.freshports.org/archivers/paq) but it is very, very, very old (v 6.57 of 2014).  \nYou can get a \"not too old\" zpaqfranz with a `pkg install zpaqfranz`\n\nOn **OpenBSD** `pkg_add zpaqfranz` is usually up to date.\n\nOn **Debian** [there is a zpaq 7.15\npackage](https://packages.debian.org/zpaq), and starting with Debian\n13 [zpaqfranz is available too](https://packages.debian.org/zpaqfranz).\n\nYou can download the original version (7.15 of 2016) directly from the author's website and compile it, or get the same from github.  \nIn this case be careful, because the source is divided into 3 source files, but nothing difficult for the compilation.  \n\n**OK, let's assume I want to try out zpaqfranz. How?**  \n\nFrom branch 51 all source code is merged in one zpaqfranz.cpp aiming to make it as easy as possible to compile on \"strange\" systems (NAS, vSphere etc).  \nUpdating, compilation and Makefile are now trivial.  \n\n# How to build\n\nMy main development platforms are INTEL Windows (non-Intel Windows (arm) currently unsupported) and FreeBSD.\n\nI rarely use Linux or MacOS or whatever (for compiling), so fixing may be needed.\n\nAs explained the program is single file, be careful to link the pthread library.  \nYou need it for ESXi too, even if it doesn't work. Don't be afraid, zpaqfranz knows!\n\n### [Almost \"universal\" (minimal) Makefile](https://github.com/fcorbelli/zpaqfranz/wiki/Quickstart-Makefile)\n### [Quicker and dirtier!](https://github.com/fcorbelli/zpaqfranz/wiki/Quickstart-quicker%E2%80%90and%E2%80%90dirtier)\n### [DEFINEs at compile-time](https://github.com/fcorbelli/zpaqfranz/wiki/Quickstart-How-to-Build)\n### [TARGET EXAMPLES](https://github.com/fcorbelli/zpaqfranz/wiki/Quickstart-Target-examples)\n### [HIDDEN GEMS](https://github.com/fcorbelli/zpaqfranz/wiki/Quickstart-Hidden-gems)\n### [STRANGE THINGS](https://github.com/fcorbelli/zpaqfranz/wiki/Quickstart-Strange-Things)\n\n\n### [Integrated HELP](https://github.com/fcorbelli/zpaqfranz/wiki/HELP-integrated)\n### [Wiki commands](https://github.com/fcorbelli/zpaqfranz/wiki/Command)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffcorbelli%2Fzpaqfranz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffcorbelli%2Fzpaqfranz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffcorbelli%2Fzpaqfranz/lists"}