A beautiful, real-time command-line interface for viewing* your Steam friends list. Monitor your friends' online status, current games, and last seen times directly from your terminal.
*yes, read only for now™.. I am working on interactiveness, see issues.
The first terminal is terminator with transparent background, and disabled title/scroll bars. Second is konsole, again with disabled bars. Third is default gnome-terminal.
tldr: it's the steam friends list with less features and more bugs but in the terminal... :)
✨ Rich Console Interface - Beautiful terminal UI powered by Spectre.Console with colors and interactive elements
🔄 Real-time Updates - Instantly see changes as your friends come online, go offline, or start/stop playing games
👁️ Last Seen Tracking - View when offline friends were last online
🔐 Secure Authentication - QR code authentication with encrypted token storage - authenticate once, use repeatedly
🌐 Cross-platform - Works seamlessly (I hope) on Windows, macOS, and Linux
⚡ Lightweight - Minimal resource usage with efficient real-time Steam API integration
- Steam Account: Steam Mobile app installed on phone (for initial authentication)
- Operating System: Windows 10+, macOS 10.15+, or Linux (most distributions)
- Network: Internet connection for Steam API access
- Terminal: Modern terminal with Unicode support (Windows Terminal, iTerm2, gnome-terminal, etc.)
- .NET 9.0 Runtime or later *
* only if you plan to build from source, as the releases are self contained
- Download the latest release for your platform from the Releases page
- Windows:
win-x64.zip - macOS:
osx-x64.zip - Linux:
linux-x64.gz
- Windows:
- Extract the sftui executable to your desired location
- Run
sftui
# Clone the repository
git clone https://github.com/AdamWHY2K/steam_friends_list_tui.git
cd steam_friends_list_tui
# Build for your current platform
dotnet build -c Release# Windows (PowerShell/Command Prompt)
sftui.exe
sftui.exe --debug
# macOS/Linux
./sftui
./sftui --debug
# Using dotnet run (from source)
dotnet run
dotnet run -- --debugThe application uses Steam's official QR code authentication system for secure, convenient access:
- Launch the application - a QR code will be displayed in your terminal
- Open the Steam Mobile app on your phone
- Navigate to the Steam Guard screen
- Scan the QR code displayed in the terminal
- Your authentication tokens will be encrypted and saved for future use
- The app automatically uses your saved authentication tokens
- No QR code scanning required unless tokens expire or become invalid
- Automatic re-authentication prompts when needed
- 🔒 Tokens are automatically encrypted using machine-specific keys
- 📁 Stored in secure application data directory with restricted permissions
- 🚫 Tokens cannot be transferred between devices
- 🗑️ Manual token clearing: delete
auth_tokens.jsonin the sftui data folder
| Key | Action |
|---|---|
↑/↓/j/k |
Navigate friends list |
Page Up/Down |
Fast scroll |
Home/End |
Jump to top/bottom |
Ctrl+C/ESC/Q |
Quit application |
- No data collection: This application does not collect, store, or transmit any personal data
- Local authentication: All authentication tokens are stored locally and encrypted
- Steam API only: Uses official Steam APIs - no third-party services involved
- Open source: Full source code available for audit and verification
- .NET 9.0 - Modern, cross-platform runtime
- SteamKit2 - Robust Steam API library
- Spectre.Console - Rich terminal UI framework
- QRCoder - QR code generation for authentication
- DotNetEnv - Environment configuration
- Clean, modular C# codebase with separation of concerns
- Event-driven Steam API integration for real-time updates
- Secure token management with encryption and proper file permissions
- Responsive terminal UI with efficient rendering
If you find this project useful, please consider:
- 🥺 Buying me a coffee to support ongoing development
- ⭐ Starring the repository
- 🐛 Reporting bugs or suggesting improvements
- 🔀 Contributing code or documentation
- 💬 Sharing with friends who might find it useful
Made with ❤️ for the Steam nerds it's me, i am the steam nerd