Skip to content

siohaza/chunksmith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chunksmith

Chunksmith is an tool to extract Steam2 CDN chunks.

Features

  • Easy to use
  • Lightweight
  • Multi-threaded (thanks to rayon)

Usage

Extraction

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 49684128B36ED12D85BC17E8BBBF6B22

Extract 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.vdf

Use an explicit manifest file:

chunksmith extract \
  --manifest /path/to/manifest \
  --storage-dir /path/to/storage --out /path/to/out \
  --key 49684128B36ED12D85BC17E8BBBF6B22

List contents without extracting:

chunksmith list --depot 481 --manifest-dir /path/to/manifest --all-versions

Filtering

chunksmith 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"

Performance

Specify amount of threads:

# cli
chunksmith extract --jobs 8

# env
RAYON_NUM_THREADS=8 chunksmith extract

Resume and overwrite

By 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 --overwrite

Key handling

Provide 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.vdf

Building

Install 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

License

MIT

About

CLI tool for extracting Steam2 CDN chunks

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages