To install this package, run in Emacs:
M-x package-install RET mentor RET
mentor is a GNU Emacs frontend for the rTorrent bittorrent client.
By default, it will start and run rTorrent from within Emacs but can also be configured to use an external rTorrent instance over XML-RPC.
This project aims to provide a feature complete and highly customizable interface, that will feel familiar to Emacs users. Key bindings are chosen to be as close to the vanilla rTorrent curses interface as possible.
mentor still has some way to go before it can really be considered a complete interface, so please moderate your expectations. It works fine for many common tasks though, and in some cases (dare we say?) much better than the standard ncurses interface.
Screenshot of moving a download and its data to another directory using ido integration. Sort your downloads in a breeze!
Here is a summary of some of the features:
If you for some reason do not use Emacs 24, or if you do not want to use ELPA, you can install mentor manually.
Clone the repository using:
git clone https://github.com/skangas/mentor.git
Add this to your init.el:
(add-to-list 'load-path "~/src/mentor/") (require 'mentor)
Change "~/src/mentor" to the path where you keep the mentor source code.
Make sure you have xml-rpc.el installed, at least version 1.6.9.
If you wish to byte-compile mentor, go into the source directory and run:
Here is how you setup autoload. See the Emacs manual for more information on this.
(autoload 'mentor "mentor" nil t)
Make sure that you have rTorrent (0.9.0 or later) installed on your system.
To start mentor, just run:
It should work out of the box, but you may want to do some additional configuration.
You can find additional Mentor options in customize.
M-x customize-group mentor <RET>
Two very useful variables to customize are `mentor-rtorrent-download-directory' and `mentor-rtorrent-keep-session'.
If you are already running rTorrent outside of Emacs, it is easy to configure Mentor to use it.
Add this to your ~/.rtorrent.rc and restart rTorrent:
scgi_local = ~/.rtorrent-rpc.socket encoding.add = utf8
Add this to your init.el and restart Emacs, or customize "Mentor Rtorrent External Rpc":
(setq mentor-rtorrent-external-rpc "~/.rtorrent-rpc.socket")
You can also specify an absolute path:
;; Alternative 2: Absolute path (setq mentor-rtorrent-external-rpc "/path/to/rtorrent-rpc.socket")
It is also possible to connect to rtorrent over http. There are instructions on configuring this on the rtorrent wiki.
;; Alternative 3: Use a web server (setq mentor-rtorrent-external-rpc "http://127.0.0.1:8080/RPC2")
Finally, you can connect directly to rtorrent over scgi. However, anyone that can send rtorrent xmlrpc requests can in all likelihood also execute arbitrary code as the user running rtorrent. Therefore, this is inadvisable on anything but the loopback device (e.g. 127.0.0.1) on single-user systems.
It is almost always easier and better to use a Unix domain socket (file) as suggested above.
;; Alternative 4: Connect directly to rtorrent over scgi (setq mentor-rtorrent-external-rpc "scgi://127.0.0.1:5000")
For more information on configuring rTorrent, refer to the rTorrent wiki.
|<DEL>||Add torrent file|
|l||Add Magnet link, URL or torrent file path|
|K||Remove download including data|
|r||Initiate hash check for download|
|G||Re-initialize all download data|
|v||Show download in dired|
|M||Mark all items|
|U||Unmark all items|
|t c||Sort downloads by state|
|t D||Sort downloads by directory|
|t d||Sort downloads by download speed|
|t n||Sort downloads by name|
|t p||Sort downloads by size|
|t t||Sort downloads by tied file name|
|t u||Sort downloads by upload speed|
|<RET>||Enter file details screen|
|R||Move download data|
|C||Copy download data|
|x||Call XML-RPC command|
|0 - 9||0 - 9||Change view.|
|^D (1)||d||Stop an active download.|
|^D (2)||D||Remove download.|
|^K||k||Close a torrent and its files.|
|n/a||K||Remove download including data.|
|^E||e||Set 'create/resize queued' flags.|
|^R||r||Initiate hash check of torrent.|
|^O||o||Change the destination directory of the download.|
|^X||x||Call commands or change settings.|
|^B||n/a||Set download to perform initial seeding.|
|+ / -||+ / -||Change the priority of the download.|
|<DEL>||<DEL>||Add torrent file|
|l||Add Magnet link, URL or torrent file path|
|l||n/a||View log. Exit by pressing the space-bar.|
|U||n/a||Delete the file the torrent is tied to, and clear the association.|
|I||n/a||Toggle whether torrent ignores ratio settings.|
You can find the latest version of mentor here:
Bug reports, comments, and suggestions are welcome! Send them to Stefan Kangas <firstname.lastname@example.org> or report them on GitHub.