User Tools

Site Tools


rtorrent

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
rtorrent [2009/05/09 08:04]
k2patel
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 ==== ==== Saving torrent state and resume data between sessions ====
Line 42: Line 207:
 </​code>​ </​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>​
rtorrent.1241856242.txt.gz ยท Last modified: 2020/08/10 02:29 (external edit)