No article found for this tag
Found 1 project
tinyDLM - C++ Download Manager
C++ download manager built around cURLpp and ncurses I've never encountered a simple yet efficient download manager that would be free AND still maintained. So I decided to build my own and figured out it would be a great way to learn more about C++, multithreading, sockets and desktop applications and I did learn a lot along the way ! I could have used multiple non blocking sockets instead of threads and therefore only use one thread for the download manager part, but I really wanted to learn more about multithreading and its pitfalls. The main window is actually made of 2 subwindows: the downloads list displayed as a curses menu and a 'downloads status' window sitting next to it and updated in its own thread. Using different threads for windows was also a challenge since curses (actually ncurses) is not multi-thread safe, but using C++ mutexes I managed to make it work smoothly. I plan on adding some other useful features like limiting the number of simultaneous transfers or adding more than one link at the same time.
Features
  • Works on macOS and Linux Debian based distributions
  • Supports Direct Download Links
  • Supports simultaneous transfers (tested up to 32)
  • Transfers can be paused / resumed / killed
  • Inactive transfers can be cleared from the list
  • Displays current download speed and progress for each transfer
  • Displays current transfer status
  • Signals user input and URL / HTTP errors
  • Very low CPU / RAM consumption
  • (DOING) Partially supports adding multiple links at the same time
See more