Repository navigation
Building from Source
- Node.js v22.12 or newer (required to install Electron 43)
- Optional: ffmpeg on your system PATH, for codec transcode
npm install
npm startOn first launch you'll land on the Channel Setup screen.
- Click + ADD CHANNEL for each channel you want.
- Give it a number and a name (e.g.
07/ "CARTOON CHANNEL"). Channels 1 and 2 are reserved for the built-in virtual channels. - Click CHOOSE FOLDER and pick a folder from your media library. The app scans it recursively and reads each file's duration — this takes a moment on large folders. Click + ADD FOLDER to merge in more folders on the same channel — everything plays from one combined loop. Open FOLDERS (N) to see what's assigned and remove one.
- Repeat as desired, then click START WATCHING.
Setup is saved to Electron's app-data folder. Press S any time to go back.
npm test runs the unit and contract tests (about 470 of them). It must pass before you open a pull request. CI runs it on every push and pull request.
A separate suite drives the real Electron window over the Chrome DevTools Protocol (the tests/ui/ folder, with its own README). Read that README first: the app keeps its data in a userData folder next to the app, so any automated run must back up and restore that folder.
See Headless, LAN and Remotes.
npm run pack # reproducible unpacked release build from the tracked plugin allowlist
npm run pack:personal # local build that also includes ignored plugins in this checkout
npm run dist # installer (nsis / dmg / AppImage)npm test runs tracked release-gating tests plus the plugin contract validator and fails
if no tests are discovered. The larger real-Electron/CDP suite lives under the tracked
tests/ui/ working directory; run it with
powershell -ExecutionPolicy Bypass -File tests\ui\run-ui-tests.ps1. (The repo's .gitignore
ignores *.mjs, so new harness files there need git add -f; see tests/ui/README.md.)
Release plugin contents are explicit in build/bundled-plugins.json; machine-local
integrations cannot silently change the default artifact.
No ffmpeg binary is bundled or downloaded — see "About RerunTV" above.
Versioning. Releases are MAJOR.MINOR.PATCH-beta.N: the base comes from package.json and N is
the CI build number, so every release is a pre-release and each is newer than the last
(0.2.0-beta.7 > 0.2.0-beta.6). Bump the base by hand for a new minor or major. The in-app update
check follows the beta series.
Pre-built beta installers (Windows) are published automatically as GitHub Releases from
the deploy branch — see the Releases page. They're unsigned (see Download and install for how to
verify one), so Windows SmartScreen and your browser will likely warn you before running one.
SmartScreen: "More info" → "Run anyway". Chrome's download bar: the dropdown arrow →
"Keep".
Next: Development
RerunTV is MIT licensed, in beta, and not affiliated with any broadcaster, network or studio. Releases · Issues · Repository