Chunksmith is an tool to extract Steam2 CDN chunks.
- Easy to use
- Lightweight
- Multi-threaded (thanks to rayon)
Extract a single version with a direct hex key:
chunksmith extract \
--depot 481 --version 1 --manifest-dir /path/to/manifest \
--storage-dir /path/to/storage --out /path/to/out \
--key 49684128B36ED12D85BC17E8BBBF6B22Extract all versions for a depot:
chunksmith extract \
--depot 481 --manifest-dir /path/to/manifest --all-versions \
--storage-dir /path/to/storage --out /path/to/out \
--legacy-vdf /path/to/legacydepotdata.vdfUse an explicit manifest file:
chunksmith extract \
--manifest /path/to/manifest \
--storage-dir /path/to/storage --out /path/to/out \
--key 49684128B36ED12D85BC17E8BBBF6B22List contents without extracting:
chunksmith list --depot 481 --manifest-dir /path/to/manifest --all-versionschunksmith extract \
--depot 481 --manifest-dir /path/to/manifest --all-versions \
--storage-dir /path/to/storage --out /path/to/out \
--include "bin/**" --include "*.dll" --exclude "**/*.pdb"Specify amount of threads:
# cli
chunksmith extract --jobs 8
# env
RAYON_NUM_THREADS=8 chunksmith extractBy default will skip existing files, but will re-extract only if it's missing or file size is mismatched
# skip files whose size already matches the manifest, will re-extract only if it's missing or file size is mismatched
chunksmith extract --resume# always replace existing files
chunksmith extract --overwriteProvide a key in one of three ways (priority: --key > --key-file > --legacy-vdf). By default it will parse the bundled legacydepotdata.vdf:
# direct hex
--key 49684128B36ED12D85BC17E8BBBF6B22
# read hex from a file
--key-file /path/to/481.key
# parse from a VDF file
--legacy-vdf legacydepotdata.vdfInstall build dependencies.
sudo apt install cargo rust # Debian
sudo dnf install cargo rust # Fedora
sudo pacman -S cargo rust # Arch Linux
Then build the program with:
cargo build