How manewreck/sda-plus-plus works
SDA++ is a Windows desktop Steam Guard authenticator and account manager. Users load or import accounts, then manage rotating codes, sessions, confirmations, QR login, and account-wide monitoring from the desktop UI. Separate workflows synchronize account files and credentials, restore validated cloud data, and pair with the mobile app. SteamAuth provides the underlying Steam session and authenticator operations. README documents several capabilities whose detailed implementation was not sampled; those are represented at their known module paths, with only documented or evident connections shown.
Main entry points: MainForm.cs Main account UI · Program.cs Application startup · SteamWeb.cs Steam session client · SilentAccountAuthenticator.cs Session recovery
Components 24
Desktop experience
- Application startup
open-source/Steam Desktop Authenticator/Program.cs - First-run setup
open-source/Steam Desktop Authenticator/WelcomeForm.cs - Main account UI
open-source/Steam Desktop Authenticator/MainForm.cs - Settings UI
open-source/Steam Desktop Authenticator/SettingsForm.cs - Release update check
open-source/Steam Desktop Authenticator/UpdateCheckService.cs
Account workflows
- Account monitoring
open-source/Steam Desktop Authenticator/AccountMonitoringService.cs - QR login
open-source/Steam Desktop Authenticator/SteamQrLoginService.cs - Steam Guard accounts
open-source/lib/SteamAuth/SteamAuth/SteamGuardAccount.cs - Trade confirmations
open-source/lib/SteamAuth/SteamAuth/Confirmation.cs - Session recovery
open-source/Steam Desktop Authenticator/SilentAccountAuthenticator.cs - Credentials vault
open-source/Steam Desktop Authenticator/FileEncryptor.cs - Account manifest
open-source/Steam Desktop Authenticator/Manifest.cs
Cloud and pairing
- Cloud restore and sync
open-source/Steam Desktop Authenticator/CloudSyncService.cs - Cloud storage providers
open-source/Steam Desktop Authenticator/CloudStorageProviders.cs - WebDAV synchronization
open-source/Steam Desktop Authenticator/WebDavSyncService.cs - Mobile pairing workflow
open-source/Steam Desktop Authenticator/CloudPairingWorkflow.cs - Local and relay pairing
open-source/Steam Desktop Authenticator/LocalCloudPairingService.cs
Steam integration
- Steam session client
open-source/lib/SteamAuth/SteamAuth/SteamWeb.cs - Session data
open-source/lib/SteamAuth/SteamAuth/SessionData.cs
Other components
- Desktop user
- SDA++ Mobile
- HTTPS pairing relay
- Steam web services
- GitHub releases
Connections 29
- Desktop user → Application startup: launches
- Application startup → Account manifest: loads
- Application startup → First-run setup: opens first run
- Application startup → Main account UI: opens account UI
- Desktop user → Main account UI: manages accounts
- Main account UI → Steam Guard accounts: shows codes
- Main account UI → QR login: starts QR login
- Main account UI → Account monitoring: opens monitoring
- Main account UI → Trade confirmations: opens confirmations
- Main account UI → Session recovery: starts recovery
- Session recovery → Credentials vault: reads credentials
- Main account UI → Cloud restore and sync: starts cloud pull
- Cloud restore and sync → Cloud storage providers: transfers files
- Cloud restore and sync → Account manifest: validates and commits
- Settings UI → WebDAV synchronization: configures sync
- WebDAV synchronization → Cloud storage providers: uses storage
- Main account UI → Mobile pairing workflow: starts pairing
- Mobile pairing workflow → Local and relay pairing: creates session
- Local and relay pairing → SDA++ Mobile: exchanges encrypted data
- Local and relay pairing → HTTPS pairing relay: falls back to relay
- Account monitoring → Steam web services: reads public data
- QR login → Steam web services: authenticates QR session
- Steam Guard accounts → Steam session client: uses Steam operations
- Trade confirmations → Steam session client: loads confirmations
- Session recovery → Steam session client: restores sessions
- Steam session client → Session data: maintains tokens
- Steam session client → Steam web services: sends Steam requests
- Application startup → Release update check: starts checks
- Release update check → GitHub releases: checks releases