A Netflix-style cross-platform streaming player that prioritizes TV remote control, connecting to TVBox ecosystem sources via a Flutter client and a JAR Bridge service
- v0.7.0
- Published at
- 4d ago
- 19
- Stars
- 195
- Download
- Synced at
- 4d ago
Latest release
v0.7.0Oct 15, 2026, 03:03 AMDownloads slow? Switch the source anytime above
README
Project Overview
StreamBox is a Netflix-style cross-platform streaming player built for TVBox ecosystem sources, prioritizing remote-control interaction on TVs, TV boxes and projectors while also supporting desktop keyboard/mouse and phone touch. The repo is a monorepo containing a Flutter client and a JAR Bridge intermediary service called Gateway. It bundles no sources; all content comes from third-party sources configured by the user.
A streaming interface built for the remote, with sources left to the TVBox ecosystem.
Key Features
- Immersive home: side navigation, a recommendation carousel, continue-watching and category rows, with home sources chosen in settings
- Aggregated search: search and history on the left, a results grid on the right, auto-scrolling that keeps focus when moving with arrow keys
- Remote playback: the timeline and common actions sit at the bottom, while episodes, lines and settings use a side panel
- Source management: shows the current home source and search scope, switching between official and custom collections, with one-tap enabling
- Health checks: up to 6 sources probed concurrently with a 12-second timeout per source, refilling as they finish and distinguishing waiting from checking
- JAR runtime: Gateway discovers manually configured JAR sources via config, with an API format fully compatible with Apple CMS
- Remote configuration: official source addresses and order are maintained server-side, with background sync at launch and periodic checks
Target Audience
- Users of TVs, TV boxes and projectors
- Users of TVBox ecosystem sources
- Viewers who want a consistent experience across devices
Quick Start
- Install the Flutter SDK and (optionally) JDK 21 and clone the repo
- CMS sources only: in
client, runflutter pub getthenflutter run -d macos - With JAR sources: run
./gradlew runinjar-bridgeto start Gateway, then launch the client - Or use the root
./dev.shto start both Bridge and client with one command
Core Advantages
- Remote first: layout and key handling are designed around remotes and arrow keys
- Optional Gateway: CMS sources work without deploying the Bridge
- Maintainable sources: official source addresses and order are adjusted server-side without reinstalling
- Cache on failure: when sync fails, the local cache is used and custom sources are kept
System Requirements
| Item | Requirement |
|---|---|
| Client | Flutter SDK 3.11+, Dart SDK 3.11+, CocoaPods on macOS |
| JAR Bridge | JDK 21+ |
| Content source | Third-party sources configured by the user |
Notes
- Gateway bundles no sources; you must prepare Spider JARs and write them into the config
- The official source config entry uses plain HTTP, which carries a tampering risk
- For technical research and learning only; make sure the sources you connect are lawful
Release history
Sort