ArrowDL icon indicating copy to clipboard operation
ArrowDL copied to clipboard

Feature request: Plugins API

Open axet opened this issue 1 year ago • 0 comments

Hello!

Project missing good extendable plugins API.

  1. C++ API dynamically loading libraries
  2. Python dynamically loading libraries
  3. shell/exec scripts (wget, curl, aria2)

API could support different plugins coverage (from simple request, up to detailed download information):

  1. Simple download API (ftp/http) 1.1) Basic retrieval API 1.2) Progress API 1.3) Multi-threading/per thread information API
  2. Torrent engines
  3. Video hosting

Simple download API can support only two arguments / interfaces: url/hash info, download completed.

Extended download API can support download progress information, even more complex API can support information per thread / download including downloading information like ranges, peer info.

Adding API can increase durability of the project by extending it via external plugins. For example I would like to have option to replace build-in youtube download functionality with youtube-dl python script or yt-dl. If for some reason build-in engine fails.

Linux is missing good reliable download manager with good UI. I hope to see more details on download items, download thread information, download block map, error/info loging per download thread, protocol details (ftp, http version, torrent details, video quality, http range) etc. Like most modern windows download manger do.

axet avatar Feb 16 '24 08:02 axet