Features Install Usage Quality Troubleshoot GitHub ↗
🆓 Free & Open Source — MIT

Download anything from your terminal

No browser extensions. No ads. No limits. Paste any link — YouTube, TikTok, direct files, magnet links, torrents — and it just downloads. Works on Linux, macOS, Android, and Windows.

1000+Supported Sites
4KMax Resolution
4Platforms
10×Auto Retry
bash — camelDownloader
════════════════════════════════════════════
             camelDownloader 🐫
      General Purpose Downloader
════════════════════════════════════════════
 
🔗 Paste your link: https://youtu.be/dQw4w9WgXcQ
 
✅ Detected: 🎬 Media / YouTube
 
🔍 Fetching info...
────────────────────────────────────────
📹 Never Gonna Give You Up
👤 Rick Astley  ⏱️ 3:33  👁️ 1.5B views
────────────────────────────────────────
 
👉 Your choice (1-7): 3
✅ Quality: 1080p (Full HD)
 
⬇️  78.3% | 45.2MB/57.8MB | 3.2MiB/s | ETA: 4s
 
✅ DOWNLOAD COMPLETE!
📁 ~/Downloads/camelDownloader

Everything you need, nothing you don't

One command handles YouTube, TikTok, direct files, torrents, and 1000+ sites — auto-detected, no flags needed.

📺

All Resolutions

360p, 720p, 1080p, 1440p (2K), and 2160p (4K). Always picks the best available stream for the quality you choose.

🎵

MP3 Audio Extraction

Download audio-only as a 192kbps MP3. Perfect for music, podcasts, lectures, and anything you just need to hear.

🚀

No Quality Loss

Video and audio streams are merged without re-encoding. AV1 and VP9 codecs are preserved exactly as YouTube stores them.

🔄

10× Auto-Retry

Automatically retries failed fragments and connections up to 10 times. Unstable Wi-Fi or mobile data? No problem.

📊

Live Progress

Real-time display of download speed, percentage complete, bytes downloaded, and estimated time remaining.

🌐

Direct HTTP Downloads

Paste any direct file link (.zip, .mp4, .pdf, etc.) and it downloads immediately with a real-time progress bar.

🧲

Torrent & Magnet Links

Paste a magnet link or .torrent URL — camel connects to DHT, fetches metadata, and downloads the file.

📱

Android (Termux)

Full support for Android via Termux. Downloads land directly in your public Downloads folder — no root needed.

🤖

Auto-Detection

Just paste and go. camel identifies the link type automatically — no flags, no subcommands needed.

How it works

Under the hood, camelDownloader uses yt-dlp to fetch, download, and merge YouTube streams automatically.

1

Run camel

Open any terminal and type camel. The banner appears and it waits for a link.

2

Paste Any Link

YouTube, TikTok, Twitter, a direct file URL, or a magnet link — anything works.

3

Auto-Detection

camel classifies the link and routes it: media → quality menu, HTTP → instant download, torrent → DHT fetch.

4

Download

For media, pick quality (1–7). For files and torrents it starts immediately with live progress.

5

Done

File saved to your Downloads folder. Download another or type q to quit.

Installation guide

Pick your platform below for a complete, step-by-step setup guide.

1 Update system & install prerequisites

bash
# Update and install Python, pip, and FFmpeg
sudo apt update
sudo apt install python3 python3-pip ffmpeg -y
# Optional: torrent & magnet link support
sudo apt install python3-libtorrent -y

2 Install camelDownloader via pip

bash
pip install camelDownloader

3 Add to PATH if needed (run once)

bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
If camel is still not found, add it to your PATH permanently:
bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

4 Verify installation

bash
camel
Downloads are saved to ~/Downloads/camelDownloader/

1 Install Homebrew (skip if already installed)

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrew is a free package manager for macOS. It makes installing Python and FFmpeg trivial.

2 Install Python and FFmpeg

bash
brew install python ffmpeg

3 Install camelDownloader

bash
pip3 install camelDownloader

4 Verify installation

bash
camel
Downloads are saved to ~/Downloads/camelDownloader/
Requires Termux — Termux is a free Android terminal emulator that lets you run Linux commands directly on your phone with no root required.

1 Install Termux from F-Droid

The Play Store version is outdated and broken. You must download from F-Droid:

Open your browser on Android and go to: f-droid.org/en/packages/com.termux/
Download and install the APK. Allow "Install from unknown sources" when prompted.

2 Open Termux and run the one-line installer

termux
pkg update -y && pkg upgrade -y && pkg install python ffmpeg openssl -y && pip install camelDownloader
This updates Termux, installs Python, FFmpeg, and OpenSSL, then installs camelDownloader — all in one command.

3 Grant storage permission (one time only)

This lets your downloads appear in Android's Files app under the public Downloads folder:

termux
termux-setup-storage
Tap Allow when Android asks for storage permission. Without this, files save to a hidden Termux-only folder.

4 Verify and run

termux
camel
After downloading, open the Files app on Android → Downloads → camelDownloader to find your file.
Quick install with winget — If you have Windows 10 (updated) or Windows 11, winget is pre-installed. Use the commands below for the fastest setup.

1 Install Python and FFmpeg via winget

command prompt (run as admin)
winget install Python.Python.3 -e
winget install Gyan.FFmpeg -e
Winget installs and adds both to PATH automatically. Restart your terminal after this step.

1b Manual install (if winget is unavailable)

Python: Download from python.org/downloads — during install, check "Add Python to PATH".

FFmpeg: Download from ffmpeg.org/download.html → Extract the zip → Copy the path to the bin folder (e.g. C:\ffmpeg\bin) → Search "Environment Variables" in Start → Edit the Path system variable → Click New and paste the path → click OK on all windows.

2 Open Command Prompt and install camelDownloader

command prompt
pip install camelDownloader

3 Verify installation

command prompt
camel
Downloads are saved to C:\Users\YourName\Downloads\camelDownloader\
Use this method if you want to run the latest development code, contribute to the project, or try unreleased features.

1 Install prerequisites for your OS first

Follow the prerequisites from the Linux, macOS, Android, or Windows tab above (you need Python and FFmpeg).

2 Clone and install

bash
# Clone the repository
git clone https://github.com/troubleman96/camelDownloader-.git
cd camelDownloader-

# Install in editable mode — code changes take effect immediately
pip install -e .

3 Verify

bash
camel

How to use it

Three steps. That's all it takes to download any YouTube video.

1

Launch the app

Open any terminal and type the command. The banner appears and it waits for a link.

camel
2

Paste any link

YouTube, TikTok, Twitter, a direct file, or a magnet link — paste it and press Enter. camel detects the type automatically.

3

Pick quality (media only)

For YouTube/TikTok/media links, choose 1–7. For direct files and torrents, download starts immediately — no menu needed.

Done — find your file

Saved automatically to your Downloads folder under camelDownloader/. No extra steps.

bash — usage demo
camel
 
════════════════════════════════════
   camelDownloader 🐫
  General Purpose Downloader
════════════════════════════════════
 
🔗 Paste your link:
  https://youtu.be/dQw4w9WgXcQ
 
✅ Detected: 🎬 Media / YouTube
 
────────────────────────────────────
📊 SELECT QUALITY:
────────────────────────────────────
1) 360p (SD)   2) 720p (HD)
3) 1080p      4) 1440p (2K)
5) 4K        6) Best   7) MP3
────────────────────────────────────
 
👉 Your choice (1-7): 7
 
⬇️  100% | 3.2MB/3.2MB | Done
✅ DOWNLOAD COMPLETE!
📁 ~/Downloads/camelDownloader

Quality options

Seven options to suit every need — from data-saving mobile downloads to pristine 4K archives.

Option 1
360p
Standard Definition
Best for slow internet or mobile data ~50 MB / 10 min video
Option 3
1080p
Full HD
Desktop viewing and archiving ~300 MB / 10 min video
Option 4
1440p
2K — Very High
Large monitors, professional use ~600 MB / 10 min video
Option 5
2160p
4K — Maximum
4K displays, video editing, archives ~1.5 GB / 10 min video
Option 6
Best
Auto — Let YouTube decide
Downloads the highest quality available Varies by video
Audio
Option 7
MP3
Audio Only — 192kbps
Music, podcasts, lectures, sound-only ~25 MB / 10 min video

File sizes are estimates. Actual sizes depend on video content and YouTube's encoding.

Where do downloads go?

Files are saved automatically. You never need to choose a folder.

🐧 Linux

Saved to your home Downloads folder under a dedicated subfolder:

~/Downloads/camelDownloader/
🍎 macOS

Same as Linux — uses your home directory Downloads folder:

~/Downloads/camelDownloader/
📱 Android (Termux)

Visible in the Android Files app → Downloads after running termux-setup-storage:

~/storage/downloads/camelDownloader/
🪟 Windows

Saved to your user profile's Downloads folder:

C:\Users\YourName\Downloads\camelDownloader\

Troubleshooting & FAQ

Answers to the most common issues. Click any question to expand it.

camel: command not found +
The command is installed but not on your PATH. Run these commands to fix it:
Linux / macOS
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
On Android (Termux) this shouldn't happen after a successful pip install. Try closing and reopening Termux.
ffmpeg not installed error +
FFmpeg is required to merge video and audio streams for HD content. Install it for your platform:
bash
# Ubuntu / Debian
sudo apt install ffmpeg
# macOS
brew install ffmpeg
# Android (Termux)
pkg install ffmpeg
# Windows (via winget)
winget install Gyan.FFmpeg -e
Download fails with a 403 error or yt-dlp error +
yt-dlp is likely outdated. YouTube regularly changes how it serves videos and yt-dlp releases frequent updates to keep up. Update it:
bash
pip install -U yt-dlp
termux-setup-storage keeps failing on Android +
This is a known Termux issue. Try the following:
  • Run termux-setup-storage again and tap Allow when the Android permission popup appears.
  • If the popup never appears, go to Android Settings → Apps → Termux → Permissions → Files and Media → Allow.
  • If it still fails, your downloads will still work — they just save to Termux's internal folder (~/downloads/) instead of the public Downloads folder.
The video says it's age-restricted or private +
Age-restricted and private videos require YouTube authentication via cookies. This is an advanced use case — open an issue on the GitHub repository with the video URL and we can help you set it up with a cookies.txt file.
Disk full or permission denied errors +
  • Disk full: Check available storage with df -h (Linux/macOS) or check in Settings on Android/Windows. Free up space and retry.
  • Permission denied: On Android, run termux-setup-storage and grant the permission. On Linux/macOS, check that your Downloads folder is writable.
libtorrent not installed when using magnet links +
Torrent and magnet link support requires libtorrent. Install it:
bash
# Ubuntu / Debian (recommended)
sudo apt install python3-libtorrent
# via pip
pip install libtorrent
HTTP and media downloads still work without libtorrent — it is only needed for magnet links and .torrent files.
How do I update camelDownloader to the latest version? +
bash
pip install -U camelDownloader
The download finished but there's no audio in the video +
FFmpeg is likely missing or not on PATH. YouTube stores HD video and audio separately — FFmpeg is required to merge them. Install FFmpeg for your platform (see the Troubleshooting item above), then retry the download. You may need to delete the partial file first.

Open source & community-driven

camelDownloader is MIT licensed. Contributions, bug reports, and feature requests are all welcome.

🐛

Report a Bug

Found something broken? Open an issue on GitHub with the video URL and the error message you see.

Open an Issue →
💡

Request a Feature

Have an idea for an improvement? Suggest it via a GitHub issue. All ideas are considered.

Suggest a Feature →
🔀

Submit a Pull Request

Fork the repo, make your changes in editable mode, and open a PR. See the README for contribution steps.

View on GitHub →
Quick contribute
# Fork the repo on GitHub, then:
git clone https://github.com/YOUR_USERNAME/camelDownloader-.git
cd camelDownloader-
pip install -e .
git checkout -b my-feature
# make your changes...
git add . && git commit -m "describe your change"
git push origin my-feature
# then open a Pull Request on GitHub