docs: sync documentation with v1.1.0 protocol and CLI changes

This commit is contained in:
2026-06-30 20:43:00 +02:00
parent 185e6ec20a
commit 21ac1f7487
8 changed files with 409 additions and 145 deletions
+42 -32
View File
@@ -119,46 +119,50 @@ chore: update golang.org/x/crypto
```
goget/
├── cmd/
│ └── goget/ # CLI entry point
│ └── goget/ # CLI entry point
│ ├── main.go # Core run loop, flag setup, orchestrator
│ ├── app.go # Application wiring
│ ├── commands.go # Command handlers (download, upload, queue, config, etc.)
│ ├── flags.go # CLI flag definitions (struct + defineFlags)
│ ├── completion.go # Shell completion generators (bash, zsh, fish)
│ ├── man_page.go # Man page generation
│ ├── man_page.go # Embedded manpage source and --generate-man-page
│ ├── setup.go # One-time CLI setup helpers
│ ├── schedule.go # Cron and datetime scheduling
│ └── verify.go # Checksum and PGP verification
├── internal/
│ ├── archive/ # Archive extraction (tar, targz, tarbz2, zip)
│ ├── auth/ # Authentication (basic, digest, OAuth 2.0, netrc)
│ ├── cli/ # CLI utilities (help text, progress bar, color output)
│ ├── compression/ # Decompression (gzip, bzip2, zlib, flate, lzw)
│ ├── config/ # TOML config loading, saving, and merging
│ ├── cookie/ # Netscape-format cookie jar
│ ├── core/ # Core types (DownloadRequest, Result, Protocol interface, errors)
│ ├── crypto/ # Checksum verification, PGP, certificate handling
│ ├── format/ # Human-readable formatting (bytes, speed)
│ ├── hsts/ # HSTS cache (RFC 6797)
│ ├── log/ # Structured logger (text/JSON output, level filtering)
│ ├── linkrewrite/ # HTML link rewriting for offline mirroring
│ ├── metalink/ # Metalink (multi-source downloads)
│ ├── mirror/ # Website mirroring logic
│ ├── output/ # Output writing (atomic writes, resume metadata)
│ ├── protocol/ # Protocol abstraction layer
│ ├── http/ # HTTP/HTTPS client, parallel download, upload
│ │ ├── ftp/ # FTP/FTPS client
│ │ ├── sftp/ # SFTP client
│ │ ├── file/ # Local file:// protocol
│ │ ├── dataurl/ # data: URI protocol
│ │ ├── gopher/ # Gopher protocol
│ │ ├── gemini/ # Gemini protocol
│ │ ── webdav/ # WebDAV protocol
│ ├── queue/ # Download queue management
├── recursive/ # Recursive download (HTML parser, URL filter, crawler)
│ ├── warc/ # WARC archiving writer
── transport/ # HTTP transport (dialer, proxy, TLS, retry, rate limiting)
│ ├── archive/ # Archive extraction (tar, targz, tarbz2, zip)
│ ├── auth/ # Authentication (basic, digest, OAuth 2.0, netrc)
│ ├── cli/ # CLI utilities (help text, progress bar, color output)
│ ├── compression/ # Decompression (gzip, bzip2, zlib, flate, lzw)
│ ├── config/ # TOML config loading, saving, and merging
│ ├── cookie/ # Netscape-format cookie jar
│ ├── core/ # Core types (DownloadRequest, Result, Protocol interface, errors)
│ ├── crypto/ # Checksum verification, PGP, certificate handling
│ ├── format/ # Human-readable formatting (bytes, speed)
│ ├── hsts/ # HSTS cache (RFC 6797)
│ ├── linkrewrite/ # HTML link rewriting for offline mirroring
│ ├── log/ # Structured logger (text/JSON output, level filtering)
│ ├── metalink/ # Metalink (multi-source downloads)
│ ├── mirror/ # Website mirroring logic
│ ├── output/ # Output writing (atomic writes, resume metadata)
│ ├── pool/ # Unified recursive worker pool (FTP, SFTP, WebDAV)
│ ├── protocol/ # Protocol abstraction layer
│ │ ├── http/ # HTTP/HTTPS client, parallel download, upload
│ │ ├── ftp/ # FTP/FTPS client
│ │ ├── sftp/ # SFTP client
│ │ ├── file/ # Local file:// protocol
│ │ ├── dataurl/ # data: URI protocol
│ │ ├── gopher/ # Gopher protocol
│ │ ── gemini/ # Gemini protocol
│ ├── webdav/ # WebDAV protocol
│ └── register/ # Single registration entry point
│ ├── queue/ # Download queue management
── recursive/ # Recursive download (HTML parser, URL filter, crawler)
│ ├── transport/ # HTTP transport (dialer, proxy, TLS, retry, rate limiting)
│ └── warc/ # WARC archiving writer
├── pkg/
│ └── api/ # Public library API (Client, Download, Upload, Queue)
└── docs/ # Architecture and design documentation
│ └── api/ # Public library API (Client, Download, Upload, Queue)
└── docs/ # Architecture and design documentation
```
## Architecture Overview
@@ -189,11 +193,14 @@ graph TD
Metalink[internal/metalink/]
QueueInt[internal/queue/]
Archive[internal/archive/]
Pool[internal/pool/ - Unified worker pool]
Log[internal/log/ - Structured logger]
API[pkg/api/ - Public Library]
CLI --> Flags
CLI --> Config
CLI --> Core
CLI --> Log
CLI --> Auth
CLI --> Crypto
CLI --> Recursive
@@ -214,6 +221,9 @@ graph TD
HTTP --> Cookie
HTTP --> HSTS
HTTP --> Output
FTP --> Pool
SFTP --> Pool
WebDAV --> Pool
API --> Core
API --> Registry
```