Stasha

Browser extension · HLS · DASH · MP4

The video never leaves your machine.

Stasha finds the video playing in your tab and saves it to your disk. Detection, format conversion and saving all run inside your browser.

No account, no companion app, and no server to trust — because there is no server.

Where it runs

Where each step of a download runs A boundary marked “your device” contains all four steps of a download: detection, segment fetching and decryption, muxing with WebAssembly, and saving. A single line crosses the boundary inward, carrying the media you asked for. No line leaves. the media playing in your tab your device requested by you Stasha sees the stream in the page Segments fetched, decrypted if AES-128 libav.js (WebAssembly) muxes one file Your browser saves it to disk
One line crosses this boundary, and it points inward. There is no line out, because there is nothing on the other end: no account system, no telemetry, no infrastructure that could receive anything.

What it saves

  • HLS .m3u8

    Segmented streams, including the clear-key AES-128 encryption most streaming sites use for transport. Variant playlists let you pick a quality.

  • DASH .mpd

    Adaptive streams with separate video and audio representations, muxed back together into a single file.

  • Progressive

    Ordinary .mp4 and .webm files served directly, saved without re-encoding.

How a download actually runs

Four steps, all local

  1. Detect

    Stasha watches the requests the page is already making and recognises the manifests behind the player. Nothing is uploaded to identify a video.

  2. Fetch

    Segments are downloaded from the same server the player uses, with the same headers the page sent. Clear-key AES-128 is decrypted in the browser.

  3. Convert

    A bundled build of libav.js — the FFmpeg libraries compiled to WebAssembly — muxes the segments into one playable file. It ships inside the extension; no code is ever fetched at runtime.

  4. Save

    The finished file is handed to your browser's normal download mechanism, into your normal downloads folder.

What it refuses

By design, not by omission

A downloader is defined as much by what it will not do. These are enforced in the code, and tested, not stated as policy.

  • DRM-protected video

    Widevine, PlayReady, FairPlay and SAMPLE-AES are detected and refused — while parsing, in the interface, and again before any download starts. Stasha contains no DRM components and never attempts to break protection.

  • YouTube

    Not supported, and blocked outright in the builds distributed through the Chrome and Edge stores.

  • Your data

    No analytics, no telemetry, no error reporting, no version pings. Download history stays on your device and you can clear it at any time.

Install

Not yet published

Stasha is finished and in review preparation. Store listings will appear here as each one goes live.

  • Chrome Coming soon

    Also covers Brave, Vivaldi, Arc and other Chromium browsers.

  • Edge Coming soon
  • Firefox Coming soon

    A genuine port: the media engine runs in the background page.

  • Opera Coming soon