
Full Companion Remote for SteamOS

Full Companion Remote for SteamOS
Couchside is a mobile application that functions as a remote control, game controller, and system dashboard for a gaming PC connected to a television in a living room setup. It is designed for use with Linux-based gaming platforms including SteamOS, Bazzite, CachyOS, and a docked Steam Deck, as well as Windows 10 and 11 in beta. The application communicates with a small service installed on the host computer over the local Wi-Fi network, with no internet traffic leaving the home network. The service is open source under the MIT license and consists of a single Python file with no external dependencies. The app itself is source available for personal use, with a prebuilt version available for purchase. The application provides a live dashboard showing system vitals, the ability to view and tail logs, restart the display or system, and a virtual controller for navigating Steam Big Picture or other interfaces. When the television screen goes black or becomes unresponsive, the phone can serve as a secondary screen to diagnose the issue. Security features include bearer token authentication generated on the host machine, TLS with certificate pinning established during pairing, and a restricted allowlist of commands that the service can execute. The service does not collect telemetry, analytics, or crash reports, and its only outbound traffic is for signed updates and store unlock verification. Typical use involves installing the service on the gaming PC with a single command, which prints a PIN and QR code. The user opens the Couchside app on their phone, scans for the box on the local network, and enters the PIN to establish a paired connection. No IP addresses or tokens need to be manually copied. The app is free to use for seven days with all features enabled, after which a one time payment of $7.99 unlocks continued use with no subscription, account creation, or advertisements. The service supports optional features such as allowing system updates, launcher access, and app updates, each enabled only from the host machine and granting access to specific root owned wrappers rather than unrestricted sudo access.