Skip to content

Lux

A command-line tool and Go library for downloading videos from many websites.

Stars
31.8k
Forks
3.3k
Licence
MIT
Language
Go
Last update
7 months ago
Type
CLI

What it is

Lux is a video downloader you run from the terminal. You give it a web page address, and it finds the video streams on that page and saves them to your computer. It can also be used as a Go library by other programs. The README describes it as fast and simple, and it lists quality choices, playlist support, and resume after interruption.

  • Download a YouTube video at a chosen quality with lux -f followed by a stream ID
  • List all available qualities for a video with lux -i before downloading
  • Download a bilibili playlist or a range of episodes using -start, -end, or -items
  • Save a list of URLs from a file using the -F option
  • Resume an interrupted download by running the same command again

Great for

  • People who want to save videos from supported sites to a local file from the command line
  • Users who want to pick a specific video quality before downloading
  • Go developers who want to reuse video extraction logic in their own programs
  • People downloading playlists or batches of links from a text file

Not ideal for

  • People who prefer a graphical app, since the README describes only command-line usage
  • Anyone needing a site not on the supported list, since the README says unsupported URLs are only attempted as direct file downloads
  • Users who need merged audio and video output without installing FFmpeg, since the README lists FFmpeg as a required separate dependency for merging
Step-by-step guide: how to use LuxInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Go (for go install) · FFmpeg

    Install via go install

    go install github.com/iawia002/lux@latest

    Install on macOS with Homebrew

    brew install lux
  2. 2

    Run it

    • Install FFmpeg and Lux using one of the methods above
    • Run lux -i with a video URL to list available qualities
    • Run lux -f with the chosen stream ID and the same URL to download it
  3. 3

    Get the most out of it

    • Use -i to preview all streams and sizes before downloading
    • Use -items or -start and -end to limit which playlist entries are downloaded
    • Use -F to feed many URLs from a text file in one run
    • Use -c to provide cookies when a site requires login, as described in the README
    • Use -retry to change the number of automatic retries (default 100)

Downloads

Strengths

  • Simple command-line interface with clear quality listing
  • Supports resuming interrupted downloads and automatic retries
  • Available through several package managers and as a Go library

Trade-offs

  • Requires FFmpeg installed separately for final file merging
  • Some site support is noted as known issues in the README, such as certain Youku and Xigua/Toutiao videos
  • Site support depends on the project keeping up with changes on each website, which the README does not detail

How it compares

ProjectStarsTypeLevelUpdatedBest for
lux (this)31.8kCLIbeginner7 months agoPeople who want to save videos from supported sites to a local file from the command line
YoutubeDownloader16.6kAppbeginner4 days agoPeople who want to keep a local copy of YouTube videos or playlists
webrtc16.9kLibraryadvanced5 days agoGo developers who need to add WebRTC connections to a server or application
social-auto-upload16kCLIintermediate14 days agoContent creators posting the same video to several platforms
newspaper15.2kLibraryintermediate11 days agoPython developers building news aggregation or article collection scripts
owncast11.6kAppintermediate10 days agoStreamers who want control over their content, interface and moderation

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.