This guide covers the supported way to get put.io onto a Roku device.
Roku ended private channels, so the put.io Roku app is installed by sideloading a ZIP onto a developer-enabled device.
- A Roku device on the same local network as your computer
- A computer with a web browser
- A ZIP build of the app from either supported source:
- published Roku ZIP
- generated from this repo: run
make artifactand usedist/apps/putio-roku-v2.zip
Do not extract the ZIP before uploading it to Roku.
On your Roku remote, press this sequence:
HOME, HOME, HOME, UP, UP, RIGHT, LEFT, RIGHT, LEFT, RIGHT
The Developer Settings screen should appear.
Then:
- Choose
Enable Developer Mode - Accept the prompts
- Set a password for the device web installer
- Note the Roku IP address shown on screen
Your Roku will reboot after Developer Mode is enabled.
On a computer connected to the same network, open a browser and visit your Roku IP address.
Example:
http://192.168.0.10
When prompted:
- username:
rokudev - password: the password you chose while enabling Developer Mode
In the Roku developer installer:
- Choose the ZIP file
- Select
Install - Wait for the success message
This works with either the published artifact or a ZIP you generated from this repository.
After installation, the put.io channel appears on the Roku home screen as the developer app.
If you want to sideload a local branch instead of the published ZIP:
- Copy
.env.exampleto.env - Set
ROKU_DEV_TARGETto your Roku IP address - Set
ROKU_DEV_PASSWORDto the Developer Mode password if needed - Run
make run
Useful commands:
make smokeruns the standard static checks and builds a fresh ZIPmake check-roku-dev-targetchecks that the Roku developer endpoint is reachablemake live-testruns read-only device reachability and state checksmake live-test-controllaunches the sideloaded app, sends remote keypresses over ECP, and asserts the dev app stays activemake live-test-press KEYS="Back Info"sends explicit remote keypresses over ECPmake live-test-deeplink CONTENT_ID=<file-id> [MEDIA_TYPE=movie]launches the sideloaded app through Roku deep linkingmake live-test-launchopens the installed developer app and reports active app statemake live-test-installbuilds, reinstalls, and launches this checkout on the devicemake launchopens the sideloaded developer app on the configured Rokumake active-appprints the currently active Roku app from ECPmake device-infoprints the configured Roku device metadata from ECPmake consoleattaches to the BrightScript debug console on port8085make verifyruns the Node-based Roku static checks and builds a fresh ZIPmake artifactcreatesdist/apps/putio-roku-v2.zip
For hardware-backed debugging, see Live Test. For the full contributor workflow, see Contributing
