Local downloader for Instagram, Twitter/X, and YouTube. Run it from a terminal menu, with CLI flags, or with an optional desktop GUI. There is no server and no account of ours to configure. Current tagged release: v0.4. License GPL-3.0.
Guides (English) live in docs/:
| Guide | Audience |
|---|---|
| Getting started | Anyone new to the project |
| Installation · Configuration | Person who runs it on their computer |
| Usage · Platforms | People downloading media |
| Building | Standalone binary and OS packages |
| How it works · Limitations | Operators and reviewers |
| Troubleshooting | When a download fails |
| Development | Contributors |
This README is a short overview. Prefer the docs folder if you are installing or using the tool for the first time.
--platform, or the GUI).instaloader, yt-dlp, or pytubefix), asks you to confirm when it can, then writes a file to a directory you choose.Interactive menu:
python multi_downloader.py
Desktop GUI:
python multi_downloader.py --gui
One-shot (YouTube audio example; the output directory must already exist):
python multi_downloader.py --platform youtube --url "https://youtu.be/dQw4w9WgXcQ" --mode audio --output "/tmp" --yes
--yes skips confirmations. Filename prompts still appear; press Enter to keep the default name. Details: Usage.
.python-version)Descargas or Downloads under your home folder)Install: Installation (pip install -r requirements.txt covers CLI and GUI). There is no .env file; flags, prompts, and (in the GUI) a local settings file are the configuration. See Configuration.
Standalone binaries and Linux packages: Building. GitHub tags matching vX, vX.Y, or vX.Y.Z publish a release with those artifacts.
multi_downloader.py # Menu, CLI dispatcher, and --gui launcher
app/ # GUI application layer (adapters, services)
ui/ # PySide6 window and background workers
Instagram/ # Instaloader-based post downloader
Twitter/ # yt-dlp tweet video downloader
YouTube/ # pytubefix stream picker
common/ # Shared prompts, URL check, filenames
packaging/ # PyInstaller build and Linux package helpers
tests/ # pytest (no live downloads)
Release history: CHANGELOG.md.