Hopeeia / SteamDownloader

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Steam Downloader

Quick and dirty downloader capable of downloading data from Steam CDN using decrypted manifests in combination with file decryption keys. The difference compared to other programs like steamctl etc.. is that this program also removes files that are not in the depot thus keeping the folder fully synchonized with steam CDN.

!! In rare cases some chunks fail to download, just re-run the program to fix that !!

File parsing, decryption and decompression is handled by modified version of SteamKit library (the only changes are to expose interal classes so it can be used externally).

To build the program simply compile SteamDownloader project.

To use:

  • Compile the SteamDownloader project
  • next to the compiled exe create file depot_keys.json containing the depot keys
  • create folder manifests and put all manifest files you want to download in it
  • start the exe and wait for the game to download, the game will be downloaded to cs2 folder

To change location where the game is downloaded to, or where the depot keys and manifests are, update the Program.cs in SteamDownloader project and rebuild

TODO

  • Calculate chunk hashes when file hash is different and download only changed chunks instead of whole files
  • Implement CLI interface
  • Split allocation and download stages so they can be ran in parallel
  • Auto-retry on chunk download failure
  • Handle special case while calculating hashes for files with 0 length

Third-party libraries

About


Languages

Language:C# 99.1%Language:C++ 0.7%Language:C 0.1%Language:PowerShell 0.0%Language:Batchfile 0.0%Language:Shell 0.0%