You-Get: Download 4K Videos from 100+ Sites via Command Line

Bypass geo-restrictions and download videos from YouTube, Netflix, and more with proxy configuration.

I needed to download videos from various sites for content creation - YouTube for reference, some regional streaming platforms, a few social media sites. Most tools either didn't work or had quality limits.

Tried a bunch of options. Browser extensions were hit or miss. Online download sites were sketchy and slow. youtube-dl worked but required constant updates. yt-dlp is great but the CLI syntax got complicated for simple tasks.

Found you-get. It's a Python command-line tool that handles 100+ sites out of the box. The main advantage is simplicity - just pass the URL and it figures out the best quality available.

Supported sites

The --list flag shows everything. Main ones I've used:

Getting started

pip install you-get

Or on macOS: brew install you-get

You also need FFmpeg or aria2 for some sites:

# macOS
brew install ffmpeg aria2

# Ubuntu/Debian
sudo apt install ffmpeg aria2

Downloading your first video

Just pass the URL:

# YouTube - downloads best quality available
you-get "https://www.youtube.com/watch?v=xxxxx"

# Bilibili
you-get "https://www.bilibili.com/video/BVxxxxx"

# Instagram video
you-get "https://www.instagram.com/p/xxxxx/"

It automatically detects the best quality and downloads to the current directory.

Quality options

See what's available first:

you-get -i "https://www.youtube.com/watch?v=xxxxx"

# Output:
#    - format:        mp4
#      container:     mp4
#      quality:       1920x1080
#      size:          156.5 MiB
#      # download-with: you-get --format=mp4 [URL]
#
#    - format:        webm
#      container:     webm
#      quality:       3840x2160
#      size:          456.2 MiB
#      # download-with: you-get --format=webm [URL]

Then download specific format:

you-get --format=webm "https://www.youtube.com/watch?v=xxxxx"

Or force highest quality:

you-get "https://www.youtube.com/watch?v=xxxxx" --format=best

Bypassing geo-restrictions with proxies

This is the important part. Some content is region-locked or blocked in certain countries. You need to route through a proxy to access it.

You-get supports HTTP/HTTPS/SOCKS proxies:

HTTP Proxy

you-get -x 127.0.0.1:7890 "https://www.youtube.com/watch?v=xxxxx"

SOCKS5 Proxy (like Shadowsocks/V2Ray)

you-get -x 127.0.0.1:1080 "https://www.youtube.com/watch?v=xxxxx"

With authentication

you-get -x username:password@proxy-server.com:8080 "URL"

Set as environment variable (so you don't type it every time)

# Add to ~/.bashrc or ~/.zshrc
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=socks5://127.0.0.1:1080

# Then use normally
you-get "URL"

Real-world use cases

YouTube blocked in your region

# Route through a proxy in an allowed country
you-get -x proxy-server.com:8080 "https://www.youtube.com/watch?v=xxxxx"

Bilibili requiring mainland China IP

# Use a China-based proxy
you-get -x china-proxy.com:8080 "https://www.bilibili.com/video/BVxxxxx"

Netflix (experimental)

# Netflix uses DRM, so this doesn't always work
# But for some content:
you-get -x 127.0.0.1:7890 "https://www.netflix.com/watch/xxxxx"

# You might need additional tools for DRM-protected content

Slow download speeds

# Use aria2 for multi-threaded downloads
you-get --aria2 "URL"

# Or limit connections if getting throttled
you-get --aria2-args "-x 4 -s 4" "URL"

More command-line options

Download to specific directory:

you-get -o ~/Downloads/Videos "URL"

Keep original filename:

you-get -O original "URL"

Download playlist:

you-get "https://www.youtube.com/playlist?list=xxxxx"

Skip existing files (resume interrupted downloads):

you-get --skip-existing-files "URL"

Show info without downloading:

you-get -i "URL"

Problems I hit

"URL not supported" error

The site might not be supported or the URL format changed. Check if it's in the supported sites list with you-get --list.

"Address cannot be resolved" or connection timeout

Site is blocked in your region or DNS issues. First try with proxy:

# Test proxy connection first
curl -x 127.0.0.1:7890 "https://www.youtube.com"

# Then use with you-get
you-get -x 127.0.0.1:7890 "URL"

Download starts but crawls at 10KB/s

Site is throttling. Try different approaches:

# Use aria2 for multi-threading
you-get --aria2 "URL"

# Or try a different proxy server
you-get -x different-proxy.com:8080 "URL"

FFmpeg not found errors

Some sites require FFmpeg to merge video/audio streams:

# macOS
brew install ffmpeg

# Linux
sudo apt install ffmpeg

"HTTP Error 403: Forbidden"

Site is blocking automated downloads. Try:

# Add user agent header
you-get --http-header "User-Agent: Mozilla/5.0..." "URL"

# Or use cookies from your browser
# Export cookies first, then:
you-get --cookies ~/.config/you-get/cookies.txt "URL"

When you need cookies

Some content requires login. Export cookies from your browser:

# Use a browser extension to export cookies.txt
# Then:
you-get --cookies ~/cookies/website.txt "URL"

"Get cookies.txt LOCALLY" extension for Chrome/Edge works well for this.

Important notes

You-Get repo: github.com/soimort/you-get

For more advanced use cases, yt-dlp is a more actively maintained fork of youtube-dl.