Uploads Heroes of the Storm replays to heroesprofile.com (repo link)
One app for Windows, macOS and Linux. Download it from the Releases page:
| Download | |
|---|---|
| Windows | Heroesprofile.Uploader-win-Setup.exe |
| macOS | the .pkg for your Mac: osx-arm64 for Apple Silicon (M1 and later), osx-x64 for Intel |
| Linux | the .AppImage; or HeroesProfileUploader-linux-x64.tar.gz, the same app as a plain program (also for headless/systemd setups) |
Nothing else needs installing (no .NET), and it updates itself. See packaging/INSTALL.md for step-by-step instructions. On Linux, Heroes of the Storm runs under Wine/Proton and you point the uploader at that prefix; see packaging/linux/README.md.
Coming from the old Windows uploader? Just install the new one. On its first start it copies your settings (including your Twitch key) and the record of what's already been uploaded into its own folder, so nothing is uploaded twice, and then offers to uninstall the old app.
- Azax wrote the native Linux uploader (#53) that this cross-platform app grew from, including its design, offered as Lite (Settings → Design).
Coding conventions are as usual for C# except braces, those are in egyptian style (OTBS). For repos included as submodules their coding style is used.
All upload logic is in Heroesprofile.Uploader.Common, keeping the app project thin. Heroesprofile.Uploader.Desktop is the app itself: an Avalonia GUI plus a headless CLI (run, scan --dry-run), with everything that differs per OS behind Platform/IPlatform and updates handled by Velopack (Updates/AppUpdater). Open Heroesprofile.Uploader.slnx to work on it.
Needs the .NET 10 SDK (global.json pins it). dotnet build Heroesprofile.Uploader.slnx and dotnet test --project Heroesprofile.Uploader.Tests build and test everything; CI does the same on Windows, Linux and macOS for every pull request. Package versions all live in Directory.Packages.props, and the app's version in Directory.Build.props (HeroesProfileVersion). Releases are built by the manual Release (Desktop) workflow (.github/workflows/release-desktop.yml).
To try a build without touching your real setup, set HEROESPROFILE_UPLOADER_HOME to a scratch folder (settings, upload history and logs go there instead), and HEROESPROFILE_UPLOADER_UPDATE_SOURCE to a folder of vpk pack output to test updates from it instead of GitHub.