Now native on macOS and Linux

Capture the stream.
Keep the file.

Liryn watches your browser for HLS, DASH and direct downloads, then pulls them down with a native multipart engine. No telemetry, no subscription, no Electron.

Free·No telemetry·Signed & notarized· macOS 14.6+
SwiftUI · macOS 14.6+
Liryn
New Download Paste Link
Downloads
2 active · 1 completed
AllActiveDone
NameSizeProgressStatus
HLS Keynote_2026_master.m3u8 cdn.events.example
3.9 GB 18.4 MB/s · ETA Downloading
ISO Ubuntu-24.04.3-desktop-amd64.iso releases.ubuntu.com
5.8 GB 41.2 MB/s · ETA Downloading
MP4 Interview_raw_1080p.mp4 studio.example
842 MB 842 MB · Completed Done
DASH Lecture_07_dash.mpd media.university.edu
1.2 GB Queued · Main Queued
2 downloading · 1 queued · 59.6 MB/s total
Native Swift on both platformsSandboxed & notarized on macOSSigned apt repository for LinuxZero analyticsFree, forever
How it works

Browser sees it.
Liryn takes it from there.

A lightweight extension classifies media requests as they happen — manifest or file — and hands the URL to the native engine. You get a dialog, a queue and a finished file.

1 · Page plays a stream

The extension watches XHR/fetch for .m3u8, .mpd and direct files. DRM and blocked hosts are skipped.

2 · Capture dialog

Pick quality from the manifest's renditions, choose a queue and destination. Or let it auto-start.

3 · Multipart engine

Parallel range requests for files; segment fetch, decrypt and mux for streams. Pause, resume, retry — even after a restart.

A file splitting into six parallel ember streams that merge back into one completed file

Multipart engine

RANGE · 16 PARTS

Parallel range requests saturate your link on every direct file. Parts resume independently, even after a restart.

A filmstrip breaking into tiles, some unlocked, reassembling into a video player

HLS & DASH capture

LIVE · VOD · AES-128

Pick any rendition from the manifest. Segments are fetched, decrypted and muxed into a clean MP4 — live streams included.

A crescent moon over three download lanes, one paused by a clock

Queues & scheduler

MAIN · VIDEO · OVERNIGHT

Per-queue concurrency and time windows. Let the big stuff run 01:00–07:00 while you sleep.

A path forking toward a browser window and a download tray, with a shield signpost

Policy engine

BYPASS · BLOCK · MANAGED

Hand certain hosts back to the browser, block others, or let your organization push a read-only policy.

A sealed envelope on a laptop, an outgoing arrow stopped by a small wall

Private by construction

0 TELEMETRY

No analytics, no account, no server. Sandboxed on macOS, unprivileged per-user service on Linux.

Two overlapping desktop windows, macOS and GTK, sharing one ember core

Native, twice

SWIFTUI · GTK4

One Swift transfer core, two real desktop shells. Paper and Slate themes on both — it belongs on your desk.

Platforms

One engine. Two desktops.

The same Swift transfer core runs on macOS and Linux. Same queue, same scheduler, same policies — different chrome.

macOS Stable
SwiftUI + AppKit.
Safari extension built in.

Sandboxed, notarized, direct download with Sparkle updates. Chrome, Edge and Brave connect through a signed connector package.

Liryn.dmg · v1.3.13 · 5.5 MB macOS 14.6+ · Apple silicon & Intel
Download for Mac
Linux Early access
GTK4, Paper & Slate.
Full feature parity.

A per-user capture service, native messaging for Chrome, Brave and Edge, FFmpeg-backed stream assembly. Firefox is on the way.

apt repository · signed · auto-updates Ubuntu 24.04 / Mint 22 · x86_64
Install for Linux
Browsers

Capture from the browser you already use.

Extensions are built around transport formats, not websites — so they keep working when sites change.

Extensions & connector →
Safari macOS Built in
Chrome macOS · Linux Connector
Brave macOS · Linux Connector
Edge macOS · Linux Connector
Firefox Linux Coming soon

Stop babysitting downloads.

Free. Native. Yours. Pick your platform and you're two clicks from the first capture.