If you find QuickProtect useful, consider donating:
A lightweight tray/menu-bar app for viewing live camera feeds from a UniFi Protect controller — no browser or UniFi Protect app needed.
Get QuickProtect
- macOS — Mac App Store (signed, sandboxed, auto-updating) or the free unsigned DMG on GitHub Releases
- Windows — Microsoft Store (signed, auto-updating) or the free unsigned installer on GitHub Releases
- Linux — free self-contained x64 tarball on GitHub Releases (AUR package
quickprotect-bincoming)
- Live camera grid — every camera on your controller in a resizable panel, streamed over RTSP/RTSPS (H.264 and H.265)
- Focus view — click a camera for a single-feed view with fullscreen, fit/fill, mute, and snapshots
- PTZ control — pan, tilt, and zoom PTZ cameras with the keyboard or on-screen controls
- Pinned windows — float individual cameras in always-on-top windows
- Layout profiles — per-profile camera visibility, size, and order (per-display on macOS)
- Global hotkey — open the camera panel from anywhere
- Secondary-lens picture-in-picture — e.g. the package camera on doorbells
- Self-signed TLS support — trust-on-first-use certificate pinning, no system-wide trust changes; credentials live in the OS keychain/secure store
- Multilingual — English, German, French, Spanish, Dutch, Italian, and Brazilian Portuguese
- Quality of life — first-run onboarding, launch at login, notify-only update checks, light/dark theming and accent colors
The two implementations track each other feature-for-feature; the remaining platform differences are listed in docs/PARITY.md.
This repo hosts two independent implementations that share behavior, not code:
| Folder | What it is |
|---|---|
macos/ |
The original macOS menu-bar app — Swift/SwiftUI/AppKit with a custom RTSP/RTP client. Ships on the App Store and as an unsigned DMG on GitHub Releases. |
dotnet/ |
The Windows & Linux port — one .NET 8 + Avalonia codebase for both platforms, with a custom FFmpeg video engine. Ships on the Microsoft Store, as an unsigned installer on GitHub Releases, and (since 1.3.1) as a Linux x64 tarball on the same releases. |
docs/ |
Cross-platform docs: feature parity between the two implementations, privacy policy, App Store listings, screenshots. |
scripts/ |
Per-platform build & run entry points (see below). |
Each implementation has its own README with features, setup, and architecture details: macOS · Windows/Linux.
Each platform has a build script (compile only) and a run script (compile, replace any running instance, launch):
# macOS (requires Xcode + XcodeGen)
scripts/macos/build.sh
scripts/macos/run.sh
# Linux (requires .NET 8 SDK; FFmpeg natives via dotnet/scripts/get-ffmpeg.sh)
scripts/linux/build.sh
scripts/linux/run.sh# Windows (requires .NET 8 SDK)
scripts\windows\build.ps1
scripts\windows\run.ps1Released under the MIT License — Copyright (c) 2026 Christian Bartels.

