← Back to list

ROR Roku

A native SwiftUI Roku remote for iPhone, iPad, and Mac. Direct LAN control. Zero trackers, no accounts, nothing leaves your network.

Richard OReilly · 2026-05-25 23:49 · 0 claps · 5.6 min read
#native-app #os-x #ios-apps #mobile-app-development #roku
Open on Medium ↗
Wiki topics: 📱 · Mobile Development

ROR Roku

A native SwiftUI Roku remote for iPhone, iPad, and Mac. Direct LAN control. Zero trackers, no accounts, nothing leaves your network.

A remote, the way it should’ve always been — fast, quiet, and entirely on your network.

Features

What it does.

Full remote

Directional pad, back, home, volume + mute, and playback controls — rewind, play/pause, fast-forward, and instant replay.

Channel grid

Launch any installed Roku app straight from a grid of channel tiles pulled live from your device.

Keyboard‑mirror search

Type on your phone or Mac and the text appears on the Roku in real time. No more pecking at letters with the d‑pad.

Saved devices

Save the Rokus on your network — name, IP, icon, model — and switch between them with one tap.

Show bookmarks

Bookmark a keyword (a show, an actor, a movie) and launch a Roku search for it with a single tap.

Discovery

SSDP + Bonjour discovery on the local network, plus manual‑IP entry as a reliable fallback.

Tech

Built with intent.

PlatformsiOS 16+, iPadOS 16+, macOS 13+StackSwiftUI, Apple Network framework, URLSessionDiscoverySSDP multicast and BonjourProtocolRoku ECP over HTTP on port 8060DependenciesNone. No third‑party SDKs, no analytics, no crash reporting.NetworkLocal Wi‑Fi only. Nothing leaves your network.DistributionTestFlight today; App Store submission in progress. Free, no in-app purchases.

Privacy Policy

Nothing leaves your network.

Trackers

No analytics, telemetry, crash reporting, or third-party SDKs.

Accounts

No login, no cloud sync, no profile to create or remember.

Servers

The app talks to your Roku — nothing else. No backend exists to compromise.

Effective 2026–05–25

This Privacy Policy describes how ROR Roku (“the app”), a native iOS and macOS Roku remote published by Richard O’Reilly, handles information when you use it. By using ROR Roku you agree to this policy.

1. Summary

ROR Roku does not collect, transmit, store on any server, or share any personal information. The app never makes network requests off your local network. There are no accounts, no analytics, and no third‑party SDKs.

2. Information the app does not collect

  • No personal information (name, email, phone, address).
  • No analytics, usage telemetry, or crash reports.
  • No advertising identifiers.
  • No location data.
  • No contacts, photos, microphone, or camera data.
  • No account, login, or cloud sync.

3. Information the app stores locally on your device

For the app to function, a small amount of data is saved in the app’s Application Support directory on your device. This data never leaves your device and is not synced to any server or cloud account:

  • A list of saved Roku devices you’ve connected to — including the device name, local IP address, channel/icon image data, and basic model information returned by the Roku itself.
  • The last device you selected, so the app can reconnect to it on launch.
  • Keyword bookmarks — short text strings you choose to save so you can launch a Roku search with one tap.

You can remove any of this data at any time by removing the saved device or bookmark inside the app, or by deleting the app, which removes all locally stored data.

4. Network activity

ROR Roku communicates only with Roku devices on your local Wi‑Fi network. Specifically:

  • HTTP requests to your Roku at http://<roku-ip>:8060/ using Roku’s published External Control Protocol (ECP).
  • Optional SSDP multicast traffic on the local network for discovering Rokus.
  • Bonjour service browsing on the local network for discovering Rokus.

The app makes no network requests to any server operated by the developer or any third party.

5. Permissions

On iOS, the app requests Local Network permission. This permission is required to reach your Roku and to perform discovery on the local network. It is the only OS‑level permission the app requests. The app does not request access to your location, contacts, photos, microphone, camera, or any other sensitive resource.

6. Third parties

ROR Roku integrates no third‑party services, SDKs, analytics platforms, advertising networks, or trackers. No information is shared with any third party because no information is collected.

7. Children’s privacy

ROR Roku is not directed to children under the age of 13 and does not knowingly collect any information from anyone, including children. The app is safe for use in households with children because it collects no information from any user.

8. Data security

Because no information leaves your device or your local network, there is no remote server that could be compromised. Locally stored data is protected by the standard sandboxing and on‑device protections provided by iOS and macOS.

9. Changes to this policy

If this policy ever changes — for example, if a future version of the app introduces a new feature that has different privacy characteristics — the updated policy will be posted at this URL with a new effective date. Continued use of the app after a change indicates acceptance of the updated policy.

10. Contact

Questions about this policy or about ROR Roku can be sent to roreilly@tatango.com.

Support

Help & FAQ.

Getting started

  1. Install ROR Roku from TestFlight (or the App Store, once approved).

How

  1. Make sure your iPhone, iPad, or Mac is on the same Wi‑Fi network as the Roku you want to control.
  2. On iOS, grant the Local Network permission when prompted. If you tap “Don’t Allow”, re‑enable it in Settings → ROR Roku.
  3. Add your Roku — let discovery find it, or tap Add manually and enter the device’s local IP address.
  4. Tap the device to connect. The remote becomes active immediately.
  5. If buttons do nothing, see the “Network Access” setting below — it’s almost always the cause.

Finding your Roku’s IP address

If discovery doesn’t pick up your Roku automatically, the most reliable way to add it is by IP. On your Roku:

  • Press Home on your existing Roku remote.
  • Go to Settings → System → About.
  • Look for the line labeled IP address — it’ll look like 192.168.x.x.

Enter that IP into ROR Roku’s “Add manually” field. The IP can change if your router reassigns leases; if the app stops working, double‑check the Roku’s About screen again.

Important Roku setting

Set Network Access to “Permissive”

Roku’s ECP control protocol requires the Roku to be configured to accept commands from mobile apps. If it isn’t, the Roku responds to every command with HTTP 403 Forbidden — the device looks reachable but the remote does nothing.

On your Roku, go to Settings → System → Advanced system settings → Control by mobile apps, and set Network Access to “Permissive”. This is a Roku‑side setting and only needs to be changed once per device.

Frequently asked questions

Why doesn’t it auto-discover my Roku?

Auto‑discovery uses SSDP multicast on the local network. On iOS, multicast requires a special entitlement from Apple, and that entitlement is currently pending review. While it’s pending, discovery may be limited — please use the “Add manually” option with your Roku’s IP address. Once the entitlement is granted, discovery will work without any change on your end.

Every button does nothing — what’s wrong?

Almost always one of two things: (1) the Roku’s Network Access is set to something other than Permissive (see above), or (2) your phone or Mac isn’t on the same Wi‑Fi network as the Roku — some routers put guest networks on a separate subnet that can’t reach the main one.

Does it work over cellular or away from home?

No. ROR Roku is intentionally LAN‑only. It does not tunnel through any server, so there’s nothing to control the Roku from outside your network. You need to be on the same Wi‑Fi as the Roku.

Does it support multiple Rokus?

Yes — save as many devices as you like and switch between them. The app remembers the last device you used.

Does it cost anything? Are there ads?

No. ROR Roku is free, has no in-app purchases, no ads, and no subscriptions.

Does it collect any data?

No. See the Privacy Policy above for the full breakdown — the short version is that nothing leaves your device or your local network.

Which Rokus are supported?

Any Roku device that exposes the standard ECP interface on port 8060 — essentially every modern Roku player and Roku TV. If your Roku is on the same network and has Network Access set to Permissive, it should work.

Is there an iPad or macOS version?

Both already exist — the same SwiftUI app builds for iOS, iPadOS, and macOS 13+.

Still stuck?

Send a note to roreilly@tatango.com with your device (iPhone / iPad / Mac), iOS or macOS version, and what you’re seeing. Replies come from a real person.


메타데이터
post_id
5ee67ed5babc
slug
ror-roku-5ee67ed5babc
url
https://medium.com/@rorwashere/ror-roku-5ee67ed5babc
canonical_url
https://medium.com/@rorwashere/ror-roku-5ee67ed5babc
author_url
https://medium.com/@rorwashere
status
ok
fetched_at
2026-06-20 20:29:01