Você pode usar rTorrent para fazer o que quiser. Está incluído na maioria das distribuições Linux.
Você pode configurar um diretório em que você pode soltar .torrent
arquivos via SFTP ou WebDAV. Pode utilizar o suplemento RSSDler para transferir automaticamente a partir de feeds RSS de torrent. (Eu suponho que é isso que você quis dizer com XML.)
Para poder fazer o download de arquivos de dados (e, opcionalmente, fazer o upload) via HTTP, você terá que usar lighttpd , Apache ou outro software de servidor da Web adequado.
Você pode definir configurações globalmente em um arquivo de configuração e por torrente através das interfaces de usuário. Tem uma interface baseada em texto com todos os recursos que você pode acessar via SSH. Há também vários front-ends baseados na web, bem como um para Mac. Finalmente, há uma API XMLRPC para que você possa fazer todos os tipos de coisas programaticamente.