Sunburn Desktop Client with per-app audio capture
  • JavaScript 87.7%
  • Shell 12.3%
Find a file
2026-04-03 14:57:01 -04:00
build feat: add Sunburn icon, release script, auto-update flow 2026-04-01 21:51:08 -04:00
src refactor: split main.js into modules, enable system notifications 2026-04-03 14:37:34 -04:00
.gitignore feat: initial Sunburn desktop app with PipeWire audio capture 2026-03-31 21:29:28 -04:00
main.js refactor: split main.js into modules, enable system notifications 2026-04-03 14:37:34 -04:00
package-lock.json release: v1.3.0 2026-04-03 14:57:01 -04:00
package.json release: v1.3.0 2026-04-03 14:57:01 -04:00
preload.js feat: Windows per-app audio via application-loopback WASAPI 2026-04-01 21:47:07 -04:00
README.md docs: add README with install, usage, and development instructions 2026-04-01 21:59:15 -04:00
release.sh security: remove hardcoded Forgejo token from release script 2026-04-02 21:47:30 -04:00

Sunburn Desktop

Desktop client for Sunburn with per-app audio capture for screen sharing.

Features

  • Full voice/video/screen sharing (Chromium WebRTC)
  • Per-app audio capture — share audio from a specific application, not your entire system
    • Linux: PipeWire integration
    • Windows: WASAPI per-process capture
  • Custom screen share picker with audio source selection
  • Auto-updates — notifies you when a new version is available
  • Persistent login sessions

Install

Linux (AppImage)

Download the latest AppImage from Releases.

chmod +x Sunburn-*.AppImage
./Sunburn-*.AppImage

To add to your app launcher:

# Move to a permanent location
mkdir -p ~/.local/bin
mv Sunburn-*.AppImage ~/.local/bin/sunburn

Or install AppImageLauncher for automatic desktop integration:

# Arch Linux
yay -S appimagelauncher

Then double-click the AppImage and it will offer to integrate into your app menu.

Windows

Download Sunburn-Setup-*.exe from Releases and run the installer.

Note: Per-app audio capture requires Windows 10 Build 2004 (May 2020) or later.

Updates

The app checks for updates automatically every 30 minutes. When an update is available, a banner appears at the top of the app. Click "Restart to update" to apply it.

Development

npm install
npm start

Building

# Linux AppImage
npm run build:linux

# Windows installer (cross-compile via Wine)
npm run build:win

# Both
npm run build:all

Releasing

./release.sh 1.1.0

This builds both platforms, creates a Forgejo release, and uploads the artifacts. The auto-updater picks up new releases automatically.

Per-App Audio Capture

When screen sharing, the app shows a custom picker with two sections:

  1. Screens/Windows — select what to share visually
  2. Audio Sources — select which app's audio to include

How it works

  • Linux: Creates a PipeWire loopback that routes the selected app's audio output to a virtual capture source
  • Windows: Uses WASAPI application-loopback to capture audio from a specific process ID