This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
rtorrent [2009/05/09 07:57] k2patel created |
rtorrent [2020/08/10 02:35] (current) |
||
---|---|---|---|
Line 11: | Line 11: | ||
* Control-S : starts download | * Control-S : starts download | ||
* Control-D : stops an active download, removes a stopped download. | * Control-D : stops an active download, removes a stopped download. | ||
+ | * Control-K : Close a torrent and its files. | ||
+ | * Control-E : Set the 'create/resize queued' flags on all files in a torrent. This is necessary if the underlying files in a torrent have been deleted or truncates, and thus rtorrent much recreate them. | ||
+ | * Control-R : Initiate hash check of torrent. | ||
+ | * Control-O : Change the destination directory of the download. The torrent must be closed. | ||
+ | * Control-X : Call commands or change settings. | ||
* + or - : changes the download priority of selected torrent. | * + or - : changes the download priority of selected torrent. | ||
* Backspace : adds the specified .torrent. After pressing this button write full path or URL of .torrent file. You can use Tab and other tricks from bash. | * Backspace : adds the specified .torrent. After pressing this button write full path or URL of .torrent file. You can use Tab and other tricks from bash. | ||
+ | |||
+ | Main View Keys | ||
+ | |||
+ | === Peer list View Keys === | ||
+ | |||
+ | Use Arrow Key to navigate on related torrent. | ||
+ | |||
+ | * * : Snub peer (stop uploading to this peer) | ||
+ | * k : Kick peer (disconnect from peer) | ||
+ | * B : Ban peer (No unbanning is possible.) 0.8.4+ | ||
+ | |||
+ | === Tracker list View Keys === | ||
+ | |||
+ | * left : Switch to view selection | ||
+ | * * : Enable/disable tracker | ||
+ | * space : Rotate trackers in a group | ||
+ | |||
+ | ==== Stop torrents after reaching a specified upload ratio ==== | ||
+ | |||
+ | stop_on_ratio = min_ratio,min_upload,max_ratio | ||
+ | |||
+ | <code bash> | ||
+ | schedule = ratio,60,60,"stop_on_ratio=200,50M,300" | ||
+ | </code> | ||
+ | |||
+ | The "stop_on_ratio" command can be scheduled to stop torrents that have reached a specified upload ratio. \\ | ||
+ | The above example will stop a torrent once it has uploaded 200% of the torrent size, \\ | ||
+ | unless less than 50MB has been uploaded and the ratio is below 300%. | ||
+ | |||
+ | Use shift-I to make a torrent ignore this and other commands. | ||
+ | |||
+ | === The ratio handling has been updated in rtorrent 0.8.4. === | ||
+ | == The basics == | ||
+ | |||
+ | # Default group for ratio handling. | ||
+ | <code bash> | ||
+ | group.seeding.view | ||
+ | group.seeding.ratio.command | ||
+ | group.seeding.ratio.disable | ||
+ | group.seeding.ratio.enable | ||
+ | group.seeding.ratio.max | ||
+ | group.seeding.ratio.max.set | ||
+ | group.seeding.ratio.min | ||
+ | group.seeding.ratio.min.set | ||
+ | group.seeding.ratio.upload | ||
+ | group.seeding.ratio.upload.set | ||
+ | </code> | ||
+ | |||
+ | # The above commands can be called through: | ||
+ | <code bash> | ||
+ | ratio.disable | ||
+ | ratio.enable | ||
+ | ratio.max | ||
+ | ratio.max.set | ||
+ | ratio.min | ||
+ | ratio.min.set | ||
+ | ratio.upload | ||
+ | ratio.upload.set | ||
+ | </code> | ||
+ | |||
+ | The 'group.seeding.view' variable points to the 'seeding' view, which contains all seeding downloads, \\ | ||
+ | and the default 'ratio.command' closes the download. To enabled or disable the ratio handling for the group, \\ | ||
+ | call the 'enable' and 'disable' commands which automatically adds it to the scheduler. | ||
+ | |||
+ | Use the 'max', 'min' and 'upload' variables as in the old version. | ||
+ | |||
+ | # Enable the default ratio group. | ||
+ | <code bash> | ||
+ | ratio.enable= | ||
+ | </code> | ||
+ | |||
+ | # Change the limits, the defaults should be sufficient. | ||
+ | <code bash> | ||
+ | ratio.min.set=100 | ||
+ | ratio.max.set=300 | ||
+ | ratio.upload.set=20M | ||
+ | </code> | ||
+ | |||
+ | # Changing the command triggered when the ratio is reached. | ||
+ | <code bash> | ||
+ | system.method.set = group.seeding.ratio.command, d.close=, d.erase= | ||
+ | </code> | ||
+ | |||
+ | == Ratio groups == | ||
+ | |||
+ | If you wish to specify different ratio's for different watch directories, do the following: | ||
+ | |||
+ | Add new views. You may find out what downloads they contain through\\ | ||
+ | 'ui.current_view.set=group_1' command or XMLRPC calls. | ||
+ | <code bash> | ||
+ | view_add = view_group_1 | ||
+ | </code> | ||
+ | |||
+ | # Make the views persist across sessions. | ||
+ | <code bash> | ||
+ | view.persistent = view_group_1 | ||
+ | </code> | ||
+ | |||
+ | # Create new groups, 'group.insert = <name>, <view>'. | ||
+ | <code bash> | ||
+ | group.insert = group_1, view_group_1 | ||
+ | |||
+ | group.group_1.ratio.enable= | ||
+ | group.group_1.ratio.min.set=100 | ||
+ | group.group_1.ratio.max.set=300 | ||
+ | group.group_1.ratio.upload.set=20M | ||
+ | </code> | ||
+ | |||
+ | Optionally you may create a persistent view group directly. Note\\ | ||
+ | that the view name is the same as the group name. | ||
+ | <code bash> | ||
+ | group.insert_persistent_view = group_2 | ||
+ | |||
+ | group.group_2.ratio.enable= | ||
+ | group.group_2.ratio.min.set=300 | ||
+ | group.group_2.ratio.max.set=0 | ||
+ | </code> | ||
+ | |||
+ | Downloads need to be inserted into the view with the 'view.set_visible'\\ | ||
+ | command. Note that extra parameters to 'load' are commands called\\ | ||
+ | with the newly created download as the target. | ||
+ | <code bash> | ||
+ | schedule = watch_directory_1,5,10,"load_start_verbose=foo_1/*.torrent, view.set_visible=view_group_1" | ||
+ | schedule = watch_directory_2,5,10,"load_start_verbose=foo_2/*.torrent, view.set_visible=group_2" | ||
+ | </code> | ||
+ | |||
+ | ==== Scheduling download rate ==== | ||
+ | |||
+ | Every day "throttle_1" gets triggered at 01:00 and sets the download rate to unlimited,\\ | ||
+ | while "throttle_2" sets it to 25kb at 05:00. \\ | ||
+ | Using this the client may be made to perform a somewhat crude form of bandwidth scheduling. | ||
+ | |||
+ | <code bash> | ||
+ | schedule = throttle_1,01:00:00,24:00:00,download_rate=0 | ||
+ | schedule = throttle_2,05:00:00,24:00:00,download_rate=25 | ||
+ | </code> | ||
+ | |||
+ | ==== Secure Torrent from ISP Capping ==== | ||
+ | |||
+ | Not 100% but following you two steps avoid capping from ISP,\\ | ||
+ | == Encryption == | ||
+ | according to manual you can encrypt your transfer and request encryption only\\ | ||
+ | If Encryptiong is successfully enabled you can avoid ISP to capping on packets. which make you partially secure. | ||
+ | |||
+ | Enable following line in your .rtorrent.rc | ||
+ | |||
+ | <code bash | .rtorrent.rc> | ||
+ | encryption=allow_incoming,try_outgoing,require,enable_retry,require_RC4 | ||
+ | </code> | ||
+ | |||
+ | == Random Ports == | ||
+ | This will change ports on every "restart" of the rtorrent.\\ | ||
+ | port_range specify any high number port range - many be bigger than 11K.\\ | ||
+ | Also enable random port. | ||
+ | |||
+ | <code bash | .rtorrent.rc> | ||
+ | port_range = 12000-12999 | ||
+ | port_random = yes | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Saving torrent state and resume data between sessions ==== | ||
+ | |||
+ | Point to a directory where rTorrent will save the torrent files. You \\ | ||
+ | may also use relative paths if you want different session \\ | ||
+ | directories depending on where you execute rtorrent. \\ | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | session = ~/Download/session | ||
+ | </code> | ||
+ | |||
+ | ==== Watch a directory for torrents ==== | ||
+ | |||
+ | Watch a directory for new torrents, restart torrents that have been \\ | ||
+ | copied back and stop those that have been deleted. \\ | ||
+ | |||
+ | <code bash> | ||
+ | schedule = watch_directory,10,10,load_start=~/Download/watch/*.torrent | ||
+ | schedule = tied_directory,10,10,start_tied= | ||
+ | schedule = untied_directory,10,10,close_untied= | ||
+ | </code> | ||
+ | |||
+ | Watch another directory with a different destination. (0.7.7+) | ||
+ | |||
+ | <code bash> | ||
+ | schedule = watch_directory_2,10,10,"load_start=~/Download/watch_stuff/*.torrent,d.set_directory=~/Download/stuff/" | ||
+ | </code> | ||
+ | |||
+ | ==== Move completed torrents ==== | ||
+ | |||
+ | When the torrent finishes, it executes "mv -n <base_path> ~/Download/" and then sets the destination directory to "~/Download/". (0.8.4+) | ||
+ | |||
+ | <code bash> | ||
+ | on_finished = move_complete,"d.set_directory=~/Download/ ;execute=mv,-u,$d.get_base_path=,~/Download/" | ||
+ | |||
+ | # On MacOSX and *BSD. | ||
+ | on_finished = move_complete,"d.set_directory=~/Download/ ;execute=mv,-n,$d.get_base_path=,~/Download/" | ||
+ | </code> | ||
+ | |||
+ | For versions 0.7.7 to 0.8.3 use this: | ||
+ | <code bash> | ||
+ | on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,~/Download/ ;d.set_directory=~/Download/" | ||
+ | |||
+ | # On MacOSX and *BSD. | ||
+ | on_finished = move_complete,"execute=mv,-n,$d.get_base_path=,~/Download/ ;d.set_directory=~/Download/" | ||
+ | </code> | ||
+ | |||
+ | ==== rTorrent Profile ==== | ||
+ | |||
+ | This is the current profile that I am using for my rtorrent client. Though most is using the defaults, there are some decent features. | ||
+ | <code bash | .rtorrent.rc> | ||
+ | # This is an example resource file for rTorrent. Copy to | ||
+ | # ~/.rtorrent.rc and enable/modify the options as needed. Remember to | ||
+ | # uncomment the options you wish to enable. | ||
+ | safe_sync = yes | ||
+ | |||
+ | # Maximum and minimum number of peers to connect to per torrent. | ||
+ | #min_peers = 40 | ||
+ | #max_peers = 100 | ||
+ | |||
+ | # Same as above but for seeding completed torrents (-1 = same as downloading) | ||
+ | #min_peers_seed = 10 | ||
+ | #max_peers_seed = 50 | ||
+ | |||
+ | # Maximum number of simultanious uploads per torrent. | ||
+ | #max_uploads = 15 | ||
+ | |||
+ | # Global upload and download rate in KiB. "0" for unlimited. | ||
+ | download_rate = 2000 | ||
+ | upload_rate = 750 | ||
+ | |||
+ | # Default directory to save the downloaded torrents. | ||
+ | directory = /media/harddisk3/home/jason/images2 | ||
+ | |||
+ | # Default session directory. Make sure you don't run multiple instance | ||
+ | # of rtorrent using the same session directory. Perhaps using a | ||
+ | # relative path? | ||
+ | session = ~/rsession | ||
+ | |||
+ | # Watch a directory for new torrents, and stop those that have been | ||
+ | # deleted. | ||
+ | schedule = watch_directory,5,5,load_start=/media/harddisk3/home/jason/images2/*.torrent | ||
+ | #schedule = untied_directory,5,5,stop_untied= | ||
+ | |||
+ | # Close torrents when diskspace is low. | ||
+ | schedule = low_diskspace,5,60,close_low_diskspace=100M | ||
+ | |||
+ | # Stop torrents when reaching upload ratio in percent, | ||
+ | # when also reaching total upload in bytes, or when | ||
+ | # reaching final upload ratio in percent. | ||
+ | # example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0 | ||
+ | #schedule = ratio,60,60,"stop_on_ratio=200,200M,2000" | ||
+ | |||
+ | # The ip address reported to the tracker. | ||
+ | #ip = 127.0.0.1 | ||
+ | #ip = rakshasa.no | ||
+ | |||
+ | # The ip address the listening socket and outgoing connections is | ||
+ | # bound to. | ||
+ | #bind = 127.0.0.1 | ||
+ | #bind = rakshasa.no | ||
+ | |||
+ | # Port range to use for listening. | ||
+ | #port_range = 6890-6999 | ||
+ | |||
+ | # Start opening ports at a random position within the port range. | ||
+ | #port_random = no | ||
+ | |||
+ | # Check hash for finished torrents. Might be usefull until the bug is | ||
+ | # fixed that causes lack of diskspace not to be properly reported. | ||
+ | #check_hash = no | ||
+ | |||
+ | # Set whetever the client should try to connect to UDP trackers. | ||
+ | use_udp_trackers = yes | ||
+ | |||
+ | # Alternative calls to bind and ip that should handle dynamic ip's. | ||
+ | #schedule = ip_tick,0,1800,ip=rakshasa | ||
+ | #schedule = bind_tick,0,1800,bind=rakshasa | ||
+ | |||
+ | # Encryption options, set to none (default) or any combination of the following: | ||
+ | # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext | ||
+ | # | ||
+ | # The example value allows incoming encrypted connections, starts unencrypted | ||
+ | # outgoing connections but retries with encryption if they fail, preferring | ||
+ | # plaintext to RC4 encryption after the encrypted handshake | ||
+ | # | ||
+ | # encryption = allow_incoming,enable_retry,prefer_plaintext | ||
+ | |||
+ | # Enable DHT support for trackerless torrents or when all trackers are down. | ||
+ | # May be set to "disable" (completely disable DHT), "off" (do not start DHT), | ||
+ | # "auto" (start and stop DHT as needed), or "on" (start DHT immediately). | ||
+ | # The default is "off". For DHT to work, a session directory must be defined. | ||
+ | # | ||
+ | #dht = off | ||
+ | |||
+ | # UDP port to use for DHT. | ||
+ | # | ||
+ | # dht_port = 6881 | ||
+ | |||
+ | # Enable peer exchange (for torrents not marked private) | ||
+ | # | ||
+ | # peer_exchange = yes | ||
+ | |||
+ | # | ||
+ | # Do not modify the following parameters unless you know what you're doing. | ||
+ | # | ||
+ | |||
+ | # Hash read-ahead controls how many MB to request the kernel to read | ||
+ | # ahead. If the value is too low the disk may not be fully utilized, | ||
+ | # while if too high the kernel might not be able to keep the read | ||
+ | # pages in memory thus end up trashing. | ||
+ | #hash_read_ahead = 10 | ||
+ | |||
+ | # Interval between attempts to check the hash, in milliseconds. | ||
+ | #hash_interval = 100 | ||
+ | |||
+ | # Number of attempts to check the hash while using the mincore status, | ||
+ | # before forcing. Overworked systems might need lower values to get a | ||
+ | # decent hash checking rate. | ||
+ | #hash_max_tries = 10 | ||
+ | |||
+ | |||
+ | </code> |