A custom, lightweight Steam launcher and client written in Rust.
SteamFlow is the modern successor to the OpenSteamClient project, leveraging Rust for performance, safety, and a better developer experience. It uses steam-vent for Steam network communication and egui for the user interface.
SteamFlow is in active development and serves as the primary project. It has reached a highly functional alpha state, supporting core Steam features like authentication, library management, game installation/updates, and cloud synchronization.
- Authentication
- Login with password
- Steam Guard (Email/Device codes)
- Steam Guard Mobile App confirmation
- Session restoration (Refresh tokens)
- Library
- Fetch owned games from Steam
- Scan local installed games
- Display game covers (automated caching)
- Basic game launching
- Search & Filtering
- Installation & Updates
- Download pipeline (Manifest -> Security -> Chunks)
- Update management
- Uninstall support
- Verify Integrity
- Features
- Collections / Categorization
- Friends list & Chat
- Steam Cloud integration
- Workshop management
- Proton/Wine integration improvements
- Depot browser (Download specific builds/files)
Ensure you have the following system dependencies installed (Ubuntu 24.04 example):
sudo apt-get update
sudo apt-get install build-essential pkg-config libssl-dev libx11-dev libxi-dev libxrandr-dev libxinerama-dev libxcursor-dev libxkbcommon-dev libasound2-dev libudev-dev libwayland-dev libgtk-3-dev libpulse-dev libdbus-1-dev libegl1-mesa-dev libgles2-mesa-dev liblzma-dev- Clone the repository:
git clone https://github.com/OpenSteamClient/OpenSteamClient.git
cd OpenSteamClient- Build and run:
cargo run --releaseSteamFlow stores its configuration and local data in ./config/SteamFlow relative to the executable.
- Library Path: By default, SteamFlow attempts to detect your existing Steam installation. You can manually override this in the Settings panel within the application.
- Session: Encrypted refresh tokens are stored in
session.jsonto allow automatic login on subsequent launches. - Unified Download Pipeline: All game installations, updates, and integrity verifications use a robust, single-engine architecture for maximum reliability and speed.
- No Web Technology: Unlike the official Steam client, SteamFlow does not use CEF or WebViews for its core interface, making it extremely lightweight.
- Fast and Responsive: Built with Rust and
eguifor a native, snappy experience. - Privacy Focused: Open-source implementation of Steam protocols.
- Linux First: Great support for Linux, including 64-bit clean architecture and better Proton management.
See CONTRIBUTING.md for guidelines.
Special thanks to the developers of OpenSteamClient and steam-vent for their invaluable reverse-engineering documentation.
Powered by steam-cdn (Vendored & Modified) and zip crate.
- OpenSteamClient - Original project and resource base
- steam-vent - Steam protocol implementation
- egui - Immediate mode GUI library
- open-steamworks - Research resources
SteamFlow aims to provide a lightweight alternative for launching games and managing your library. Some features like VAC-secured games or ISteamHTMLSurface (Source engine MOTDs) may never be supported due to proprietary limitations.
SteamFlow uses official Steam protocols. However, it is a 3rd-party client and is not endorsed by Valve. Use at your own risk.
