XDM: eXtendable Download Manager

XDM: eXtendable Download Manager. Plugin based media collection manager. Or in short XDM is a python based application that runs in the background and provides a Web-interface. It is highly extensible with plugins. Such as:

  • TV shows
  • Music albums
  • Movies
  • Books
  • Games

Most of the parts are in fact plugins such as the PostProcessor plugins or metadata providers. Plugins are chain able or at least multiple plugins of the same type can run in a defined order. Most plugins are also able to be instantiated with multiple configurations which means you only need one Newznab plugin to connect to multiple indexers. XDM is also not limited to the bigger download forms, in fact the download type also just a plugin, it’s easy to extend the known download type with a new one, like FTP, SSH or IRC.

Then what is XDM (in a nut shell)?

XDM is a framework to manage data trees and perform scheduled tasks according statuses of the nodes.

After starting XDM there is nothing i can do!

XDM itself does pretty much nothing, onyl the plugins extend its functionality which are a completely separate project. There is a wizard that helps you get started on the first run.

If you have ideas for more features please have a look here https://xdm.userecho.com/

Right now there is only Mac OSX builds and source version from github available. More information here.

Available plugin types:

  • System: there is only one system plugin that provides the configuration
  • MediaTypeManager: These plugins define the structure and look of a media type
  • Provider: They provide meta data information and have to construct a data tree as defined by the MediaTypeManager
  • DownloadFilter/Pre: They accept or deny the search for an item
  • SearchTermFilter: They can modify the used search terms
  • Indexer: These plugins perform various actions to produce a list of Downloads
  • DownloadFilter/Post: They accept or deny a given download
  • Downloader: These plugins use the information given in the download and send it to other programs or perform the download themselves (has not been done yet)
  • PostProcessor: These plugins get the location of a finished download and perform any action on the files
  • Notifier: These plugins get a simple message created by XDM (as a suggestion) and the item and send out messages to other services or programs



Fork me on GitHub