explaingit

xifangczy/cat-catch

📈 Trending19,690JavaScriptAudience · vibe coderComplexity · 2/5ActiveLicenseSetup · easy

TLDR

Browser extension that shows you all the videos, audio, and streaming files your browser is loading so you can download them directly.

Mindmap

mindmap
  root((cat-catch))
    What it does
      Intercepts media files
      Shows streaming resources
      Enables direct download
    How it works
      Inspects network requests
      Parses M3U8 and MPD
      Local browser processing
    Supported formats
      HLS streaming
      DASH streaming
      Video and audio
    Installation
      Chrome Web Store
      Firefox Add-ons
      Edge Add-ons
    Tech stack
      JavaScript
      hls.js library
      StreamSaver.js

Things people build with this

USE CASE 1

Download a video from a streaming site you have permission to access for offline viewing.

USE CASE 2

Extract audio tracks from web pages that embed media files.

USE CASE 3

Save HLS or DASH streams locally without using third-party download services.

USE CASE 4

Inspect what media resources a webpage is loading in the background.

Tech stack

JavaScripthls.jsmux.jsStreamSaver.js

Getting it running

Difficulty · easy Time to first run · 5min
Use and modify freely for any purpose, but you must share any changes under the same GPL-3.0 license and include the original copyright notice.

In plain English

Cat-catch is a browser extension for Chrome, Edge, and Firefox that sniffs out and lists the media resources (videos, audio, M3U8 streaming files) loaded by the current web page. When you visit a streaming site or a page with embedded video, the browser silently downloads many pieces in the background, cat-catch intercepts those and shows them to you so you can download the content directly. Think of it as a way to surface what your browser is already loading, making it easy to save a video you own or are authorized to download. The extension is written in JavaScript and works by inspecting network requests made by the page. It includes a built-in M3U8 parser, M3U8 is the format used by HLS, the streaming technology behind most modern video platforms, along with support for MPD (DASH streaming format). It uses established open-source libraries including hls.js, mux.js, and StreamSaver.js to handle parsing and saving. All data is processed locally in the browser; nothing is sent to a remote server. Installation is available via the official Chrome Web Store, Microsoft Edge Add-ons store, and Firefox Add-ons store, or directly from the source code for development use. The project is licensed under GPL-3.0 and is primarily documented in Chinese, though English and Spanish READMEs are also provided. The authors note that the extension should only be used to download content the user owns or has permission to download.

Copy-paste prompts

Prompt 1
How do I install cat-catch on my browser and start downloading videos from streaming sites?
Prompt 2
Show me how to use cat-catch to extract and save an M3U8 playlist from a webpage.
Prompt 3
What are the differences between HLS and DASH streaming, and how does cat-catch handle both?
Prompt 4
I want to modify cat-catch to add support for a new video format, where should I start in the codebase?
Prompt 5
How does cat-catch intercept network requests without sending data to external servers?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.