User Tools

Site Tools


rtorrent

Differences

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

Link to this comparison view

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>​
rtorrent.1241855869.txt.gz ยท Last modified: 2020/08/10 02:29 (external edit)