Last Updated: Jan 12, 2022
|Last Updated 2015
XDM stands for eXtendable Download Manager. The program is based in the Python language and is designed to offer a way to organize your media. It works with plugins, allowing you to expand its capabilities quite a lot. The plugins provide ways to handle television shows, movies, books, games, music and other media.
The most basic definition of the program is given by the site. It’s a framework and provides a way for you to manage data trees and to perform automated tasks.
XDM allows you to use a single plugin for multiple similar services. For instance, you can use one Newznab plugin to connect to however many individual indexers you want. It also allows you to handle different types of downloads based on plugins, extending your program to handle SSH downloads and other types.
XDM is just a framework, so the real power comes from the plugins that you use with it**. There are multiple types of plugins available that you can use to extend the capabilities of the framework.
The plugins include ones that allow you to work with media type managers, indexers, post processors that allow you to handle the file however you wish when it’s downloaded and more. There are convenience plugins, as well, such as the notifier, which allows you to send messages from the framework to other programs.
Available Plug-in 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
XDM has some great features that make it a convenient way to manage your downloads. It does tend to be on the heavy side, however. Some users who have been experimenting with running it on RaspberryPi have reported that it runs slow. The problem shouldn’t translate to desktops, however, which should have plenty of power to handle XDM without diminished performance becoming an issue.
The program may not perform as well as alternatives, such as Sickbeard, on RaspberryPi devices at present. Those who are inclined to experiment a bit, however, may find that it serves their needs well enough.
Python isn’t the most efficient programming language. XDM, however, does seem to have enough extensibility built into it to make it worth expending some resources on. There are some bumps that need to be worked out, according to what some users have been saying about the program, but reviews have generally been positive. If you’re looking for a very customizable media manager with a web interface, you may want to give XDM a try and see what you think.