The control node for your streaming PC.
A tiny app that runs on your machine and does what the cloud can't reach — on your desk, your network, your stream.
Before you start: your browser may say the file is "not commonly downloaded." That's a download-reputation check on new releases — not a security problem — so choose Keep. The macOS app is Apple-notarized and the Linux .deb is GPG-signed; verify either below.
Latest release v0.27.0
Grab the build for your OS.
macOS
✓ Signed & notarized by AppleOpens normally, no Gatekeeper prompt — double-click and it settles into your menu bar.
Apple Silicon 24.3 MB Intel 27.9 MBWindows
Not code-signed yetSmartScreen may warn on first launch — choose More info → Run anyway; it then runs from the system tray.
Windows (x64) 25.9 MB Microsoft Store — coming soonLinux
✓ GPG-signed .debDebian / Ubuntu: download the .deb and sudo dpkg -i it (signature verifiable below). Other distros: the portable tarball.
Everything your browser can't reach.
Stream with no OBS
Put your 3D-printer camera or Stream Games scene straight on your channel — no streaming software.
Learn more →A built-in audio mixer
Your mic, background music and an automated host voice, mixed right in the agent.
Learn more →Drives LAN hardware
Controls Govee/Hue smart-lights and receipt printers on your network.
Learn more →Captures game events
Feeds your game's events into your automation rules.
Forwards TikTok LIVE chat
Bridges TikTok chat, gifts and follows into your unified chat.
Learn more →Lives quietly in the background
Sits in your menu bar or system tray, starts at login, stays out of the way.
Verify your download
macOS — nothing to do: it's Apple-notarized, so macOS checks the signature for you when you open it.
Linux (.deb) — confirm it's genuinely ours with the detached GPG signature and our public key:
curl -O https://streamrepeater.com/downloads/stream-repeater-agent-signing-key.asc
gpg --import stream-repeater-agent-signing-key.asc
curl -O https://streamrepeater.com/downloads/stream-repeater-agent_0.27.0_amd64.deb.asc
gpg --verify stream-repeater-agent_0.27.0_amd64.deb.asc stream-repeater-agent_0.27.0_amd64.deb
A .sha256 checksum is published alongside the package too.
After installing, launch it once — it appears in your menu bar (macOS) or system tray (Windows). If it has not been paired before, it opens a pairing wizard; you can also click the icon and choose "Pair this device" any time. It then runs in the background and starts automatically at login (toggle "Open at Login" from its menu any time).
Version history
Changelog — Stream Repeater Local Agent
What's new in the Local Agent, newest first. The version here matches your download.
0.27.0 — 2026-07-20
- Update no longer blocked by the printer camera, and you can always choose Update anyway. Installing an update used to refuse outright — "Stop your broadcast (and camera), then install the update" — with no way past it, and it fired even when the only thing running was the printer camera's background stream, not a real broadcast. The printer camera no longer counts: an agent restart just reconnects it a moment later, so it's harmless to update through. And if a real "Go Live" broadcast genuinely is running, the warning now offers Update Anyway alongside stopping first, so you're never stuck.
0.26.0 — 2026-07-19
- Mute your mic from the Stream Deck. A new Mute Mic key on the Stream Deck plugin toggles your live mic in the agent's audio mixer, so you can drop and bring back your voice without leaving your scene. (Requires this agent version plus the v1.6.0.0 Stream Deck plugin.)
0.25.0 — 2026-07-17
- Smoother, steadier printer-camera stream. The camera bridge now hands the cloud a clean, constant-15fps video with rebuilt timestamps on every path (with or without the status overlay). The Creality K2's own timing is on a broken clock, which was making the recorder and the platform reject the stream and drop it every few seconds — that's fixed, so the feed holds steady and your print recording is one continuous file instead of a pile of 5-second clips. Reconnects are also cleaner: a dropped connection is now torn down instantly so it can't collide with the fresh one.
0.24.1 — 2026-07-16
- Printer camera keeps streaming mid-print. Some Creality/Klipper firmwares briefly report
standbyeven while a print is genuinely running. The agent now treats an active job (nozzle at temperature and progress climbing) as printing regardless of that flag, so your printer-camera stream no longer cuts out partway through a job.
0.24.0 — 2026-07-10
- Clearer connection status. When the agent can't reach the cloud, the control window now tells you why — “connection timed out”, “no connection to the server”, or “authentication rejected — may need re-pairing” — instead of a bare “Connecting…”. It keeps retrying either way; this just makes a blip easy to diagnose at a glance.
0.23.0 — 2026-07-10
- More reliable connection. Every call to the cloud now has a hard 15-second timeout, so a hung or half-open network (flaky wifi, mobile hotspots/CGNAT, or the machine waking from sleep) can no longer freeze the agent — it aborts that attempt and retries on the next tick instead of silently going quiet. Polls also no longer stack up if one is slow. Net effect: the agent recovers on its own from network blips and keeps its "last seen" fresh.
0.22.0 — 2026-07-09
- Open capture window (for TikTok LIVE Studio / OBS). The control window now has Open capture window — a clean, chromeless pop-out of your game scene (9:16 portrait). Add it as a Window Capture source in TikTok LIVE Studio or OBS and your Stream Games scene goes live — no stream key, no virtual camera driver needed. Because it's chromeless there's no title bar to crop.
0.21.1 — 2026-07-09
- Broadcast preview (PIP). While you’re live from the agent, the control window has a Show broadcast preview action that opens a small window mirroring your outgoing game scene — a confidence monitor so you can see what viewers see. It’s muted (silent on your machine, like the broadcast itself).
0.21.0 — 2026-07-09
- Broadcast the same game to several channels at once. The agent can now render your game scene to multiple streams simultaneously — for example your main landscape channel and its vertical (9:16) companion for TikTok/Shorts — all showing the same game, each sized correctly for its orientation. Pick the channels on your dashboard (up to three).
- One mic, all streams. A single microphone capture now feeds every broadcast, and the Talk button puts you on air across all of them at once — no fighting over the mic.
0.20.2 — 2026-07-08
- Background music is quieter, and it’s one setting everywhere. The music level for the no-OBS agent broadcast now shares the same control as your dashboard’s music player and overlay — change it on the dashboard or in the agent’s Audio settings and it updates in both places (it syncs through your account). The default is now 20% (it was too loud sitting under the game scene).
0.20.1 — 2026-07-08
- Audio settings now shows whether you’re broadcasting. A clear “Broadcasting / Not broadcasting” status sits at the top of the panel, and the Talk button is enabled only while you’re actually live — with a hint to go live from the dashboard first — so the mic controls and meters always make sense instead of looking active when nothing is on air.
0.20.0 — 2026-07-08
- Talk button — go on air with your mic, live. The Audio settings panel now has a big Talk button. Press it to put your microphone on air over the agent broadcast; press it again to go off air. No stream restart — it toggles instantly, and the button turns red ("ON AIR") while you're live so you always know if you're being heard.
- Music starts at a sensible level, and your overlay controls it. Background music on agent broadcasts now defaults to 50% instead of full blast, and the music-player overlay's volume slider actually changes the level on the stream.
- Your mic works on macOS, and it asks for permission up front. The app now correctly requests microphone permission — and it asks the first time you open Audio settings (macOS only lets an app ask when it opens the mic), so the permission is dealt with well before you go live, instead of a pop-up interrupting you the moment you press Talk mid-stream. Previously the host mic couldn't be captured at all on a notarized build.
- Smoother agent video and audio. Fixed the stutter/lag some machines saw (audio dropping in and out, video freezing) by capping the broadcast to 720p and using a faster encode — the picture and sound now hold together on a laptop.
0.18.0 — 2026-07-08
- Agent broadcast now tells you why it stopped. If "Go Live with the agent" couldn't actually reach your channel, it used to just keep saying "live" while nothing streamed. It now logs the real reason (for example the channel already has another publisher — if OBS is streaming to the same channel, the two fight over it), so problems are diagnosable instead of silent. Tip: the agent broadcast and OBS can't both publish to the same channel — use one or the other.
- Music can't block the broadcast. If the background music keeps stopping the push (a bad track URL, say), the agent now drops the music and keeps streaming the video rather than failing over and over.
- The agent won't update while you're live. Installing an update restarts the agent, which would cut a live broadcast or camera. Updates are now deferred while you're streaming — stop the stream, then install.
- Fix: "Audio settings" opens on the first click (it could previously fail the first time with "could not start" because the panel's local server hadn't finished starting).
0.17.0 — 2026-07-08
- Audio mixer polish. The Audio settings panel now shows a Broadcast output meter
(your final mix level while you're live), on top of the mic-input meter. Under the hood
the mix gained a noise gate on the mic (so room hiss no longer keeps the music
ducked when you're not talking) and a limiter (so a loud moment across mic + music
- host voice can't clip), and the music-duck and mic-level sliders now take effect (they were previously display-only).
0.16.0 — 2026-07-08
- Audio settings, right inside the app. The new audio mixer (below) now opens as its own standalone window — no browser tabs or address bar, just the panel — so it feels like part of the agent rather than a web page. And there are quick Host voice: on/off and Microphone controls right in the agent's menu, so the everyday toggles never need the full panel at all.
0.15.0 — 2026-07-08
- Talk over your stream — new Audio settings mixer. When you Go Live with the agent (the no-OBS game stream), open Audio settings and pick a microphone to talk over the broadcast — with a live, OBS-style level meter so you can see yourself coming through, and a Test button to check your speakers and voice. A music-duck slider drops the background music automatically whenever you talk and brings it back up the moment you stop, and you can switch on an automated host voice that calls out winners and gifts over the music. Everything is mixed on your own machine, so nothing re-encodes in the cloud — the same copy-only approach as the rest of your stream.
0.13.0 — 2026-07-08
- Go Live with the agent — stream your games with no OBS. Start it from Engage → Games ("Go Live with the agent") and the agent renders the whole game overlay scene on your machine and streams it straight to your channel — Twitch/Kick/TikTok all get it, and you never open OBS. Reuses the same headless-render engine as the printer camera overlay; the encode runs on your PC so nothing re-encodes in the cloud. Restarts itself on a drop. It streams with royalty-free background music from the library so it isn't silent. (On-stream host voice + SFX for this mode comes next.)
0.12.0 — 2026-07-08
- Background music on the printer camera stream. The printer camera is silent video — turn on "Background music from the library" in the 3D-printer auto-stream settings and the agent now mixes royalty-free library tracks into the stream locally (a looping, shuffled playlist), so an idle-but-printing camera feed isn't dead silent. The mixing happens on your machine, so nothing re-encodes in the cloud. Off by default; a genre can be picked. No music, or music off → a silent track exactly as before.
0.11.7 — 2026-07-07
- The graphical camera overlay now loads in the installed app (verified). The headless-browser engine is now compiled directly into the app instead of being loaded at runtime — the runtime approach couldn't find it inside the packaged binary, so the overlay silently never started. This build is confirmed to load the engine on a real packaged binary, so the printer HUD renders onto the camera on a normal install.
0.11.6 — 2026-07-07
- Actually bundle the overlay's headless-browser engine into the app. 0.11.5 wasn't enough: the browser-automation library wasn't shipped inside the packaged app at all (the packager silently skipped it), so the graphical camera overlay could never load on a normal install. The build now bundles that library and its dependencies into the binary, so the printer HUD renders onto the camera in the installed app — not just when running from source.
0.11.5 — 2026-07-07
- Fix: the graphical camera overlay now works in the INSTALLED app, not just from source. In the packaged app, the component that renders the overlay (a headless browser) couldn't be loaded, so the camera quietly streamed without the overlay. The agent now loads it correctly, so the printer HUD actually burns onto the camera on a normal install. (Also hardens the one-time Chromium download the same way, for machines without a system browser.)
0.11.4 — 2026-07-07
- The graphical overlay now actually burns onto the printer camera. Two fixes: (1) the agent now receives the overlay you pick in the dashboard — previously the setting never reached the camera, so it silently fell back to the basic text caption; and (2) the graphical overlay no longer stalls the camera stream. The camera's video and the overlay start at different points on the clock, and a status HUD only redraws every few seconds — a combination that used to freeze the composited stream with no output. The agent now lines the two up and keeps the overlay ticking over even when the HUD is idle, so the camera streams smoothly with the overlay drawn on top. If the overlay ever can't be produced, the camera still streams without it (never a frozen or dead stream).
0.11.3 — 2026-07-07
- The printer camera always streams now, even when the overlay can't be drawn. When you pick a graphical overlay for the camera, the agent draws it on with a small built-in browser. If that browser can't start, or your overlay is mostly static (so it sends very few frames), the camera used to stall or fail to go live at all. Now the camera streams no matter what — it simply streams without the overlay if the overlay can't be produced, rather than failing. And when the overlay is available it's drawn on as before. Under the hood: the agent waits to confirm the overlay is actually rendering before it commits the camera to it, and the camera (not the overlay) now drives the video, so a slow or idle overlay can never freeze the stream.
0.11.2 — 2026-07-07
- The printer camera works again on agents paired a while ago — no re-pairing needed. Agents set up before we added signing to LAN camera/ingest sources were missing the server's verification key, so the printer camera's push address could never be trusted and the camera would fail to stream (falling back to a broken mode on some machines). The agent now securely picks up that key automatically on its next check-in with your workspace and re-enables the camera on its own. For safety it only ever adopts the key once and never silently swaps it afterwards; if the server's key is ever legitimately changed, just re-pair the agent from the dashboard.
0.11.1 — 2026-07-07
- The printer camera no longer retries in a tight loop that could lock out your camera. If the camera bridge couldn't stay up (for example a broken local output on some machines), it used to reconnect every couple of seconds, opening a brand new camera session on the printer each time. On a Creality K2 — which only has a couple of camera slots — that could exhaust them and lock the camera out for everything, including the Creality app, until the printer was rebooted. The agent now backs off properly and, after a run of quick failures, stops retrying and reports the camera as unavailable instead of hammering it (with a single automatic recovery attempt later).
- The stream now stops cleanly when the camera drops. If the camera stops sending video (it's turned off, unplugged, or goes silent), the agent tears the outgoing stream down straight away instead of pushing a frozen picture, then reconnects on a sensible backoff once the camera is back. Every camera session is now fully released between attempts, so the printer's camera slot is never left dangling.
0.11.0 — 2026-07-07
- The agent now bundles FFmpeg — no separate install needed. Previously you had to
install FFmpeg yourself for the printer camera / LAN ingest to work. Now, the first
time a camera is used, the agent downloads a pinned, checksum-verified static FFmpeg
build for your platform (macOS, Windows or Linux) once and caches it, exactly like it
already does for the overlay browser engine. If FFmpeg is already installed on your
machine it's still used; if the one-off download can't complete, the camera falls back
to a system FFmpeg — it never crashes. You can always override with the
AGENT_FFMPEG_PATHenvironment variable. - License attribution. New
stream-repeater-agent licensescommand prints the bundled third-party license notices (FFmpeg GPLv3 + source offer, Chromium, Node.js and the npm dependencies). SeeTHIRD-PARTY-LICENSES.md.
0.10.1 — 2026-07-07
- Camera now finds ffmpeg reliably. On macOS the agent runs as a background
service with a minimal search path that doesn't include Homebrew, so it could fail
to start the printer camera with a "spawn ffmpeg ENOENT" error even though ffmpeg was
installed. The agent now looks for ffmpeg in the standard install locations
(Homebrew,
/usr/local/bin,/usr/bin, MacPorts, snap) automatically — no manual setup. You can still override it with theAGENT_FFMPEG_PATHenvironment variable.
0.10.0 — 2026-07-07
- Your overlay, burned straight onto the printer camera. Pick any overlay you've designed on the Overlays page and the agent now composites it directly onto your 3D-printer camera stream — live print stats, your branding, whatever you built — so it shows on the hands-free stream without needing OBS. The overlay is rendered and burned in locally on your machine before streaming; nothing extra runs in the cloud. (The first time, the agent does a one-off download of a browser engine to render your overlay; if it can't set that up, the camera still streams — just without the overlay — and the log says why.)
0.9.16 — 2026-07-07
- The 3D-printer camera streams hands-free. Fixed the last hurdle that stopped the Creality K2 camera from reaching the cloud — the agent now pushes the camera stream directly, so starting a print puts the camera live with no OBS and no manual steps.
- Richer live print stats. The printer feed now also reports current layer / Z-height, print speed %, part-cooling fan %, and chamber temperature (Moonraker + Creality), so your overlays and dashboards can show them.
0.9.15 — 2026-07-06
- Clicking the app now always opens its window (macOS). Previously, if the agent was already running in the background, clicking it in Applications did nothing — macOS reuses a running background app instead of relaunching it, and the app couldn't catch that. The agent now runs its background work as a proper macOS service, and clicking the app reliably brings up the control panel whether it's already running or not.
0.9.14 — 2026-07-06
- Clears a leftover false “update available”. If an older build had staged a bogus update to its own version (the 0.9.13 bug), that stale marker could keep prompting even after upgrading. The agent now discards any staged update that isn’t actually newer than what’s running, so the prompt goes away on its own.
0.9.13 — 2026-07-06
- Fixed a false “update available” prompt. The agent could keep offering to “install”
the version it was already running (and the new
upgradecommand would reinstall the same build). The update check was reading its own version from a file that isn’t present in the packaged app, so it thought every check was newer. It now uses the build-stamped version, and never prompts when its own version is unknown.
0.9.12 — 2026-07-06
- Upgrade from the terminal. New
stream-repeater-agent upgradecommand — it checks for a newer agent, downloads and verifies it (sha256-pinned, same as the automatic updater), stops the running instance, installs the new build and relaunches. Handy when you want to force an update now rather than wait for the automatic check. - Reminder — opening the app on macOS shows a control window (pair, dashboard, logs, open-at-login, update, quit). This has been the behaviour since 0.9.8; if double-clicking the app did nothing for you, you were on an older build that predates it — upgrading fixes it.
0.9.11 — 2026-07-05
- 3D printer camera now actually streams (Creality K2). We cracked why the K2's
camera connected but showed no video: its firmware reads the connection offer
case-sensitively and only accepts the codec spelled
H264(the library we use wrote it lowercase), and it expects two video formats offered like a browser does. The agent now offers exactly that — verified live against a K2, with real 1280×720 video flowing. Camera feeds that previously sat on "connecting" forever should now come to life.
0.9.10 — 2026-07-05
- 3D printer camera — honest status + faster picture. The camera status now reflects real video: it only shows Live once actual frames are flowing, instead of the moment a connection is attempted. If the printer's camera accepts the connection but never sends video, you'll now correctly see it as still connecting rather than a misleading "Live". The agent also asks the camera for a keyframe as soon as it connects, so the first frame appears sooner.
0.9.8 — 2026-07-05
- A cleaner macOS app. On macOS the agent no longer relies on a menu-bar icon (on some Macs it could quietly disappear, leaving no way into the app). Instead, click the app to open a control window with everything in one place — pair, open your dashboard, view logs, install updates, open-at-login and quit. Close it and the agent keeps running quietly in the background and at login; click the app again any time to bring the window back. (Windows & Linux keep their menu-bar icon, which works well there.)
0.9.7 — 2026-07-05
- Now Playing — now on Windows & Linux. The Now Playing (Spotify) overlay — your
current track's album art, title, artist and a live progress bar — now works on Windows
(via the system media session) and Linux (via
playerctl), not just macOS. Add the Now Playing widget to an overlay, or grab the ready-made browser-source URL from Integrations → Now Playing and paste it straight into OBS.
0.9.6 — 2026-07-05
- Failed updates get reported. If an update ever has to roll back (see 0.9.5), the agent now tells your dashboard — so a bad release shows up as a warning on your agent card and you'll know it happened without checking the machine.
0.9.5 — 2026-07-05
- Safer self-updates. An update now keeps the previous version as a backup and checks that the new one actually starts. If it doesn't, the agent automatically rolls back to the last working version and relaunches it — so a bad update can never leave you with a dead agent. (The existing checksum verification, which rejects a corrupt download before it's ever installed, is unchanged.)
0.9.4 — 2026-07-05
- Print status on the camera. A new optional toggle on the 3D Printer card burns the live status — progress, current layer and ETA — right onto the printer-camera picture. It's composited and encoded on your own machine, so it shows up in any streaming setup with no extra work. Off by default; the plain camera is unchanged.
0.9.3 — 2026-07-05
- Creality K2 camera: staged handshake. Some K2 firmwares reject the standard
WebRTC
recvonlyoffer ("negotiate codecs failed"). The agent now falls back to asendrecvoffer (the method proven to work in the browser reference client), so the camera negotiates a common H264 codec and streams. Standard Klipper/Moonraker webcams are unaffected — they're still tried first.
0.9.2 — 2026-07-05
- Fixed the reported version. The packaged agent was sending an empty version to the dashboard, so it always showed as "out of date" (even when current) and gated the 3D-printer status/camera. It now reports its real version.
0.9.1 — 2026-07-04
- Update from the dashboard. You can now click Update to vX on your agent card in the web dashboard and the agent will download, verify and install the latest version and reconnect on its own — no need to touch the machine it runs on. (This one's the first version that can be updated remotely; older agents still need a one-time manual update.)
0.9.0 — 2026-07-04
- 3D printer camera. If your printer has a camera, the agent now brings it onto your stream — a standard Klipper/Moonraker webcam or a Creality (K2-style) camera, auto-detected, with no setup beyond flipping Enable camera on the printer card. Like the printer status, it's strictly read-only: the agent only ever watches the camera, it never sends the printer any commands.
0.8.0 — 2026-07-04
- 3D printer status. Connect a Klipper/Moonraker or Creality printer on your LAN and the agent reads its live status — progress, nozzle & bed temps, ETA, current layer and the file being printed — and sends it to your dashboard, the new 3D Print overlay widget, and your automation rules (print started / progress / paused / resumed / complete / error). It's strictly read-only: the agent only ever reads the printer, it never sends it any commands. Auto-detects Moonraker (:7125) or Creality (:9999); Moonraker API-key auth is supported for locked-down printers.
0.7.2 — 2026-06-30
- Clean uninstall. There's now an Uninstall… option (in the menu, in the
control window, or
stream-repeater-agent uninstallfrom the command line). It removes the agent completely — the app, start-at-login and your saved settings — and tidies up after itself. Gone means gone.
0.7.1 — 2026-06-30
- Clearer network & printer actions. The old catch-all "Network / Printer" is now three obvious choices: cURL (HTTP/HTTPS), Raw TCP, and Printer. Receipt printers get cut-paper, cash-drawer and beep toggles, and there's a plain-text mode for everyday network printers. Your thermal printer has never felt so seen.
0.7.0 — 2026-06-30
- A proper window. Open the app and you get a real control panel — pair your device, open the dashboard, view logs, check for updates — with your live connection status front and centre. It still lives quietly in the menu bar / system tray, so close the window and it keeps working in the background.
- Open the app when it's already running and it just brings the window back, instead of nagging you about it.
- Tell it to start with your computer and it does so quietly — no surprise windows every time you log in.
0.6.0 — 2026-06-29
- Out of the way. The app now lives in the menu bar (Mac) or the system tray (Windows / Linux) — no Dock clutter, no stray taskbar window.
- Starts with your computer, so your automations are ready when you are. There's a toggle if you'd rather it didn't.
- First-run setup wizard. Not paired yet? The app walks you through it — over to your dashboard for a code, then straight back to paste it in.
- Honest status. The menu shows what's actually happening (Connecting… / Connected / Reconnecting…) rather than a permanent thumbs-up.
- Windows: no more terminal window popping up — it's tray-only now.
- TikTok LIVE forwarding is steadier, with friendlier error messages and sensible reconnect timing.
0.5.0 — 2026-06-29
- New menu-bar / system-tray app, replacing the old browser-window version (which had a habit of flashing up and vanishing — rude). It forwards your events quietly in the background.
- Drag-free install on Mac — it offers to move itself into Applications for you.
- Signed and notarised on macOS, signed on Linux, so your computer trusts it.
0.4.1
- Set everything up from the web. Devices, event sources and your TikTok creator are all configured in the dashboard — no fiddling with the agent itself.
- Local smart devices: pair and test Nanoleaf, WLED, Home Assistant and Philips Hue on your own network.
- Game events: CS2 / Dota and League of Legends moments flow straight into your automation rules.
Give your PC a seat at the table.
Free to run alongside any workspace — including the Free tier. Download it, pair it once, and let it work in the background.