![Logo](https://raw.githubusercontent.com/Sixline/VortexDM/main/icons/vortexdm.png)
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](https://img.shields.io/github/issues-raw/Sixline/VortexDM?color=brightgreen)](https://github.com/Sixline/VortexDM/issues) - [![GitHub Closed Issues](https://img.shields.io/github/issues-closed-raw/Sixline/VortexDM?color=blueviolet)](https://github.com/Sixline/VortexDM/issues?q=is%3Aissue+is%3Aclosed)
**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!](https://github.com/Sixline/VortexDM/releases/latest)):
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:
```sh
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:
```sh
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:
```sh
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
```sh
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
```sh
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](https://docs.python.org/3/library/tkinter.html): standard Python interface to the Tcl/Tk GUI toolkit.
- [FFmpeg](https://www.ffmpeg.org/): 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](http://pycurl.io/docs/latest/index.html): a Python interface to libcurl, the multiprotocol file transfer library. Used as the download engine.
- [youtube_dl](https://github.com/ytdl-org/youtube-dl): Famous YouTube downloader, limited use for meta information extraction only but videos are downloaded using PycURL.
- [yt_dlp](https://github.com/yt-dlp/yt-dlp): yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc.
- [Certifi](https://github.com/certifi/python-certifi): required by PycURL for validating the trustworthiness of SSL certificates.
- [Plyer](https://github.com/kivy/plyer): for systray area notification.
- [AwesomeTkinter](https://github.com/Aboghazala/AwesomeTkinter): for application GUI.
- [Pillow](https://python-pillow.org): the friendly PIL fork. PIL is an acronym for Python Imaging Library.
- [pystray](https://github.com/moses-palmer/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](https://github.com/Sixline/VortexDM/issues/new) for bugs, feature requests, or suggestions.
2- Check the [Developer Guidelines](https://github.com/Sixline/VortexDM/blob/master/docs/developer_guide.md).
3- Check [open issues](https://github.com/Sixline/VortexDM/issues?q=is%3Aopen+is%3Aissue) and see if you can help.
4- Fork this repo and make a pull request.
# Contributors:
Please check [contributors.md](https://github.com/Sixline/VortexDM/blob/master/contributors.md) for a list of contributors.
Raw data
{
"_id": null,
"home_page": "https://github.com/Sixline/VortexDM",
"name": "vortexdm",
"maintainer": "Sixline",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "vortexdm vdm firedm internet download manager youtube hls pycurl curl youtube-dl tkinter",
"author": "Mahmoud Elshahat",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/e8/ed/c0b7787288de47566d17b85eff8c79647fc180b7c8b0647a749cf20b1fda/vortexdm-2023.1.0.tar.gz",
"platform": null,
"description": "![Logo](https://raw.githubusercontent.com/Sixline/VortexDM/main/icons/vortexdm.png)\r\nVortex 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\".\r\n\r\nOriginal project, FireDM, by Mahmoud Elshahat.\r\n\r\nHomepage: https://github.com/Sixline/VortexDM \r\nPyPI Homepage: https://pypi.org/project/vortexdm\r\n\r\n[![GitHub Issues](https://img.shields.io/github/issues-raw/Sixline/VortexDM?color=brightgreen)](https://github.com/Sixline/VortexDM/issues) - [![GitHub Closed Issues](https://img.shields.io/github/issues-closed-raw/Sixline/VortexDM?color=blueviolet)](https://github.com/Sixline/VortexDM/issues?q=is%3Aissue+is%3Aclosed)\r\n\r\n**Features**:\r\n* High download speeds - based on PycURL\r\n* Multi-connection downloading\r\n* Automatic file segmentation\r\n* Automatic refresh for dead links\r\n* Resume uncompleted downloads\r\n* Support for YouTube and a lot of other stream websites using youtube-dl to fetch info and PycURL to download media\r\n* Download entire videos, playlists, or selected videos\r\n* Download fragmented video streams and encrypted/nonencrypted HLS media streams\r\n* Watch videos while downloading *some videos will have no audio until they finish downloading*\r\n* Download video subtitles\r\n* Write video metadata to downloaded files\r\n* Built-in updater\r\n* Scheduled downloads\r\n* Re-using existing connections\r\n* Clipboard monitor\r\n* Proxy support (http, https, socks4, and socks5)\r\n* User/pass authentication, referee link, video thumbnail, and subtitles\r\n* Use custom cookie files\r\n* MD5 and SHA256 checksums\r\n* Custom GUI themes\r\n* Set download speed limit\r\n* Shell commands or computer shutdown on download completion\r\n* Control number of the concurrent downloads and maximum connections\r\n\r\n# How to use VortexDM:\r\nRunning in command line: show help by typing `vortexdm -h`\r\n\r\nRunning the GUI: Refer to the user guide at https://github.com/Sixline/VortexDM/blob/master/docs/user_guide.md\r\n\r\n# Portable VortexDM Versions:\r\n \r\nRun VortexDM without any installation (recommended) \r\n - **Windows Portable Version** ([Download!](https://github.com/Sixline/VortexDM/releases/latest)): \r\n Available in .zip format. Built with 64-bit Python 3.11+ and will only work on 64-bit Windows 10+. \r\n Unzip and run VortexDM-GUI.exe, no installation required.\r\n \r\n - **Linux Portable Version** \r\n Removing this section for now as I am not familiar with building AppImages. Will revisit.\r\n\r\n## Manually installing VortexDM with pip (Linux Only - Debian/Ubuntu Based Shown):\r\n1- Check python version (minimum version required is 3.8): `python3 --version`\r\n\r\n2- Install required packages:\r\n```sh\r\nsudo apt install ffmpeg libcurl4-openssl-dev libssl-dev python3-pip python3-pil python3-pil.imagetk python3-tk python3-dbus gir1.2-appindicator3-0.1\r\nsudo apt install fonts-symbola fonts-linuxlibertine fonts-inconsolata fonts-emojione\r\n```\r\n\r\n3- Install Vortex Download Manager using pip:\r\n\r\n```sh\r\npython3 -m pip install vortexdm --user --upgrade --no-cache\r\n```\r\n\r\n## Running from source code inside a Python virtual environment (Linux Only - Debian/Ubuntu Based Shown):\r\n1- Check python version (minimum version required is 3.8): `python3 --version`\r\n\r\n2- Install required packages:\r\n```sh\r\nsudo apt install ffmpeg libcurl4-openssl-dev libssl-dev python3-pip python3-pil python3-pil.imagetk python3-tk python3-dbus gir1.2-appindicator3-0.1\r\nsudo apt install fonts-symbola fonts-linuxlibertine fonts-inconsolata fonts-emojione\r\n```\r\n\r\n3- Run below code to do the following: \r\n * Clone this repo \r\n * Create Python virtual environment \r\n * Install the requirements \r\n * Create launch script \r\n * Run VortexDM\r\n\r\n```sh\r\ngit clone https://github.com/Sixline/VortexDM\r\npython3 -m venv ./.env\r\nsource ./.env/bin/activate\r\npython3 -m pip install -r ./VortexDM/requirements.txt\r\necho \"source ./.env/bin/activate\r\npython3 ./VortexDM/vortexdm.py \\$@ \" > vortexdm.sh\r\nchmod +x ./vortexdm.sh\r\n./vortexdm.sh\r\n```\r\n\r\n> Optionally create .desktop file and add VortexDM to your applications\r\n```sh\r\nVortexDMLSPATH=$(realpath ./vortexdm.sh)\r\necho \"[Desktop Entry]\r\nName=VortexDM\r\nGenericName=VortexDM\r\nComment=Vortex Download Manager\r\nExec=$VortexDMLSPATH\r\nIcon=vortexdm\r\nTerminal=false\r\nType=Application\r\nCategories=Network;\r\nKeywords=Internet;download\r\n\" > VortexDM.desktop\r\ncp ./VortexDM.desktop ~/.local/share/applications/\r\nmkdir -p ~/.local/share/icons/hicolor/48x48/apps/\r\ncp ./VortexDM/icons/vortexdm.png ~/.local/share/icons/hicolor/48x48/apps/vortexdm.png\r\n```\r\n\r\n# Known Issues:\r\n- Linux X Server will raise an error if some fonts are missing, especially emoji fonts - See Dependencies below\r\n\r\n- Mac - Tkinter - Can have issues depending on versions. See here: https://www.python.org/download/mac/tcltk\r\n\r\n- Systray Icon: Depends on GTK 3+ and AppIndicator3 on Linux. Install these packages if you need systray to run properly.\r\n\r\n# Dependencies:\r\n- Python 3.8+: Tested with Python 3.11+ on Windows 10 and Ubuntu Linux\r\n- [Tkinter](https://docs.python.org/3/library/tkinter.html): standard Python interface to the Tcl/Tk GUI toolkit.\r\n- [FFmpeg](https://www.ffmpeg.org/): for merging audio with DASH videos.\r\n- Fonts: (Linux X Server will raise an error if some fonts are missing, especially emoji fonts. Below are the \r\nrecommended fonts to be installed.\r\n\r\n ```\r\n ttf-linux-libertine \r\n ttf-inconsolata \r\n ttf-emojione\r\n ttf-symbola\r\n noto-fonts\r\n ```\r\n- [PycURL](http://pycurl.io/docs/latest/index.html): a Python interface to libcurl, the multiprotocol file transfer library. Used as the download engine.\r\n- [youtube_dl](https://github.com/ytdl-org/youtube-dl): Famous YouTube downloader, limited use for meta information extraction only but videos are downloaded using PycURL.\r\n- [yt_dlp](https://github.com/yt-dlp/yt-dlp): yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc.\r\n- [Certifi](https://github.com/certifi/python-certifi): required by PycURL for validating the trustworthiness of SSL certificates.\r\n- [Plyer](https://github.com/kivy/plyer): for systray area notification.\r\n- [AwesomeTkinter](https://github.com/Aboghazala/AwesomeTkinter): for application GUI.\r\n- [Pillow](https://python-pillow.org): the friendly PIL fork. PIL is an acronym for Python Imaging Library.\r\n- [pystray](https://github.com/moses-palmer/pystray): for systray icon.\r\n\r\n**Note for PycURL:**\r\nFor Windows users who wants to run from source or use pip:\r\nUnfortunately, 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\r\n`python -m pip install pycurl` will fail on Windows, your best choice is to use the portable version.\r\n\r\n# How to contribute to this project:\r\n1- By testing the application and opening [new issues](https://github.com/Sixline/VortexDM/issues/new) for bugs, feature requests, or suggestions.\r\n\r\n2- Check the [Developer Guidelines](https://github.com/Sixline/VortexDM/blob/master/docs/developer_guide.md).\r\n\r\n3- Check [open issues](https://github.com/Sixline/VortexDM/issues?q=is%3Aopen+is%3Aissue) and see if you can help.\r\n\r\n4- Fork this repo and make a pull request.\r\n\r\n# Contributors:\r\nPlease check [contributors.md](https://github.com/Sixline/VortexDM/blob/master/contributors.md) for a list of contributors.\r\n",
"bugtrack_url": null,
"license": "",
"summary": "Vortex Download Manager",
"version": "2023.1.0",
"project_urls": {
"Homepage": "https://github.com/Sixline/VortexDM",
"Releases": "https://github.com/Sixline/VortexDM/releases",
"Source": "https://github.com/Sixline/VortexDM",
"Tracker": "https://github.com/Sixline/VortexDM/issues"
},
"split_keywords": [
"vortexdm",
"vdm",
"firedm",
"internet",
"download",
"manager",
"youtube",
"hls",
"pycurl",
"curl",
"youtube-dl",
"tkinter"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b9b13355b50006c38408e1af7e98372d58b9e480011e699a65cca7e88b391152",
"md5": "2b7cde6a36217263b4402e6ccde7e5cb",
"sha256": "6fa5ef06525527d9d4a930150f2621cd42036af60097bd41705b97a8b49c92bc"
},
"downloads": -1,
"filename": "vortexdm-2023.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2b7cde6a36217263b4402e6ccde7e5cb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 185660,
"upload_time": "2023-07-18T19:26:10",
"upload_time_iso_8601": "2023-07-18T19:26:10.023539Z",
"url": "https://files.pythonhosted.org/packages/b9/b1/3355b50006c38408e1af7e98372d58b9e480011e699a65cca7e88b391152/vortexdm-2023.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e8edc0b7787288de47566d17b85eff8c79647fc180b7c8b0647a749cf20b1fda",
"md5": "5b7515b83d1fee8c408eb310d5b414cf",
"sha256": "6d4de355bd722c7496a1761cf5f87aa1a04509db1eb373cf885d3ee53cdb6c8b"
},
"downloads": -1,
"filename": "vortexdm-2023.1.0.tar.gz",
"has_sig": false,
"md5_digest": "5b7515b83d1fee8c408eb310d5b414cf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 178189,
"upload_time": "2023-07-18T19:26:13",
"upload_time_iso_8601": "2023-07-18T19:26:13.051238Z",
"url": "https://files.pythonhosted.org/packages/e8/ed/c0b7787288de47566d17b85eff8c79647fc180b7c8b0647a749cf20b1fda/vortexdm-2023.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-18 19:26:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Sixline",
"github_project": "VortexDM",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "vortexdm"
}