Expand description
Download-source backends for modde: a uniform traits::DownloadSource
contract over Nexus, GitHub, Google Drive, Mega, MediaFire, direct HTTPS,
and manual sources, plus the Wabbajack modlist installer and supporting
archive, cache, and staging machinery.
Re-exports§
pub use error::SourceError;pub use error::SourceResult;pub use traits::AnySource;pub use traits::DownloadHandle;pub use traits::DownloadSource;pub use traits::ProgressCallback;pub use traits::VerifiedFile;
Modules§
- cache
- In-memory byte cache for extracted archive entries, keyed by archive hash and inner path, with a configurable byte budget and LRU eviction.
- common
- Shared download helpers reused across sources: streaming a response body to disk with hash verification, retry/backoff, and parent-directory setup.
- decompress
- Selective archive extraction: pull a chosen set of entries out of
zip,7z, Bethesda (BSA/BA2), and (optionally)rararchives in one pass, validating sizes and rejecting unsafe entry paths. - direct
- Plain HTTPS download source with
Range-based resume and HTML mirror resolution. - error
- Error and result types for the download-source boundary.
- gdrive
- Google Drive download source, including handling of the large-file virus scan confirmation page.
- github
- GitHub Releases download source: resolves release assets and downloads
them, honouring
GITHUB_TOKENwhen present. - installers
- Mod-installer format detection and handling (currently BAIN packages).
- manager
- Synchronous download queue bookkeeping: track download state, enforce a concurrency budget, and surface which queued downloads may start next.
- manual
- Source for manual-download directives, which cannot be fetched automatically and instead fail fast with a pointer to the upstream URL.
- mediafire
MediaFiredownload source: resolves a file page to its direct URL, then delegates the transfer to the direct-HTTP source.- mega
- Mega.nz download source, including client-side AES-128-CTR decryption of the encrypted payload.
- meta
.metasidecar files that record per-download progress and Nexus metadata so paused or interrupted downloads can be resumed.- nexus
- Nexus Mods integration: the typed REST/GraphQL client, API-key and OAuth authentication, CDN download links, update checks, and collection installs.
- queue
- Per-download state machine backed by
.metasidecars, used to resume, pause, and report progress for individual download tasks. - traits
- Core download-source contract: the
DownloadSourcetrait, theAnySourceenum-dispatch wrapper, and the supporting value types (DownloadHandle,VerifiedFile,ProgressCallback). - wabbajack
- Wabbajack modlist support: parsing
.wabbajackfiles, acquiring their archives, and running the installer that materializes a modlist on disk.