Skip to content
media · rust

Ephemeral media fetch & streamReel

A Rust/Axum service that fetches legal torrents behind a WireGuard VPN, holds the content as an ephemeral hot-cache reaped on idle, and progressively streams it to the browser as raw MP4 or live HLS.

reelApp
Rust + AxumStack
MP4 + HLSDelivery
activeStatus

What it gives you

Features

VPN-isolated fetch

librqbit embedded in the binary leeches and seeds legal torrents entirely behind a Gluetun/WireGuard sidecar with a killswitch — no traffic leaves the tunnel.

Ephemeral hot-cache

Content is a cache, not a library — a TTL reaper deletes entries after they go idle, freeing disk and stopping seeding through one unified delete path.

Progressive delivery

ffprobe picks the cheapest correct route per file — raw byte-range MP4 while still downloading, remux-HLS, or transcode-HLS — so anything plays in the browser.

Same-origin player

An astro-kbve hls.js island streams through the axum-kbve proxy at /api/v1/reel, staff-gated, with the service token injected server-side.

Overview

What reel does

Reel is an internal media service. It embeds librqbit to fetch legal torrents behind a WireGuard VPN, keeps the content as an ephemeral hot-cache (reaped after an idle TTL, not a permanent library), and progressively delivers it to the browser.

  • Fetch — librqbit leeches and seeds behind a Gluetun killswitch; a reaper deletes idle entries.
  • Transcode — ffprobe routes each file to remux (faststart MP4) or re-encode.
  • Stream — byte-range progressive MP4 while still downloading; HLS for containers/codecs the browser can’t play raw.
  • Player — an astro-kbve hls.js island at /media/reel/, proxied same-origin through axum-kbve at /api/v1/reel, staff-gated.