Aquesta és la versió actual. · Data de publicació:
Fitxers d’instal·lació 2.2.0
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| 64 bits | ZIP → Portable | — | — | github.com | VirusTotal |
| ARM64 | ZIP → Portable | — | — | github.com | VirusTotal |
| 32 bits | ZIP → Portable | — | — | github.com | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
Added
- Documentation site: corsinvest.github.io/cv4pve-node-protect with getting started, SSH access and security, connection, what to back up (and why /etc/. alone misses /etc/pve), archives and retention, scheduling, a step-by-step restore guide and the .NET library. Every page was checked against the code and a real backup (#12, #16)
- Library: ProtectHelper with host parsing, archive names and retention as the command line tool does them (ParseHosts, ParseHostAndPort, GetArchiveFileName, IsBackupDirectoryName, GetBackupsToDelete), for callers that want the same layout (#15)
- Unit tests (tests/Corsinvest.ProxmoxVE.NodeProtect.Api.Tests), run by the CI (#15)
Changed
- A node that fails no longer stops the run: the other nodes are still backed up, each failure is printed as ERROR [node]: …, and the run ends with Backup failed for N of M node(s): … Retention not applied. and exit code 1. Retention is skipped when a node failed, so good backups are never deleted to make room for an incomplete run (#14)
- Skipped paths are reported: a path that does not exist or cannot be read is still left out, but tar's message is now printed as a warning instead of being discarded (#14)
- Archives readable only by their owner on Linux and macOS: the dated folder is created with mode 700 and the archives with 600, since they contain password hashes, keys and the cluster database (#14)
- --username is now always required, also with --private-key-file: the error is shown before anything is created (#14)
- A path containing a single quote is rejected before connecting to the node (#15)
- Updated Corsinvest.ProxmoxVE.Api.Extension and Api.Console from 9.1.15 to 9.2.4 (#11, #18)
- Updated SSH.NET from 2025.1.0 to 2026.0.0 (fixes GHSA-mggc-4xg6-vcxf and GHSA-q939-rpr3-3284 in ScpClient, which node-protect does not use) (#11)
- Product icon (Lucide shield-check), Windows executable icon and NuGet package description (#11)
- Project metadata, symbols (Source Link, .snupkg) and code style aligned with the other cv4pve tools; CI on the shared cv4pve workflow (#10, #11)
- README shortened: the details are on the documentation site (#12)
Fixed
- A path in --paths starting with - is now always a path: tar gets -- before the paths. Before, it was read as a tar option, so a value like --checkpoint-action=exec=… could run a command on the node (#17)
- Restore instructions: the README extracted archives with tar -xvzPf … -C /root/restore. With -P, tar ignores -C and writes to the absolute paths, overwriting the live files of the node. The restore guide on the documentation site extracts without -P into a staging folder (#12)
- --debug and --log-level now show the backup engine's log: the tar command run on each node and how long the transfer took. Before, they only added the stack trace to errors (#13)
- A failed run no longer leaves an empty dated folder, which counted as a backup for --keep (#14)
- IPv6 hosts on Windows: the : of the address is replaced by _ in the archive name, since Windows does not allow it in file names. Before, the run failed (#14)
What's Changed
- ci: use shared cv4pve-tools CI workflow and declare publish permissions by @franklupo in #10
- Align project metadata, symbols and icon with the cv4pve tools by @franklupo in #11
- fix: show the engine log with --debug and --log-level by @franklupo in #13
- docs: documentation site with Starlight and the shared cv4pve theme by @franklupo in #12
- fix: keep going when a node fails, report skipped paths, protect archives by @franklupo in #14
- test: unit tests, host parsing and retention moved to the library by @franklupo in #15
- docs: sync with the current behaviour of the tool by @franklupo in #16
- fix: end tar options before the paths by @franklupo in #17
- chore: SDK 9.2.4, docs theme 2.6.1, no em dashes by @franklupo in #18
- chore: release 2.2.0 by @franklupo in #19
Full Changelog: v2.1.1...v2.2.0https://github.com/Corsinvest/cv4pve-node-protect/releases/tag/v2.2.0