vortexdm


Namevortexdm JSON
Version 2023.1.0 PyPI version JSON
download
home_pagehttps://github.com/Sixline/VortexDM
SummaryVortex Download Manager
upload_time2023-07-18 19:26:13
maintainerSixline
docs_urlNone
authorMahmoud Elshahat
requires_python>=3.8
license
keywords vortexdm vdm firedm internet download manager youtube hls pycurl curl youtube-dl tkinter
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![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"
}
        
Elapsed time: 0.08808s