Getting Started
Steam Manifest Downloader (SMD) is a modern Tauri v2 desktop application built with Rust and WebView. It parses manifest files, searches multiple sources for Steam depot manifests, and downloads them automatically using an integrated DepotDownloaderMod engine.
System Requirements
- .NET 9.0 Runtime — Required by the embedded DepotDownloaderMod engine. Download .NET 9.0
- Windows 10+ — Windows 10 version 1803 or later (with WebView2)
- Linux — Most modern distributions with GTK3 and WebKit2GTK (for AppImage: FUSE support or
APPIMAGE_EXTRACT_AND_RUN=1) - Internet connection — Required for searching and downloading manifests
- Disk space — ~20 MB for the app itself; additional space for downloaded depots
Installation
Windows (NSIS Installer)
- Download the latest
.exeinstaller from the Releases page - Run the installer and follow the setup wizard
- Launch Steam Manifest Downloader from your Start Menu or Desktop
Linux (AppImage)
- Download the latest
.AppImagefile from the Releases page - Make it executable:
chmod +x SteamManifestDownloader_*.AppImage
./SteamManifestDownloader_*.AppImage
If FUSE is not available on your system, you can run the AppImage with the environment variable APPIMAGE_EXTRACT_AND_RUN=1 set.
First Launch
On first launch, the application opens with the main interface ready to accept files. No initial configuration is required — the default settings work for most users. However, you may want to:
- Set a custom download location on the download page before starting a download
- Add a GitHub token via the ⚙️ gear icon to increase API rate limits (optional)
- Configure a ManifestHub API key for additional manifest sources (optional)
Usage Guide
Using Steam Manifest Downloader is a straightforward 3-step process: upload a file, select the manifests you need, and hit download.
Step 1: Upload a File
Start by providing a manifest data file. You can either:
- Drag & drop a
.lua,.vdf, or.stfile onto the upload area - Click the upload area to open a file picker
The application will parse the file and extract all depot IDs, manifest IDs, app IDs, and depot keys contained within.
You can upload multiple files — each new upload merges its data with any previously loaded depots.
Step 2: Select Manifests
After parsing, the app displays a list of all discovered depots and their manifest IDs. From here you can:
- Select / deselect individual depots using the checkboxes
- Use Select All or Deselect All for bulk actions
- Search / filter depots by ID or name using the search bar
- View app details fetched from the Steam Store API (game name, icon, etc.)
Each depot entry shows the depot ID, the associated manifest ID, and whether a depot key was found in the parsed file.
Step 3: Download
Click the Download button to begin. Behind the scenes, the application performs several operations:
- Manifest search — Queries ManifestHub API and multiple GitHub repositories to locate
.manifestfiles for each selected depot - Manifest download — Downloads all found
.manifestfiles to a local directory - Depot keys generation — Creates a
steam.keysfile containing all known depot decryption keys - DepotDownloaderMod execution — Launches the embedded DepotDownloaderMod binary with the correct arguments to download the actual depot files
You'll see real-time progress tracking with:
- A progress bar showing overall completion
- Download speed (MB/s)
- ETA estimates
- Per-depot status updates
The downloaded files are saved to your configured download location (default: Documents/SteamDownloads). Each download creates a subdirectory named after the app ID.
Cancel a Download
You can cancel an in-progress download at any time by clicking the Cancel button. When a download is canceled:
- The DepotDownloaderMod process is terminated immediately
- Partially downloaded files are deleted to avoid incomplete or corrupted data
- The UI returns to the selection screen so you can start a new download
Canceling a download will delete all partially downloaded files for that session. Make sure you really want to cancel before confirming.
Supported File Formats
SMD can parse three different file formats to extract depot and manifest information.
.lua Files
Lua script files are the most common format. They contain function calls that define app IDs, depot keys, and manifest IDs. The parser recognizes the following patterns:
-- Register an app ID (no depot key)
addappid(1995890)
-- Register a depot with a hex decryption key
addappid(1995891, 0, "a1b2c3d4e5f6...")
-- Set the manifest ID for a depot
setManifestid(1995891, "3438272076824159257")
addappid(depotId)— Registers a depot IDaddappid(depotId, 0, "hexKey")— Registers a depot with a decryption keysetManifestid(depotId, "manifestId")— Associates a manifest ID with a depot
.vdf / Key.vdf Files
Valve Data Format (VDF) files use a nested key-value structure. The Key.vdf file typically contains depot keys in the following format:
"depots"
{
"1995891"
{
"DecryptionKey" "a1b2c3d4e5f6..."
}
"1995892"
{
"DecryptionKey" "f6e5d4c3b2a1..."
}
}
The parser extracts each depot ID and its associated decryption key from the VDF structure.
.st Files
The .st format is a binary file format used by certain sources. SMD includes a dedicated binary parser that can read and extract depot IDs, manifest IDs, and depot keys from these files.
.st files are automatically detected by their binary signature. Simply drag and drop them like any other supported file.
Settings & Configuration
Configuration options are split between the Settings modal (⚙️ gear icon in the header) and the download page (Step 3 of the workflow). All values are persisted between sessions.
Settings Modal (⚙️)
Click the gear icon in the top-right corner to open the Settings modal. Currently it contains:
GitHub Token (optional)
Adding a personal GitHub token increases the GitHub API rate limit from 60 requests/hour (unauthenticated) to 5,000 requests/hour (authenticated).
To generate a token:
- Go to GitHub → Settings → Developer settings → Personal access tokens
- Click Generate new token (classic)
- No special scopes are required — a token with no permissions is sufficient
- Copy the token and paste it into the token field, then click Save
Your token is stored locally on your machine only. It is never sent anywhere except to the GitHub API for authentication.
Download Page Options
These options appear on the download page (Step 3) after selecting your depots, just above the download button.
Download Location
Configure where downloaded depot files are saved. Type or paste a path directly into the text field. The default location is Documents/SteamDownloads inside your home folder.
- Each download creates a subdirectory named after the app ID
- Ensure the chosen path has sufficient disk space
ManifestHub API Key (optional)
If you have a ManifestHub API key, enter it on the download page to enable searching the ManifestHub manifest database. This provides access to a large collection of Steam manifests as an additional source.
Internal Defaults
The app passes default arguments to the DepotDownloaderMod engine automatically. These include:
-max-downloads 8 -verify-all
This limits concurrent download connections to 8 and verifies all downloaded files. These defaults are not configurable through the UI.
Manifest Sources
SMD searches multiple sources to locate manifest files for your selected depots. Here's where it looks:
ManifestHub API
The primary manifest source. SMD queries the ManifestHub API at:
manifesthub1.filegear-sg.me
This API provides fast, indexed access to a large database of Steam manifests. Requires an API key entered on the download page.
GitHub Repositories
SMD searches multiple GitHub repositories for manifest files using the GitHub Contents API. The primary repositories include:
- SteamAutoCracks/ManifestHub — The main manifest repository
The app searches for manifest files matching the depot ID and manifest ID pattern within these repositories.
GitHub API has rate limits. Without a token, you're limited to 60 requests/hour. Add a GitHub token in Settings to increase this to 5,000 requests/hour.
Alternative Sources
When a manifest is not found on the primary sources, SMD also checks alternative sources:
- KernelOS — Alternative manifest repository
- PrintedWaste — Additional fallback source
These sources are checked automatically as fallbacks — no additional configuration is needed.
Building from Source
This guide covers how to compile Steam Manifest Downloader from source. The project uses Tauri v2 with a Rust backend and an embedded .NET tool (DepotDownloaderMod).
Prerequisites
- Rust (latest stable) + Cargo — Install via rustup
- Tauri CLI — Install via Cargo:
cargo install tauri-cli
- .NET SDK 9.0 — Only needed if building DepotDownloaderMod from source. Download .NET SDK 9.0
Linux Additional Dependencies
# Debian/Ubuntu
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
# Arch/CachyOS
sudo pacman -S webkit2gtk-4.1 libappindicator-gtk3 librsvg patchelf
Step 1: Building DepotDownloaderMod (optional)
The project embeds DepotDownloaderMod binaries at compile time. Pre-built versions are already included in the repository, so this step is only needed if you want to build them yourself.
Pre-built binaries are located in DepotDownloaderMod-Windows/ (framework-dependent, requires .NET runtime) and DepotDownloaderMod-linux-full/ (self-contained, no runtime needed). You can skip this step if you don't need to modify them.
Source: github.com/SteamAutoCracks/DepotDownloaderMod
Windows (framework-dependent)
git clone https://github.com/SteamAutoCracks/DepotDownloaderMod.git
cd DepotDownloaderMod
dotnet publish -c Release -o ./publish-windows
Then copy all files from publish-windows/ to DepotDownloaderMod-Windows/ in the project:
DepotDownloaderMod.exeDepotDownloaderMod.dllDepotDownloaderMod.deps.jsonDepotDownloaderMod.runtimeconfig.jsonSteamKit2.dllprotobuf-net.Core.dllprotobuf-net.dllQRCoder.dllSystem.IO.Hashing.dllZstdSharp.dll
Linux (self-contained, NO trimming)
git clone https://github.com/SteamAutoCracks/DepotDownloaderMod.git
cd DepotDownloaderMod
dotnet publish -c Release -r linux-x64 --self-contained true \
-p:PublishSingleFile=true -o ./publish-linux
Do NOT use -p:PublishTrimmed=true — .NET trimming removes reflection metadata needed by SteamKit2/protobuf-net, causing "A task was canceled" errors at runtime.
Then copy publish-linux/DepotDownloaderMod to DepotDownloaderMod-linux-full/DepotDownloaderMod in the project.
Step 2: Building the Tauri App
Windows
cargo tauri build
Output locations:
- NSIS installer:
src-tauri/target/release/bundle/nsis/ - Portable executable:
src-tauri/target/release/steam-manifest-downloader.exe
Linux (Arch/CachyOS/etc.)
NO_STRIP=true APPIMAGE_EXTRACT_AND_RUN=1 cargo tauri build
Output: src-tauri/target/release/bundle/appimage/Steam Manifest Downloader_1.1.0_amd64.AppImage
NO_STRIP=true prevents stripping symbols from the embedded .NET binary. APPIMAGE_EXTRACT_AND_RUN=1 is needed on some distros for the AppImage bundler to work correctly.
Step 3: Project Structure (for reference)
The include_bytes! macro in src-tauri/src/services/embedded_tools.rs embeds the DDM binaries at compile time:
- Windows build reads from
DepotDownloaderMod-Windows/ - Linux build reads from
DepotDownloaderMod-linux-full/
The DDM binary files must be in place before running cargo tauri build. The Rust compiler reads them via include_bytes! at compile time — if the files are missing, the build will fail.
Troubleshooting / FAQ
Common issues and how to resolve them.
-max-downloads 8 by default, which works well for most connections.
DepotDownloaderMod.exe. You may need to add an exception for the application. Also verify that .NET 9.0 Runtime is properly installed.
APPIMAGE_EXTRACT_AND_RUN=1 ./SteamManifestDownloader_*.AppImage
Also ensure the file is executable:
chmod +x SteamManifestDownloader_*.AppImage
.lua / .vdf / .st file contains the correct depot and manifest IDs. You can also try adding a ManifestHub API key on the download page for access to additional sources.
sudo apt install libwebkit2gtk-4.1-0 on Debian/Ubuntu).
Legal Notice
This tool does NOT support piracy. Steam Manifest Downloader is intended to be used only with legally obtained Steam depot keys and manifests that you have the right to access.
Intended Use
This application is designed as a convenience tool for managing Steam depot downloads. It is the user's responsibility to ensure they comply with all applicable laws and terms of service.
Terms of Service
- Only use with your own legally obtained Steam keys — Do not use this tool to download content you do not own or have a license to access.
- Comply with Steam's Terms of Service — Your use of this tool must not violate Valve's Steam Subscriber Agreement.
- Comply with all applicable laws — Downloading copyrighted content without authorization is illegal in most jurisdictions.
Disclaimer
The developers of Steam Manifest Downloader are not responsible for any misuse of this tool. By using this application, you agree that you are solely responsible for ensuring your use complies with all applicable laws, regulations, and terms of service.
This project is licensed under the GPL-2.0 License.