Terminal one-liner
Always worksNo Gatekeeper drama. Open Terminal (⌘-Space → "Terminal"), paste, hit return.
curl -sSL https://boopster.iffun.ru/install.sh | bash
Install · v0.0.2
Boopster is a side-loaded UXP plugin for Premiere Pro 26.2+. There's no Marketplace build yet — we're in the dev-loading phase. The installer below handles every yak-shave.
The easy path
All three end up identical — they run the same install.sh, show the same dialogs, install the same engine. The difference is which macOS warning you click through first.
No Gatekeeper drama. Open Terminal (⌘-Space → "Terminal"), paste, hit return.
curl -sSL https://boopster.iffun.ru/install.sh | bash
Download a tiny shell-script file. Finder shows "this file was downloaded from the internet, sure?" — click Open. Terminal flashes, then dialogs take over.
Boopster Installer.commandLooks like any other Mac app, but unsigned. macOS 14+ shows "can't be opened because Apple cannot check it" on first launch. Fix: open System Settings → Privacy & Security, scroll to the bottom, click Open Anyway. After that it launches normally.
Boopster-Installer.dmgAll three do the same thing: check Python ≥ 3.10 / ffmpeg / chromaprint / Node 20+ · brew install anything missing · clone the engine · pip install -e core · build the panel JS bundle · write ~/.boopster/config.json · open Finder on the manifest file so you drag it into UDT.
Gatekeeper will go away once we pay Apple $99 for the Developer Program (planned). Until then: Path 01 is the smoothest experience.
Step 01 — Prerequisites
| Adobe Premiere Pro | 26.2 or newer (April 2026+). UXP panels don't exist in older versions. |
|---|---|
| macOS | 12 Monterey or newer · Apple Silicon recommended, Intel fine |
| Python | 3.10 – 3.13 · macOS ships ancient Python, use brew install python@3.13 |
| Node.js | 20+ · only used to build the panel JS bundle |
| ffmpeg + chromaprint | brew install ffmpeg chromaprint · the engine fingerprints audio with these |
| UXP Developer Tool | Creative Cloud → Apps → search "UXP Developer Tool" (free) |
| Adobe ID | Any free account · UDT requires sign-in |
The installer auto-installs the brew-able ones if you ask it to.
Step 02 — Run the installer
curl -sSL https://boopster.iffun.ru/install.sh | bash
Native macOS dialogs walk you through. About 3-5 min on decent Wi-Fi.
git clone https://github.com/iffun/boopster.git \
~/Documents/Develop/Boopster
cd ~/Documents/Develop/Boopster
python3 -m venv .venv && source .venv/bin/activate
pip install -e core[dev]
brew install ffmpeg chromaprint
boopster doctor # should be all ✓
cd adapters/premiere-uxp
npm install && npm run build
Same end state, you just see every step.
Pro tip: boopster doctor dumps a full diagnostic (deps, paths, config). Paste its output into any GitHub issue and we can debug from there.
Step 03 — Side-load into Premiere
~/.boopster/app/adapters/premiere-uxp/manifest.jsonHow it actually works
UXP plugins can't spawn subprocesses (Adobe security policy). So the Python engine runs as a tiny always-on daemon, and the Premiere panel talks to it over http://127.0.0.1:7878.
┌────────────────────┐ POST /sync-stream ┌──────────────────────┐
│ Premiere UXP │ ──────────────────────▶ │ boopster serve │
│ panel (TypeScript)│ localhost:7878 │ (FastAPI daemon) │
└────────────────────┘ ◀────────────────────── │ Python engine inside│
SSE progress + IR JSON └──────────────────────┘
The installer registers a LaunchAgent so the daemon auto-starts on every login. Check status with boopster doctor. Restart manually with launchctl unload/load ~/Library/LaunchAgents/ru.iffun.boopster.engine.plist.
Don't have Premiere?
If you'd rather get a synced FCPXML and import it into whatever NLE you use:
boopster build /path/to/folder -o synced.fcpxml
FCPXML 1.13 — opens in Premiere, DaVinci Resolve, Final Cut Pro via File → Import. Multi-cam sequence, drift correction baked in.
Step 04 — First sync
Panel works in two modes — pick whichever fits your workflow:
Status bar streams real-time progress (fingerprint 3/5 · match 7/10) via Server-Sent Events from the daemon. First run is 3-5 s per clip; subsequent runs on the same files skip already-fingerprinted data.
Step 05 — When it doesn't work
Premiere must be already running before you click Load. In UDT Settings, confirm Premiere appears under "Connected applications". If not — restart UDT after Premiere is open.
The plugin couldn't reach the daemon at http://127.0.0.1:7878. Run boopster doctor to see what's wrong. Two common causes:
boopster install-agent, OR run boopster serve in a Terminal window and leave it open.~/Documents/ → TCC blocks LaunchAgent. macOS prevents background processes from reading Documents/ without Full Disk Access. Either move to ~/.boopster/app/ (clean install location), or run the daemon manually in Terminal.First run shows a Premiere permission dialog. If you clicked Deny: Premiere → Preferences → Permissions → Boopster → Allow launchProcess + localFileSystem.
The audio across cameras has to overlap and be loud enough for chromaprint to find common features. Lower the matcher threshold in the panel's Advanced drawer (try 0.55 instead of the default 0.70).
GH010001.MP4 + GH020001.MP4)Boopster auto-detects camera chunks and treats them as one logical clip. Don't pre-merge them — durations get summed, fingerprint only runs on the first chunk.
Still broken? Run boopster doctor, copy the output, email hi@iffun.ru. We read every one.
Lifecycle
cd ~/Documents/Develop/Boopster
git pull
source .venv/bin/activate
pip install -e core --upgrade-strategy eager
cd adapters/premiere-uxp && npm run build
In UDT click Reload on the Boopster row. No Premiere restart needed.
rm -rf ~/.boopster ~/Documents/Develop/BoopsterThat's it. No system services, no registry keys, no LaunchDaemons. Boopster never installs anything outside the folders above.