Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dlhttps://github.com/firedm/FireDM

License

NotificationsYou must be signed in to change notification settings

jdaniele71/FireDM

 
 

Repository files navigation

Homepage:https://github.com/firedm/FireDM

DownloadsDownloads

GitHub All Releases

GitHub issues -GitHub closed issues

logoFireDM is a python open source (Internet Download Manager)with multi-connections, high speed engine,it downloads general files and videos from youtube and tons of other streaming websites .
Developed in Python, based on "LibCurl", and "youtube_dl".

Download Latest version!!

screenshot

more screenshots ...


Features:

  • High download speeds "based on LibCurl" -See Speed test of: aria2 vs FireDM
  • Multi-connection downloading "Multithreading"
  • Automatic file segmentation.
  • Automatic refresh for dead links.
  • Resume uncompleted downloads.
  • Support for Youtube, and a lot of stream websites "using youtube-dl to fetch info and libcurl to download media".
  • download entire video playlist or selected videos.
  • download fragmented video streams, and encrypted/nonencrypted HLS media streams.
  • watch videos while downloading* "some videos will have no audio untilfinish downloading".
  • download video subtitles.
  • write video metadata to downloaded files.
  • check for application updates.
  • Scheduling downloads
  • Re-using existing connection to remote server.
  • Clipboard Monitor.
  • proxy support (http, https, socks4, and socks5).
  • user/pass authentication, referee link, use cookies, video thumbnail,subtitles.
  • use custom cookies files.
  • MD5 and SHA256 checksums.
  • Custom gui themes.
  • Set download Speed limit
  • User can run shell commands or shutdown computer on download completion.
  • Control number of Concurrent downloads and Max. connections per each download.

How to use FireDM:

running in command line: show help by typingfiredm -h

running GUI: Refer to user guide athttps://github.com/firedm/FireDM/blob/master/docs/user_guide.md


Portable FireDM versions:

Run FireDM without any installation (recommended)

  • Windows portable version (Download!):
    available in .zip format.
    unzip, and run from FireDM.exe, no installation required.

  • Linux portable version (Download!):
    available in .AppImage format.
    download file, then mark it as executable, and run it, no installation required,tested on ubuntu, mint, and manjaro.
    note: ffmpeg is not included and must be installed separately if not exist

    mark file as executable by right clicking the file> Properties> Permissions> Allow executing file as a program,or from terminal bychmod +x FireDM_xxx.AppImage

    To check for ffmpeg use this command:

     which ffmpeg# expected output if installed /usr/bin/ffmpeg

    if ffmpeg is missing you can install it bysudo apt install ffmpeg on debian based orsudo pacman -S ffmpegon Arch based distros.


Manually installing FireDM with pip (Linux):

1- check python version (minimum version required is 3.6):python3 --version

2- install required packages first:

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

3- install firedm using pip:

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

Running from source code inside virtual environment (Linux):

1- check python version (minimum version required is 3.6):python3 --version

2- install required packages first:

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

3- run below code to clone this repo, create virtual environment, install requirements, create launch script, and finally run FireDM

git clone --depth 1 https://github.com/firedm/FireDM.gitpython3 -m venv ./.envsource ./.env/bin/activatepython3 -m pip install -r ./FireDM/requirements.txtecho"source ./.env/bin/activatepython3 ./FireDM/firedm.py\$@"> firedm.shchmod +x ./firedm.sh./firedm.sh

optionally create .desktop file and add FireDM to your applications

FireDMLSPATH=$(realpath ./firedm.sh)echo"[Desktop Entry]Name=FireDMGenericName=FireDMComment=FireDM Download ManagerExec=$FireDMLSPATHIcon=firedmTerminal=falseType=ApplicationCategories=Network;Keywords=Internet;download"> FireDM.desktopcp ./FireDM.desktop~/.local/share/applications/mkdir -p~/.local/share/icons/hicolor/48x48/apps/cp ./FireDM/icons/48x48.png~/.local/share/icons/hicolor/48x48/apps/firedm.png

Arch-linux (AUR):


Known Issues:

  • Linux X-server will raise an error if some fonts are missing especially emoji fonts, for more info refer toissue #200.

  • Mac - Tkinter, as mentioned in "python.org" the Apple-supplied Tcl/Tk 8.5 has serious bugs that can cause application crashes. If you wish to use Tkinter, do not use the Apple-supplied Pythons. Instead, install and use a newer version of Python from python.org or a third-party distributor that supplies or links with a newer version of Tcl/Tk.
    refer toissue #113

  • systray icon: depends on Gtk+3 and AppIndicator3 on linux, please refer to your distro guides on how to install these packages if you need systray to run properly


Dependencies:

  • Python 3.6+: tested with python 3.6 on windows, and 3.7, 3.8 on linux

  • tkinter

  • ffmpeg : for merging audio with youtube DASH videos "it will be installed automatically on windows"

  • Fonts: (Linux X-server will raise an error if some fonts are missing especially emoji fonts, below are therecommended fonts to be installed, for more info refer toissue #200.)

    ttf-linux-libertine ttf-inconsolata ttf-emojionettf-symbolanoto-fonts
  • pycurl: is a Python interface to libcurl / curl as our download engine,

  • youtube_dl: famous youtube downloader, limited use for meta information extraction only but videos are downloaded using pycurl

  • yt_dlp: a fork of youtube-dlc which is inturn a fork of youtube-dl

  • certifi: required by 'pycurl' for validating the trustworthiness of SSL certificates,

  • plyer: for systray area notification.

  • awesometkinter: forapplication gui.

  • pillow: imaging library for python

  • 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 this link "https://dl.bintray.com/pycurl/pycurl/" is now dead, and one has to build pycurl from source which is not an easy task, details are herehttp://pycurl.io/docs/latest/install.html#windowsnormal pip install i.epython -m pip install pycurl probably will fail on windows, your best choice is to use FireDM standalone/portable exe version.

for linux users:there is no issues, since most linux distros have curl preinstalled, so pycurl will link with libcurl library to get built with no issues, checked with python versions 3.6, 3.7, and 3.8 working with no problems.


what is the benefit of open source, compared to closed-source/Proprietary software if both are free?

As said,"if the product is free, then you are the product", mostfree closed-source software collect data about you, some of them aretoxic and plant trojans/spy-wares in your system, with open source,nothing hidden, and source code exposed to thousands of programmers, noone can play dirty games.

Need to mention, this project is never made to compete with otherdownload managers, it is just a "hopefully useful" addition.



How to contribute to this project:

1- by testing the application and openingnew issue for bugreporting, feature request, or suggestions.
2- checkdeveloper guidelines.
3- checktodo list.
4- check open issues, see if you can help.
5- fork this repo and pull request



Some articles/reviews on this project*:


contributors:

Please checkcontributors.mdfor a list of contributors


Feedback:

your feedback is most welcomed by filling anew issue
or email to:info.pyidm@gmail.com


Author:
Mahmoud Elshahat
2019-2021

About

python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dlhttps://github.com/firedm/FireDM

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python99.5%
  • Shell0.5%

[8]ページ先頭

©2009-2025 Movatter.jp