A cross-platform GUI remote control for Samsung Smart TVs built with Rust and Slint. https://github.com/Codycody31/samsung-tv-remote
  • Slint 66.7%
  • Rust 33.3%
Find a file
2026-02-04 20:22:40 -05:00
src feat: initial commit 2026-02-04 12:25:29 -05:00
ui feat: initial commit 2026-02-04 12:25:29 -05:00
.gitignore feat: initial commit 2026-02-04 12:25:29 -05:00
build.rs feat: initial commit 2026-02-04 12:25:29 -05:00
Cargo.lock feat: initial commit 2026-02-04 12:25:29 -05:00
Cargo.toml chore: fix author email 2026-02-04 20:22:40 -05:00
README.md feat: initial commit 2026-02-04 12:25:29 -05:00

Samsung TV Remote

A cross-platform GUI remote control for Samsung Smart TVs built with Rust and Slint.

Features

  • Automatic Discovery - Scans your network for Samsung Smart TVs using SSDP
  • Manual Connection - Connect directly via IP address
  • Full Remote Control - Navigation, volume, channels, media playback, and more
  • App Launcher - Launch popular streaming apps (Netflix, YouTube, Prime Video, etc.)
  • TLS Support - Secure connections with automatic fallback to non-TLS
  • Token Persistence - Remembers authentication tokens for seamless reconnection

Screenshots

The application provides three main screens:

  1. Discovery Screen - Find and connect to TVs on your network
  2. Remote Screen - Full remote control interface with d-pad, volume, channels, media controls, number pad, and color buttons
  3. Apps Screen - Quick launch for popular streaming apps

Requirements

  • Rust 1.70+
  • A Samsung Smart TV (2016 or newer with WebSocket API support)
  • TV and computer on the same network

Installation

From Source

git clone https://git.macco.dev/insidiousfiddler/samsung-tv-remote
cd samsung-tv-remote
cargo build --release

The binary will be at target/release/samsung-tv-remote.

Usage

samsung-tv-remote

First Connection

  1. Launch the application
  2. Wait for automatic discovery or enter your TV's IP manually
  3. Select your TV from the list
  4. Accept the pairing prompt on your TV - A popup will appear on the TV screen asking to allow the connection
  5. Once paired, the remote control interface appears

Remote Controls

Button Function
Power Turn TV on/off
Source Switch input source
Home Samsung Smart Hub
D-Pad + OK Navigation and selection
Back / Menu / Exit Navigation
Vol +/- Volume control
Mute Toggle mute
CH +/- Channel navigation
0-9 Number input
Play/Pause/Stop/RW/FF Media playback
Red/Green/Yellow/Blue Color function keys

Logging

Enable debug logging with:

RUST_LOG=samsung_tv_remote=debug samsung-tv-remote

Configuration

Authentication tokens are stored in your system config directory:

  • Linux: ~/.config/samsung-tv-remote/
  • macOS: ~/Library/Application Support/samsung-tv-remote/
  • Windows: %APPDATA%\samsung-tv-remote\

Dependencies

Compatibility

Tested with Samsung Smart TVs from 2016 onwards that support the WebSocket remote API. Older TVs using different protocols are not supported.

License

MIT