Skip to content

Repository files navigation

image

Steam Hour Booster

Steam Hour Booster is a desktop app for running Steam played-state hour boosting across one or more Steam accounts. It uses a custom pywebview shell, SteamCommunityKit for web authentication, and a Node-backed Steam client bridge for modern Steam client authorization.

The app is built as a local-first desktop tool. Account sessions, runtime cache, and logs stay on the local machine under the user's app data directory.

This project is not affiliated with Valve or Steam. Use it only with accounts you own. Steam account automation may carry account risk, so review Steam's current rules before using it.

Features

  • Custom frameless desktop UI with overview, account management, activity logs, and per-account editing.
  • Username/password login with Steam Guard email or app-code follow-up.
  • QR-code login through SteamCommunityKit.
  • Separate Steam client authorization through steam-user / steam-session.
  • Multiple saved Steam accounts with separate settings per account.
  • Per-account boost toggle and appear-online/invisible behavior.
  • Up to 32 configured app slots per account.
  • Popular game presets plus custom App ID entries.
  • Owned-game validation when a Steam Web API key is available.
  • Start/stop controls for one account or all ready accounts.
  • Conflict handling for other sessions playing games: pause, force kick, or yield.
  • Auto-reply settings with custom message, cooldown, and timeout.
  • Runtime event log and in-app diagnostics.

Install

  1. Open the latest GitHub release.
  2. Download SteamHourBooster-Setup-<version>.exe.
  3. Run the installer.
  4. Open Steam Hour Booster from the Start Menu.

The installer bundles the desktop app, Python runtime files, and the Node runtime used for Steam client authorization. You do not need to install Python, Node.js, or npm to use the released app.

Windows may show a SmartScreen prompt because the installer is not code-signed yet. The release is built by GitHub Actions from the source in this repository.

Requirements

  • Windows 10/11.
  • Microsoft Edge WebView2 Runtime.
  • A Steam account you own.

Basic Use

  1. Open the app.
  2. Add a Steam account with username/password or QR login.
  3. If the account shows Needs Auth, open the account editor and run Finish booster sign-in.
  4. Add game App IDs through presets or custom entries.
  5. Save the account profile.
  6. Start the account from Overview.

The console panel shows authentication and runtime activity such as account start, stop, reconnect, and conflict state.

Build From Source

Use this path only if you want to run or modify the project locally instead of using the release installer.

Requirements for source builds:

  • Python 3.8 or newer.
  • Node.js with npm.

Clone the repository, then run the desktop app from the project root.

powershell -ExecutionPolicy Bypass -File .\run_dev.ps1

The launcher installs Python dependencies and Node bridge dependencies before starting the app.

If dependencies are already installed:

powershell -ExecutionPolicy Bypass -File .\run_dev.ps1 -SkipInstall

Batch launcher:

run_dev.cmd
run_dev.cmd -SkipInstall

Manual setup:

python -m pip install -e ".[dev]"
npm install
python -m steam_hour_booster

Local Data

Runtime data is stored outside the repository:

%LOCALAPPDATA%\SteamHourBooster\

Important paths:

  • config.json: app preferences and non-secret account profile settings.
  • sessions\: SteamCommunityKit session bundles, Steam client auth metadata, and local runtime cache.
  • logs\runtime.log: runtime event log.

Do not commit local runtime data, .env files, credentials, screenshots containing account secrets, or the contents of %LOCALAPPDATA%\SteamHourBooster.

Verification

Run tests:

python -m pytest

Run a Node bridge smoke check:

npm run smoke:steam-bridge

Compile Python sources:

python -m compileall src

Release Process

Installer releases are produced by GitHub Actions. Maintainers can push a version tag to run the Windows packaging workflow:

git tag v0.1.2
git push origin v0.1.2

The workflow runs the test suite, verifies the Node Steam bridge, builds a PyInstaller desktop app folder, wraps it with Inno Setup, uploads the installer artifact, and publishes a GitHub release.

Architecture

The app is split into clear boundaries:

  • steam_hour_booster.web: HTML/CSS/JS desktop shell and pywebview bridge.
  • steam_hour_booster.auth.community: SteamCommunityKit web auth and session bundle handling.
  • steam_hour_booster.auth.client: Node Steam client bridge wrapper for modern client refresh-token authorization.
  • steam_hour_booster.runtime: live played-state runtime, reconnect handling, conflict policy, and telemetry.
  • steam_hour_booster.session_store: local bundle/cache storage under app data.

The Steam client auth bridge depends on:

  • steam-session: modern Steam auth/session flow.
  • steam-user: Steam client login, refresh-token handling, gamesPlayed, conflict state, and chat events.

License

MIT. See LICENSE.

About

Program to automatically idle your hours "Boosting" them for you without opening any games at all.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages