feat: implement --show-metadata option

This commit is contained in:
2026-06-29 17:54:14 +02:00
parent 11aed3771d
commit e7ed3a334e
6 changed files with 367 additions and 1 deletions
+28
View File
@@ -7,6 +7,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [development]
### Added
**Core engine**
- **Unified worker pool** — single protocol-agnostic worker pool (`internal/pool`)
used by FTP, SFTP, and WebDAV recursive-parallel downloads. Replaces three
near-identical semaphore+WaitGroup implementations with a shared, tested
concurrency primitive.
- **Graceful shutdown on SIGINT** — persist `.goget.meta` sidecar on interrupt
for SFTP single-file downloads, ensuring progress is saved for resume.
**Recursive downloading & mirroring**
- `--adjust-extension` extended to non-HTTP protocols — applies `.html`
extension to `text/html` files downloaded via Gopher and WebDAV.
- `--backup-converted` — keep `.orig` backups of files before link conversion
during recursive mirroring. Previously only available for HTTP/HTTPS;
now works for WebDAV mirrors too.
**Download management**
- `--show-metadata` — displays `.goget.meta` sidecar contents for debugging
interrupted / resumed downloads. Accepts a path to the downloaded output
(the sidecar is located next to it) or a direct path to the sidecar file.
Renders a human-readable summary by default and switches to raw JSON
output when combined with `--json`. Credentials embedded in the stored
URL are masked before display (the password placeholder is `xxxxx`).
## [1.0.0] — 2026-06-26
First public release: a modern IPv6-first command-line download utility built on