No article found for this tag
Found 2 projects
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

Synology Download Station CLI (in progress)
Working on creating a command line interface to manage Download Station on Synology NAS DSM via SSH. Inspired by Matthias Radig original code that is not working on DSM most recent versions and is unfortunately not maintained anymore. Download station will be controllable via both command line arguments and interactively via a fully fledged ncurses interface. Work in progress.
Features
  • Download Station can be controlled via command line arguments
  • Download Station can also be controlled via a fully fledged ncurses interface
See more