Skip to main content

Vortex Download Manager

Project description

Logo Vortex Download Manager (VortexDM) is an open-source Python Internet download manager with a high speed multi-connection engine. It downloads general files and videos. Developed in Python, based on "PycURL" and "youtube_dl".

Original project, FireDM, by Mahmoud Elshahat.

Homepage: https://github.com/Sixline/VortexDM
PyPI Homepage: https://pypi.org/project/vortexdm

GitHub Issues - GitHub Closed Issues

Features:

  • High download speeds - based on PycURL
  • Multi-connection downloading
  • Automatic file segmentation
  • Automatic refresh for dead links
  • Resume uncompleted downloads
  • Support for YouTube and a lot of other stream websites using youtube-dl to fetch info and PycURL to download media
  • Download entire videos, playlists, or selected videos
  • Download fragmented video streams and encrypted/nonencrypted HLS media streams
  • Watch videos while downloading some videos will have no audio until they finish downloading
  • Download video subtitles
  • Write video metadata to downloaded files
  • Built-in updater
  • Scheduled downloads
  • Re-using existing connections
  • Clipboard monitor
  • Proxy support (http, https, socks4, and socks5)
  • User/pass authentication, referee link, video thumbnail, and subtitles
  • Use custom cookie files
  • MD5 and SHA256 checksums
  • Custom GUI themes
  • Set download speed limit
  • Shell commands or computer shutdown on download completion
  • Control number of the concurrent downloads and maximum connections

How to use VortexDM:

Running in command line: show help by typing vortexdm -h

Running the GUI: Refer to the user guide at https://github.com/Sixline/VortexDM/blob/master/docs/user_guide.md

Portable VortexDM Versions:

Run VortexDM without any installation (recommended)

  • Windows Portable Version (Download!):
    Available in .zip format. Built with 64-bit Python 3.11+ and will only work on 64-bit Windows 10+.
    Unzip and run VortexDM-GUI.exe, no installation required.

  • Linux Portable Version
    Removing this section for now as I am not familiar with building AppImages. Will revisit.

Manually installing VortexDM with pip (Linux Only - Debian/Ubuntu Based Shown):

1- Check python version (minimum version required is 3.8): python3 --version

2- Install required packages:

sudo apt install ffmpeg libcurl4-openssl-dev libssl-dev python3-pip python3-pil python3-pil.imagetk python3-tk python3-dbus gir1.2-appindicator3-0.1
sudo apt install fonts-symbola fonts-linuxlibertine fonts-inconsolata fonts-emojione

3- Install Vortex Download Manager using pip:

python3 -m pip install vortexdm --user --upgrade --no-cache

Running from source code inside a Python virtual environment (Linux Only - Debian/Ubuntu Based Shown):

1- Check python version (minimum version required is 3.8): python3 --version

2- Install required packages:

sudo apt install ffmpeg libcurl4-openssl-dev libssl-dev python3-pip python3-pil python3-pil.imagetk python3-tk python3-dbus gir1.2-appindicator3-0.1
sudo apt install fonts-symbola fonts-linuxlibertine fonts-inconsolata fonts-emojione

3- Run below code to do the following:

  • Clone this repo
  • Create Python virtual environment
  • Install the requirements
  • Create launch script
  • Run VortexDM
git clone https://github.com/Sixline/VortexDM
python3 -m venv ./.env
source ./.env/bin/activate
python3 -m pip install -r ./VortexDM/requirements.txt
echo "source ./.env/bin/activate
python3 ./VortexDM/vortexdm.py \$@ " > vortexdm.sh
chmod +x ./vortexdm.sh
./vortexdm.sh

Optionally create .desktop file and add VortexDM to your applications

VortexDMLSPATH=$(realpath ./vortexdm.sh)
echo "[Desktop Entry]
Name=VortexDM
GenericName=VortexDM
Comment=Vortex Download Manager
Exec=$VortexDMLSPATH
Icon=vortexdm
Terminal=false
Type=Application
Categories=Network;
Keywords=Internet;download
" > VortexDM.desktop
cp ./VortexDM.desktop ~/.local/share/applications/
mkdir -p ~/.local/share/icons/hicolor/48x48/apps/
cp ./VortexDM/icons/vortexdm.png ~/.local/share/icons/hicolor/48x48/apps/vortexdm.png

Known Issues:

  • Linux X Server will raise an error if some fonts are missing, especially emoji fonts - See Dependencies below

  • Mac - Tkinter - Can have issues depending on versions. See here: https://www.python.org/download/mac/tcltk

  • Systray Icon: Depends on GTK 3+ and AppIndicator3 on Linux. Install these packages if you need systray to run properly.

Dependencies:

  • Python 3.8+: Tested with Python 3.11+ on Windows 10 and Ubuntu Linux

  • Tkinter: standard Python interface to the Tcl/Tk GUI toolkit.

  • FFmpeg: for merging audio with DASH videos.

  • Fonts: (Linux X Server will raise an error if some fonts are missing, especially emoji fonts. Below are the recommended fonts to be installed.

    ttf-linux-libertine 
    ttf-inconsolata 
    ttf-emojione
    ttf-symbola
    noto-fonts
    
  • PycURL: a Python interface to libcurl, the multiprotocol file transfer library. Used as the download engine.

  • youtube_dl: Famous YouTube downloader, limited use for meta information extraction only but videos are downloaded using PycURL.

  • yt_dlp: yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc.

  • Certifi: required by PycURL for validating the trustworthiness of SSL certificates.

  • Plyer: for systray area notification.

  • AwesomeTkinter: for application GUI.

  • Pillow: the friendly PIL fork. PIL is an acronym for Python Imaging Library.

  • pystray: for systray icon.

Note for PycURL: For Windows users who wants to run from source or use pip: Unfortunately, PycURL removed binary versions for Windows and it now has to be built from source. See here: http://pycurl.io/docs/latest/install.html#windows python -m pip install pycurl will fail on Windows, your best choice is to use the portable version.

How to contribute to this project:

1- By testing the application and opening new issues for bugs, feature requests, or suggestions.

2- Check the Developer Guidelines.

3- Check open issues and see if you can help.

4- Fork this repo and make a pull request.

Contributors:

Please check contributors.md for a list of contributors.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vortexdm-2023.1.0.tar.gz (178.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vortexdm-2023.1.0-py3-none-any.whl (185.7 kB view details)

Uploaded Python 3

File details

Details for the file vortexdm-2023.1.0.tar.gz.

File metadata

  • Download URL: vortexdm-2023.1.0.tar.gz
  • Upload date:
  • Size: 178.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for vortexdm-2023.1.0.tar.gz
Algorithm Hash digest
SHA256 6d4de355bd722c7496a1761cf5f87aa1a04509db1eb373cf885d3ee53cdb6c8b
MD5 5b7515b83d1fee8c408eb310d5b414cf
BLAKE2b-256 e8edc0b7787288de47566d17b85eff8c79647fc180b7c8b0647a749cf20b1fda

See more details on using hashes here.

File details

Details for the file vortexdm-2023.1.0-py3-none-any.whl.

File metadata

  • Download URL: vortexdm-2023.1.0-py3-none-any.whl
  • Upload date:
  • Size: 185.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for vortexdm-2023.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fa5ef06525527d9d4a930150f2621cd42036af60097bd41705b97a8b49c92bc
MD5 2b7cde6a36217263b4402e6ccde7e5cb
BLAKE2b-256 b9b13355b50006c38408e1af7e98372d58b9e480011e699a65cca7e88b391152

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page