explaingit

iawia002/lux

Analysis updated 2026-06-20

31,321GoAudience · developerComplexity · 2/5Setup · easy

TLDR

A command-line tool written in Go that downloads videos from dozens of streaming websites, including Bilibili, YouTube, and others, by pasting a URL, with support for quality selection, playlist downloads, and resuming interrupted downloads.

Mindmap

mindmap
  root((lux))
    What it does
      Downloads videos by URL
      Quality selection
      Playlist download
      Resume interrupted
    Supported sites
      Bilibili
      Chinese platforms
      Mainstream sites
    Tech stack
      Go single binary
      FFmpeg for merging
    Install options
      Homebrew macOS
      Scoop Windows
      Prebuilt release
    Advanced features
      Proxy support
      Cookie auth
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Download a video from Bilibili, YouTube, or another supported streaming site to watch offline without a browser

USE CASE 2

Batch-download an entire video playlist with one command for archiving or offline viewing

USE CASE 3

Choose a specific video quality like 1080p or 720p by listing available formats first and then selecting one

USE CASE 4

Configure a proxy or provide login cookies to download content from sites that require authentication

What is it built with?

GoFFmpeg

How does it compare?

iawia002/luxtailscale/tailscalequantumnous/new-api
Stars31,32131,26531,063
LanguageGoGoGo
Setup difficultyeasymoderatemoderate
Complexity2/53/54/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

FFmpeg must be installed separately to merge audio and video streams for sites that serve them as separate files.

In plain English

Lux is a command-line video downloader written in Go that lets you save videos from many popular websites by simply passing a URL. The problem it solves is straightforward: video streaming sites do not provide a built-in download button, so if you want to save a video for offline viewing or archival, you need a tool that can extract the actual video stream from the page and download it to your disk. You run Lux from a terminal, give it a URL, and it fetches the video in the best available quality, showing you a progress bar as it downloads. You can also list all available quality options first (like 1080p, 720p, 480p) and then choose a specific one. It supports downloading entire playlists with a single command and can handle multiple URLs at once. If a download is interrupted, it can resume from where it left off. Under the hood, Lux parses the web page or video platform's API to extract the direct media stream URLs, then downloads the file segments. For videos that come in separate audio and video streams (common on platforms like YouTube), it uses FFmpeg, a separate, widely-used media processing tool, to merge them into a single final file. The tool supports a wide range of sites, with notable coverage of Chinese video platforms like Bilibili, iQIYI, and QQ Video, as well as more mainstream sites. It also supports proxy configuration and cookie-based authentication for accessing content that requires login. You would use Lux whenever you need a fast, no-frills command-line tool for video downloading on Windows, macOS, or Linux. It is written in Go and distributed as a single binary, installable via Homebrew, Scoop, or by downloading a prebuilt release.

Copy-paste prompts

Prompt 1
Using lux, write a shell script that downloads all videos from a Bilibili playlist in the best available quality and saves them to a folder named after the playlist
Prompt 2
Show me how to configure lux with a proxy URL and a cookie file exported from my browser to download login-required content from a supported site
Prompt 3
Compare lux and yt-dlp for downloading from Chinese video platforms, where does each tool have better site coverage and how do the command-line flags differ
Prompt 4
Help me write a Go program that calls lux's internal parser to extract the direct video stream URLs from a list of URLs without downloading the files

Frequently asked questions

What is lux?

A command-line tool written in Go that downloads videos from dozens of streaming websites, including Bilibili, YouTube, and others, by pasting a URL, with support for quality selection, playlist downloads, and resuming interrupted downloads.

What language is lux written in?

Mainly Go. The stack also includes Go, FFmpeg.

How hard is lux to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is lux for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub iawia002 on gitmyhub

Verify against the repo before relying on details.