ABC_OKC 4.4.12 (ABC4412_OKC_final0623) Maintenance release 4.4.12 for ABC440_OKC_final0611 Read instructions for installation in §23 of the documentation at the end of this file. If the files mfc90.dll, msvcr90.dll and msvcp90.dll are not in your windows\system32 directory ABC_OKC will not start and show some cryptic messages about configuration. So check your windows\system32 directory and if necessary get the missing dlls from my MissingDLLs folder and drop them into this directory and everything should be fine. ======================================================================================== Bugs fixed since since ABC440_OKC_final0611 ======================================================================================== - There could be a traceback because computing working time left could be wrongly performed for a torrent just turned seed. - In scheduler mode "trigger next torrent after downloading" and when a torrent turned back active, the scheduler could try to queue back the same torrent twice and cause a traceback. - A regression bug introduced in 4.4.0 : Initializing a new torrent without tracker could cause a traceback. - When fixing long file names inside torrents from the torrent list right click menu with several torrents selected, the fact that the event flow could be broken by a dialog showing the status of unfixed file names had not been taken into account. - A bug when deleting read buffers with a too old last access time. - The manual checking of torrents was somewhat broken in the previous release. - The limit share ratio (upload size / download size) could be detected as being reached for a download size slightly below the total requested size. As a consequence the column "%U/D" in the torrent list could display a percentage slightly below the max value for a torrent finished through this kind of limit. %U/D was computed from the real download size, which could include resending of bad pieces. It's now always computed from the requested size and the progress. - A bug when changing file priorities inside a running torrent (in some cases partial complete was not correctly detected and seeds were not disconnected). - After a manual checking of data, updating the file progress column in the torrent Details window didn't work. - Switching to scheduler mode "Only seed" was not working from the command scheduler. - A bug in the connection limiters for completed torrents. - In the torrent finder tool, searching for the status "completed" also brought queued completed torrents. - A very rare case of traceback when resuming a paused torrent that had just turned completed while being set to pause. - There was a problem with the scheduler when "Start an extra torrent when a torrent turns inactive" was unticked in Preferences/"Activity/DRM/URM". The max total number of started torrents was forced to 0 and the scheduler would simply never start a new torrent ! The bug is spotted back in release 4.4.3 when the parameter "Maximum number of extra torrents" was replaced by "Maximum total number of started torrents". This was not very disturbing because the mode when no extra torrent is started when a torrent turns inactive is really not efficient and is definitely not the favorite. In this mode ABC_OKC will not try to find active torrents but will only keep running a max number of torrents. ======================================================================================== New features and improvements since ABC440_OKC_final0611 ======================================================================================== - The Download Rate Maximizer (DRM) : It works like the Upload Rate Maximizer, but it will try to maximize the total download rate. When the max number of active torrents is reached, it will start some more incomplete torrents if the download rate is staying below the max download rate by a given threshold for a given duration. These extra torrents may be put on-hold or queued back if the download rate reaches another given threshold just below the max download rate and is staying above it for another given duration. These torrents are not necessary the ones initially started by the DRM or the lower in priority in the queue ; They are chosen to adjust the download rate to the max you set in the global parameters. The parameters are the same ones as for the URM and are in Preferences/"Activity/DRM/URM". It kicks in 3 mn after ABC_OKC_starts or auto mode is switched on or all torrents are unpaused or a maximum rate is increased. No extra torrents will be started if the max download rate is infinite or while a torrent is checking or allocatin data or waiting for another one to finish checking or allocating. There are also various tricks to avoid out of control torrent runs and limit interaction between DRM and URM. The counter for DRM/URM extra active torrents in the status bar shows the total for both schedulers. - There are new options for the timeout actions available in the Timeouts tab of the torrent parameters to force the torrent to "Finished" only when it is seeding. - Switching to NSIS 3.09. - Improvements in the handling of torrents in waiting status when they have to be queued back. Only the torrents that are strictly blocked waiting for the semaphore to allow access to the drive to start space allocation, will be considered, and they are freezed in that state until all torrents candidates for queueing back are processed. - Various optimizations throughout the program, especially : - speeding up when starting seeding torrents - more efficient handling of semaphore used to access disk while checking/allocating/moving data when pausing and stopping torrents. - In the torrent list there's now a tooltip on the cells of the column Activity to show the row number. - Better protection against disk read errors. - The Sparse1 background allocation mark is now also displayed in the progress field of the torrent list when the torrent is stopped or queued while the system background allocation is still running. There's also a warning if you try to delete a torrent in such a state. - In Preferences/Activity the parameter "Maximum number of extra torrents" has been replaced by "Maximum total number of started torrents". This way it no longer depends on the max number of active torrents. - A lot of simplifications in the way of indexing the torrent list. - Better handling for file handles. - There are new command line options -i, -r, -ra and -s which allow to have a running ABC_OK listening on an IP address to any command sent through a local network by a command line run on another PC. You can for instance remotely add a torrent from a distant PC to a listening ABC_OKC. - You must first install ABC_OKC on both PCs. - Then start the listening ABC_OKC (abc.exe) with the parameter -i followed by its IP address on your network. - Then on the distant PC start abc.exe with the parameter -r followed by the same IP address and the command line you wish to send to the listening PC. If you use -ra instead of -r, torrent files and magnets will be locally associated in Windows on the distant PC and will be automatically sent to the listening PC. If you want to associate (-ra) or remotely add a torrent file (not necessary for a torrent or magnet URL) you must also set a shared directory on the listening PC and use its share name with the -s option in the command line on the distant PC. Examples : On the listening PC with ip 192.168.0.2 start ABC_OKC with : abc -i 192.168.0.2 On the distant PC : To set mode auto on listening ABC_OKC : abc -r 192.168.0.2 -m auto To set mode manual on listening ABC_OKC : abc -r 192.168.0.2 -m manual To remotely add a magnet : abc -r 192.168.0.2 -a "magnet:?xt=urn:btih:75CF4CE0014D91 502CD8D6D3E3AE60D0F39CF341&dn=MyMagnet" If you want to associate torrents and magnets on the distant PC or remotely add torrent files from this PC, first create a shared folder on the listening PC named for instance "Shared". Then on the distant PC : To remotely add a torrent file : abc -r 192.168.0.2 -s Shared -a "abcd.torrent" To set associations with torrents and magnets : abc -ra 192.168.0.2 -s Shared Then clicking on magnets or opening torrents after downloading in your Internet browser or double clicking on a torrent file on the distant PC will add this magnet/torrent in the listening ABC_OKC. - Various optimizations in data upload, data storage, choice of pieces to be downloaded, background space allocation. - More even upload rate when set to no limit. In the last release it could be too pulsating. - Renaming files inside torrent and changing destination is now forbidden for torrents with background allocation running, even when they are stopped. - When you register torrents and magnets with -ra and -s to have them remotely added to a listening ABC_OKC you can also set in the register the options available when adding a torrent (q, t, r, s or a digit ; see $11 in doc) : Use the parameter -o followed by a string containing one or several of the letters or digit options. For example : On the distant PC : abc -ra 192.168.0.2 -s Shared -o qs4 Then all torrent or magnets added from the distant PC will be added to the listening ABC_OKC in quiet mode with the lowest priority and stopped. - The optimisation introduced in release 4.3.40 to lower CPU load is now a bit smarter. - Changed the write buffer behaviour : When it is full only the chunks of the older filled pieces are flushed. - Some tricks to cope with torrents badly built with tens of thousands of pieces ; it's a real CPU hog when it comes to grab pieces for such torrents from incomplete peers. So, as long as connected seeds are downloading for torrents built with more than 5000 pieces, no piece will be requested from incomplete peers if they have not reached a given percentage of completion (parameter mincompforrequest in abc.conf, 0.75 by default, 0 to disable). - Optimisation in buffering of pieces read from disk : * Distinct buffer size for pieces read for uploading and for checking or moving ; The parameter in Advanced Settings is now only for data read for uploading. This paramter can be set to 0 to disable buffering. * re-use of the same buffer when reading data for checking or moving - A new algo to find the next piece to be requested, to lower CPU load for torrents built with a (too) big number of pieces, while keeping a fast completion of downloaded files. As a side effect the max number of connections per torrent may no longer be infinite (=0 in Advanced Settings). The trick described in release 4.46 (based on the min percentage of completion of the torrent mincompforrequest) has been disabled (=0) in this release. - Increased up and down rates per connection. - The code for checking/allocating/moving data (which is run by only one torrent at a time) is now run in the strict order the torrents have been started in the torrent list. In previous releases this order was arbitrarily chosen by the internal Python locking system. - A right click on the mode button toggles the scheduler mode between "Only seed" but without queueing currently running (or on-hold) incomplete torrents, and previous scheduler mode other than "Only seed". In this mode (and if global ABC_OKC mode is automatic) : - For seeding torrents : They are normally scheduled. - For incomplete torrents : None will be started. Only on-hold torrents may be unpaused. It allows to add torrents to the list without having them immediately started, while keeping seeding torrents scheduled. - There's always been flicker in the display of the connected peer list of the Advanced Details window for Windows 7 and later versions. This is bearable with windows XP. This flickering disappears if the list is double-buffered in wx library but it's buggy and this will only work completely if the list is also created without column headers. So to get around all this I inserted the headers in the first row of the list. You can change the width of the columns by left clicking in the top cells of the list and then use the mouse wheel. Click again on the cell or any other focusable item to leave this mode. As in previous releases you can always right click on the top cells to reset all columns to their default width. You can set advdetdbuf to 0 in abc.conf to go back with the old list with headers (and some flickering with Windows 7+). - In previous releases, incomplete torrents which are uploading without downloading were counted as active downloading torrents. The problem is when these torrents keep on uploading for a long time and prevent other incomplete torrents from starting. To cope with this there was a parameter in Preferences/Limits (Max uploading time without downloading per torrent) to force these torrents to release activity and let other potentially downloading torrents start. In this release incomplete torrents uploading without downloading are no longer considered as active. You still may limit them in time with the parameter "Max time per torrent" and in rate with a new parameter "Max up rate per torrent" in Preferences/Limits. - Improvements for URM and DRM (Upload/Download Rate Maximizer) : When running, URM and DRM can start more torrents over the max number of active torrents to try to reach the max upload/download rates (and queue/on-hold some torrents if the rate comes too close to the max rates). There are now new parameters in Preferences/"Activity/DRM/URM" to set manual triggering rates instead of the max rates for these extra torrents. You can also set thresholds below trigger to stop the extra torrents to a negative number or even set stopping to 'never' by entering '-' in the data field. NB : When torrents start/stop there are delays before URM/DRM start extra torrents to let up and down rates find their cruising speed and assure the stability of regulation. There are also delays at startup before URM/DRM kick in. While a torrent is checking or allocating, extra torrents will be started only if they are in on-hold status. There were also some simplifications : - The URM no longer interacts with incomplete torrents to try to deal with their upload rate. - In Preferences/"Activity/DRM/URM" the parameters "DRM/URM can queue/on-hold only active torrents" and "DRM/URM can queue/on-hold only torrents with low priority" are now forced to ON status and are no longer tweakable. - In Preferences/"Activity/DRM/URM" a torrent turning back active may no longer queue back an inactive torrent. - In Preferences/Misc. you can now choose to switch to seeding mode when the disk is full. - Some attempts to speed up reading and writing data to disk. - Switching to NSIS 3.10. ======================================================================================== Minor improvements since ABC440_OKC_final0611 ======================================================================================== - There's a tooltip on the status bar containing the text of the first cell of this bar if it's larger than the width of the cell. - When the main scheduler mode is set to "Only seed", the caption of the main window of ABC_OKC shows "Seeding". If you dislike this feature just set the key schedmodeseedcap in the language file(s) to an empty string. "Seeding" is also displayed in the tooltip of the tray icon. If you don't want it just set the key schedmodeseedtray to an empty string. - In the Advanced Details window "Copy Peer" and "Copy Peer + Client/ID" are now 2 distinct entries in the peer right click menu (No longer need of control key to get Client/ID). - Reduced timeout when starting magnets and waiting for extended or metadata messages from peers. The default value is now 30s (metadatatimeout in abc.conf). - The popup window showing up when new torrents are loaded is now displayed on the screen containing ABC_OKC main window. - '!' is blinking in the progress column while there's background disk space allocation by the system in allocation mode Sparse 1 for a running or paused torrent. You can change the symbols used for "blinking" with progressongoing and progressongoing2 in abc.conf. - Limited the requested chunk size from peers to 32 kB (previous was 128 kB). - In the torrent list seconds are no longer displayed in the columns "seeding time" and "total seeding time". This could generate a lot of updates in a list with very many torrents for no real valuable information. - Added in file PreferredConf some screen captures of my current ABC_OKC configuration (running on a humble machine : Windows XP on Core2-duo, 4 GB memory). ======================================================================================== New features and improvements for ABC_OKC 4.3.x ======================================================================================== - You can now choose to run ABC_OKC in single port mode (the option is in Preferences/Network, it takes effect at the next restart of ABC_OKC). The single port mode only needs one open port for incoming connections at the cost of some heavier CPU load. In the multi port mode (my favorite one) you let the system route incoming connections for each torrent through its own port ; In this case you must reserve at least as many ports as you want simultaneously running torrents. I added this feature to cope with VPNs which only provide a few forwarded ports (and sometimes only one port) for incoming connections. You can set the single TCP port and the UDP DHT port to the same number and so need only one port forwarding. Remember TCP port 56666 is used locally to allow communication with the running ABC_OKC (when you add torrents or send other commands from command line to the running part of ABC_OKC (see § 11 below)). - In the "Find Torrents in List" window there's a new status to search for : "Awaking". This status is not a new one in ABC_OKC, it's just a new search criterion. Reminder : This status is used by only one torrent at a time, when a torrent in Standby status cyclically starts for a short time to check if there are data sharing opportunities with other peers. If there are any, it turns to Working or Seeding status, if not it turns back to Standby status. You can quickly see if there is one torrent in the list with this status by checking the number of running torrents, "R" in the status bar, and the number of torrents counted for the regulation of the total number of running torrents, displayed between square brackets in the status bar. If the former is greater by one than the latter there is an "Awaking" torrent. - Improvement in the handling of duplicate or too long torrent names. - The parameters for the down rate limit feature for torrents with two many small pieces which was added in ABC_OKC 4.2.28 can now be set in ABC_OKC Preferences/Limits. See WhatIsNew_4228final0558.txt for more details. - Some improvements in upload rate with connected peers. - Better upload rate especially when no limit is set. - The search panel has been disabled. Its old code is based upon Internet Explorer protocol and can no longer access all sites. It's safer and more reliable to open sites in your web browser. Clicking on the internet links from the RSS panel now opens URLs directly in your web browser. If you really want to keep using the search panel, set searchpanel=1 in abc.conf. - Some new tricks to increase the upload speed and drive it when it's limited. - Switching to NSIS 3.07. - Some more optimizations in the upload rate and the amount of memory used by buffers to read/write data on disk. Set expirebuffersmsg to 1 in abc.conf to show in the status bar the amount of memory freed up every 300 s (expirebuffersrate in abc.conf). - The cyclical garbage collector is now triggered every 15 mn (it was 5 mn previously) to be less intrusive (it freezes the interface while running). - Unused files to be deleted found in the torrent directory by Preferences/Misc/"Clean torrent directory" are now listed in a dialog and you may cancel operation if you wish. - Optimizations in data buffering to improve upload rate and lower memory usage. - Switching to NSIS 3.08. - To lower memory usage when reading data from disk to check them, move them or upload them to peers, pieces bigger than 2 MB are now buffered in memory into 2 MB chunks. This limit for buffering in ABC_OKC can be twicked in Preferences/Advanced Setting with the new parameter Read buffer size. The 2 MB size is a compromise between memory usage and disk access frequency. With smaller buffers for pieces, buffer expiration age can be increased ; The default value is now 1800 s. Set it to this value with expirebuffersage in abc.conf. If you want to try to never expire buffers, set expirebuffersrate to 0 (instead of default 300 s that will stay the favorite). To minimize memory fragmentation buffers smaller than 128 kB are now never expired (parameter expirebufferssize in abc.conf). - HTTPS with Bittorrent (Ah ah ah) : You may have more and more problems to connect to URLs that have turned to HTTPS. This may show up when adding a torrent from URL from inside ABC_OKC, connecting to trackers or getting data from RSS feeds. You will be unable to connect because the HTTPS certificates can't be verified. You can try to solve this with one of these solutions : -1- Try to add the missing certificates to your Windows environment ; but this is very likely to fail because Python and Windows do not cooperate well to keep these certificates uptodate and share them. And it depends on Python and Windows versions ! -2- Some servers may still work in HTTP, try the same URL in HTTP. -3- For trackers that have still an access in HTTP or UDP, you just have to create in ABC_OKC a parameters template which replaces the internal tracker with the HTTP or UDP version, and trigger this template with the name of the tracker. -4- A new radical solution is to skip the SSL certificate verification with the parameter skipcertifverif set to 1 in abc.conf ; Yet doing this will cancel the SSL protection of HTTPS. There's an new option in Preferences/Network to set this (Skip HTTPS certificate verification). I've personnally never met MITM attacks with Bittorrent... - URL locations in unicode are now retrieved. - Improvements in the RSS code and test for the main torrents RRS feeders I could find around. Information about format for cookies of RSS feeders : In the RSS feeder parameter page, they must be entered in the following standard way : = or for several cookies : =; =; = - There's a new entry in the RSS article right click menu to copy the RSS article title to the clipboard. - Improvements in the focus handling and the window content display in the RSS panel. - You can use the arrow keys to scroll and select items in the RSS article list. - In the peer list of the Advanced Details Window, the right click menu on a peer now shows more informations about the peer (port and Bittorrent client if available) and allows to copy IP/port to clipboard and to manually kick or ban the peer. - When a torrent is removed from the main list and if you don't check the option "Remove backup torrent backup file when removing torrent from list" in Preferences/Misc, the torrent file is now moved to the "torrentbackup" subdir of your ABC_OKC user data directory instead of being left in the "torrent" subdir. This folder is automatically cleaned up each time ABC_OKC is started. - Some optimizations to speed up the allocation of space on disk and the upload. - There's a new option in Preferences/Queue : "Count seeding time also for standby torrents". Complete torrents in standby mode are not considered seeding because they are in fact stopped with the ability of awaking cyclically to check for sharing opportunities. So the time they are staying in that state is not counted in the total seeding time and in the seeding time used to automatically stop seeding and turn the torrent Finished when the time based seeding limits are reached. With the new option checked, such torrents are still considered as stopped (not counted in running or seeding torrents) but the time they are staying in standby mode is counted in their seeding time. So they can turn finished from the standby mode when their time based seeding limits are reached. If you switch ABC_OKC in manual mode the seeding time for such torrents is not counted as long you stay in this mode because in this mode standby torrents are never awakened. - In the Advanced Details window of a torrent, "Copy Peer" from the right click menu on a connection now copies to the clipboard IP address/port AND peer client and peer ID if you hold down the control key. Without the control key only IP address/port are copied to keep matching with the format of peer IP/port list inside ABC_OKC. - Renaming files from clipboard can now be interrupted if an error has occurred. - More choices to deal with long path names : * There's a new "Long path names" option in Preferences/Misc. with 3 radio buttons : "Try auto fix in torrents and warn elsewhere for length > 259" will try to shorten file names inside torrents to match max file length in Windows XP. A file (named .originalfilenames.txt by default) with the sorted original file names will be added to the downloaded data (coded in utf-8 with BOM header). If renaming files fails you will be warned with a message to ask for manual operation. Trying to use too long file names in the program anywhere but in the torrent data will always bring a warning message. "Warn for manual fix for length > 259" is the default behaviour in the previous ABC_OKC releases. Trying to use too long file paths (according to Windows XP limits) will always bring a warning message and torrents with such files inside will not start automatically. "Warn for manual fix for length > 32767" is only to be used with OS allowing long files names, typically Windows 10 with the long file names option enabled. The behaviour described for radio button 2 will apply for file names path length over 32767 characters. * You can also manually trigger the automatic shortening of files inside a torrent from the right click menu of the torrent list or on a torrent detail window. This is to be used when you chose option 2 or 3 in Preferences/Misc./"Long path names" and you can't go through a manual change of file names. * 2 important rules to remember : - Don't start a torrent with file names status in error : It will fail with problems in accessing files. - Set the final completed downloaded files destinations (after move by ABC_OKC, set in the parameters of each torrent) with a name length lower or equal to the length of the initial download folder (set in Preferences/Misc./"Download location" ; The file name status and automatic name shortening are computed to match the initial download location folder. - In the right click menu of the file list of the torrent Details window there are two new entries : "Copy Original Name" to copy to the clipboard the original name of selected files "Reset to Original Name" to reset all files to their original name ; Be warned that already received data may not always be renamed because this can lead to invalid file names. Normal "Rename" entry does not allow to rename valid files to invalid files. - When renaming files inside torrents results in the same file name error status as it was before renaming, the new name is kept with a warning message. Previously the new name was discarded. - When you overwrite a loaded torrent with a magnet or a torrent, the initial destination folder is always kept for the new item if this folder exists and the files inside have not been renamed. This will keep any change you could have done with this destination folder and continue downloading from where the first torrent had reached. - In the torrent Change Destination dialog you can now force the destination name for a magnet even before metadata are received. If manually set this destination will not be overwritten when metadata are received. This can be used to make a magnet point to a directory with already received partial data. In previous releases this could only be done with torrents. To reset this destination to the standard behaviour of being set when torrent metadata are received, just copy the string "< Magnet - will be set when torrent metadata are received >" from the original torrent name field to the destination name field (with the button copy at the right of the field). Note : When you set the destination name to be set when torrent metadata are received, the behaviour at that time is taken from the existing parameter Preferences/Misc./"Keep name and destination from magnet URLs" : named from the magnet name if checked, named from the torrent metadata if unchecked. - Changing download destination for a torrent is now possible also when it's not running and ABC_OKC is in manual mode. In previous releases the torrent had to be stopped. So you can now change the download location or destination for torrents without losing their "Queued" status. - In the right click menu of the torrent details window file list you can select all file names that contains a given string. This can be used to select all files of a folder when they are not sorted in alphabetical order (as they should be) in the torrent. - In the torrent details window and for a multi-file torrent the number of selected files is now displayed in the header of the file name column of the file list. - In the torrent details window the file list right click menu has a new item "Select Invalid Names" to select all files with invalid file names in the file list. You can also click on the "Name Status" column header to get this selection. - Similarly to the main torrent list, the file list in the torrent details window has now a mode for the mouse wheel to browse the selected files in the list. This mode is toggled with a left click on the coloured square of the torrent status. You can also leave this mode by clicking on any other field of the window taking the focus. If there's no selected file in the list, switching to this mode will first select all files with an invalid name to let you browse these invalid files. - The string used to identify a connected bittorrent client through peer protocol extended messages is generally different from the HTTP user agent of this client. This identifier is mainly used to display locally the fully readable name of the connected client and its version. In previous releases the HTTP user agent was used for both identifiers. You can now enter in Preferences/Network the string for this identifier for each of your custom configurations. - Sparse allocation mode : Changes introduced in 4.3.20 caused faster allocation but might increase later write accesses to disk which could temporily freeze disk access for download and upload or spoil high download rates. I switched back to slower allocation but kept other improvements with Sparse 1 mode. The mode with faster allocation is still available as Sparse 2 in Preferences/"Advanced Settings". - A lot of improvements in data input filtering and validation throughout the code. - In Preferences/Limits/"Download limits", the limitation of the download rate has a new parameter along with the number of pieces in a torrent : the size of the piece. At high download rates, a very large number of pieces of very small sizes may cause very numerous disk writes during a long time that may monopolize disk access and slow down other torrents. - When a magnet has finished downloading its metadata the status of the activity of the torrent is switched on and maintained during the waiting/checking/allocating phases to prevent other torrents of the queue from starting because of the possible long inactivity of the torrent during these steps. This behavior during the waiting/checking/allocating phases is also applied when a torrent starts. - The main scheduler has now 3 modes (switchable in Preferences/Queue) : -1- Trigger next torrent after downloading : This is the same as in previous release but it has been improved with a new parameter to limit the number of active seeding torrents. This new parameter is in Preferences/Limits. So active seeding torrents and active downloading torrents have each their own max number limit and are run in two distinct sub-schedulers of the main scheduler. This is very useful because downloading torrents are most of the time consuming more resources of your CPU and disk access than seeding torrents. Now you can keep running more seeding torrents than downloading torrents instead of limiting them globally. When this mode is switched on, the ABC_OKC status bar also shows the counters for the seeding torrents, just after the counters for downloading torrents. The max number of extra torrents started when some torrents turn inactive is still global for all torrents. In this mode it is divided (by half by default) between the seeding and downloading torrents. The part of this max number for seeding torrents can be set with the parameter activitymaxforseed in abc.conf. -2- Trigger next torrent after seeding : This is the same as in previous release. The active downloading and seeding torrents are limited globally by the sum of the max numbers of active downloading and seeding torrents set in Preferences/Limits. All torrents are run in one scheduler. -3- Only seed : The scheduler will only run the complete torrents. There will be only seeding and no downloading. The new max active seeding torrent parameter and the scheduler mode have been added to the command scheduler. - Improvements in interactions between torrents : - Waiting torrents can be paused. - A torrent paused when waiting/checking/allocating does not block other waiting torrents any more. - Counters W and S in the statusbar now also show the number of active torrents and the max number of active torrents. - A new parameter in Preferences/Limits which will overwrite the maximum number of active seeding torrents when there are only seeding torrents. This allows to have more torrents seeding when there are no longer any downloading torrents. This parameter has been added in the command scheduler. The "when only seeding" condition is now met when there's no active download, instead of when there's no connected download. This behaviour can be changed back with the nodownisinactive parameter in abc.conf (1 is the default). Switching between "only seeding" and "seeding/downloading" states will not occur if there's at least one paused torrent. This parameter is not used when the scheduler mode is set to "Trigger next torrent after seeding", because in this mode running torrents are managed globally without distinction between seeding and downloading status. - A few optimisations in the scheduler. - Back to Python automatic garbage collecting : Set cyclicalgcrate=0 in abc.conf. This is now the default value for a fresh installation. The reason for this option is that less memory is used to buffer piece data for uploading. - Reworked the logic behind the switching between the waiting, allocating, pause and stop (or queue) status for the Sparse1 allocation mode where the disk space reservation is made by the system and can't be stopped when it's started for a file. - For partial torrents (with only some files selected for download), disk space allocation Sparse1 and Sparse2 modes now allocate only necessary files. - Back to Python cyclical garbage collecting : Set cyclicalgcrate=1800 in abc.conf for a complete garbage collection every half hour. This is now the default value for a fresh installation. Complete collecting frees up more memory, at the cost of a longer freeze. - When the main scheduler mode is set to "Trigger next torrent after seeding", switching to the "Max number of active seeding torrents when no seeding" is not always relevant because it may trigger a downloading torrent and make the max number of active torrents constantly switch between "when seeding" and "when no seeding" values. So this max value when no seeding is now only used when in the mode "Trigger next torrent after downloading". The "Trigger next torrent after downloading" mode is also now the default mode for a fresh installation. - Unwanted files from partial torrents are now deleted when data are moved to their final place instead of being kept with the uncompleted mark. - As the size of read buffers is now very low these buffers are no longer expired for a default fresh installation (expirebuffersrate=0 in abc.conf). - After ABC_OKC startup all standby torrents are synchronized and will try to awake at the same time at the end of the max allowed scraping period per tracker. This first delay for awaking is now initialized to avoid these simultaneous connections. - Various parameters tweaks for a fresh installation (If ABC_OKC is already installed you can manually set these parameters to the new values in Preferences or abc.conf) : - Default disk space allocation type is now Sparse 1 to avoid disk fragmentation (You can change it in Preferences/Advanced settings). - Buffer expiration is now on every 5 minutes and only for buffer size above the "read buffer size" set in Preferences/Advanced settings (expirebuffersrate=300 and expirebufferssize=-1 in abc.conf). - "Read buffers max cat. size" number of buffers in Preferences/Advanced settings is now 80 instead of 60. - A new option in Preferences/"URM/Activity"/"Activity detection" to optionaly queue back a running torrent which turns active, if no other torrent can be queued back among active or inactive ones. This was always switched on in previous releases. - Many improvements in the main scheduler. - Time elapsed in pause or on-hold status is no longer counted in timeouts. - There's a new option in Preferences/Limits/"Upload limits" to switch and set value for a maximum uploading time without downloading for uncomplete torrents. The counter for this duration is reset each time the torrent is restarted and when some downloading is occuring. When the torrent reaches the limit, uploading will stop, but the torrent keeps on running. Of course there's no limit when the torrent is complete and is seeding. - Cleanup and improvements in the main scheduler logic. - More improvements in the main scheduler. There is no longer a special treatment for magnets in scheduling. This could lead to odd behaviours without any really noticeable improvements. Reminder : When a running torrent turns back active, an allocating torrent is never turned on-hold because it would have to check its data when restarted which can be time consuming for a big torrent. - There's a reset button in the "Find Torrents in List" window to clear all fields and the list of found torrents. - The options to display messages during the steps of closing ABC_OKC, already available in abc.conf, can now be tweaked in Preferences/Interface. - There is a new option in Preferences/Interface to display a message while ABC_OKC has been closed but the underground connection are still waiting to time out and the Windows process to shutdown. - Cleanup in the code. - In the "Find Torrents in List" window, "Waiting" and "Allocating" have been added in the choices for the torrent status. - The "lazy bitfields" option was always switched on. It's now off by default and can be switched with the abc.conf option breakupseedbitfield (0/1 : off/on). - In the Advanced Details Window the estimation of the download rate of a peer is now improved and computed to smoothen the pulse nature of its measure. - A completed torrent keeps track of the connections with other seeds even if they are immediately disconnected. The number of such seen connections are displayed in the field #Seeds of the torrent informations and used to colour it "OK" (green by default) meaning that completed data exist in the swarm for this torrent. Such virtual connections expire if they are not seen again at the end of a 2 hour delay. If the number of those tracked connections reaches 0 and there are no complete copy available in the swarm of peers the torrent is coloured "No complete data" (blue by default). So for completed torrents the tracking of the number of other seeds in the swarm is useful to give information about the availability of the torrent. But for incomplete torrents these connections with old seeds were also tracked but only used to colour the torrents. There's no real need for this because a disconnected seed has not the same meaning for an incomplete torrent. I changed this so that it's no longer used for incomplete torrents. - Lower CPU load for running torrents without connections or traffic. - Faster handling when several torrents are selected for stopping or queueing, very noticeable when all torrents must be stopped when ABC_OKC is closing. - All the code for the old internal web browser has been removed. ======================================================================================== Minor improvements for ABC_OKC 4.3.x ======================================================================================== - I removed the information Md5sum for each file from the Torrent Details Window ; In fact I've never seen a torrent using this feature. - Torrent renaming dialog can be resized in width. - In the Torrent Parameters window, setting the folder to move data to an empty string prevents any move for that torrent whatever the main move parameters may be. This may be useful for example if you change the destination for a torrent and don't want the data to be moved on completion or deletion. - Cosmetic changes in dialogs used to enter text. - When the upload rate is unlimited, extra torrents are now always started by URM. In previous releases they were not because I considered their starting was based on a threshold between the measured upload rate and the upload rate limit, and in this case it's infinite. But after all it may be more logical to start them, and more coherent with the case of limited upload rate. - When switching between sub-pannels in the RSS client there was some flickering when the RSS list was displayed. - Torrent Change Destination dialog can be resized in width. - Dialogs to rename files inside torrent, to add torrent from URL or infohash and to enter name for templates or connection limiters can be resized in width. - Right clicking in the left cell of the status bar erases its content. Set clearstatusbutton to 1 in abc.conf if you prefer clearing with the mouse left button. - When copying a parameters template the triggering rules are now also copied. - The option to skip HTTPS certificate verification is now on by default for new installations. - When a torrent is Paused or On-hold, the details windows are no longer freezed and keep showing real time informations about connected peers and torrent statistics. You will see that some peers will disconnect if you stay paused for a long time. - Each left click on the big title field of a details window now toggles on/off the mode allowing to browse the details of the torrents in the list in this window with the mouse wheel. Previously setting this mode off could only be done with a click on a field able to receive the focus elsewhere in the window. - The incomplete mark that was added to incomplete files when moved to final destination is now an option in abc.conf (incompletemark). It's no longer added to the file name, but replaces the last character so as not to change the file name length. - The option "Keep duplicate dest" in Preferences/Misc./"Download destination" has been removed. It's rather useless and may bring confusion. - Improvements for kicking and banning peers that send bad data. - In the torrent details window the "Name Status" column header of the file list shows the number of invalid names. - In all lists (torrents, files inside the torrents, search results, commands) there's a new keyboard shortcut to deselect all items : Ctrl + Z. - Left click on the upload rate cell of the status bar : opens the ABC_OKC preferences window with the queue tab selected to let you change quickly the scheduler mode. - Cosmetic changes in the statusbar. - Whether or not to have the upload rate maximizer start new torrents when the global maximum upload rate is unlimited is now an option in abc.conf : urmonunlimiteduprate, off (=0) by default. Set it to 1 if you wish to force this behaviour. - When the disk space allocation type is Sparse1, a "!" is added to the allocation progress to remind you that the allocation is completed by the system on a per file basis, which means that when a file starts allocation, it will always go to end (in the background if needed) even if you stop or pause the torrent. Also as there's no way to know the real progress of allocation for a file, except when it's over, the progress value may stay stuck to the same value for some time. - Some slight optimizations in buffer cleanup handling. - Tracker error messages are now prefixed with IT or ET for internal or extra tracker. These messages are no longer systematically erased when switching trackers so that you may see the cause of the trouble with the last attempted connection even after the torrent is stopped. - In "ABC_OKC Advanced Settings" the max peer connections parameter is now a spin box. 0 means unlimited number of connections. - In the RSS panel the focus is automatically set to the article list or the article content when the mouse enters the matching window, if the previous focus was one of these windows. - The window to view and copy the content or the source of an article is no longer the wx lib one because it behaved somewhat strangely. ======================================================================================== New features and improvements for ABC_OKC 4.2.x ======================================================================================== - More accurate upload and download rate regulation and better algorithm to reconnect after disconnection from the network. - Cleaning up in the tracker connection code. - There's a new torrent parameter in Label/Move/Tracker for torrents with an external tracker that check the internal tracker at start, to stay connected with the internal tracker till downloading. If set this parameter will be effective according to the global setting of internal trackers checking in Preferences/Network (3 state checkbox). If the global setting is unset, this parameter is not effective. While waiting for download, the tracker button of the torrent Advanced Details window reads "Waiting...". This parameter is also available in the templates. It can also be linked with a keyboard shortcut used when resuming a torrent (see §21 in documentation). - Various internal improvements and cleaning in the code : * Disabling of the manual cyclical garbage collecting. This should not be very useful now that the code does not generate cyclical references or odd memory allocation. This has to be validated on the long run. * No more general exception checkings in the tracker connection code. * Left clicking on the main torrent list column header Priority does not sort the list any more. You must use Ctrl+click like the other column sorting actions. * The dynamic max upload rate is no more averaged. This makes the rate regulation faster without compromising its stability. This is configurable in abc.conf (meandynmaxuprate). * The time to measure the rates is now a parameter in abc.conf (maxrateperiod). * Ctrl+click on the tracker button in the torrent advanced details window when it's in the "Waiting..." status reset it to Internal. * The network disconnection checking now kicks in 5 minutes after the last time there was no active torrent. - Switching to Python 2.7.8. - Manually resuming an automatically started torrent while it's already running now switches its internal started mode to manual, granting it the behaviour of manual torrents (Such torrents can't be queued back by the internal scheduler if the setting is set accordingly in Preferences/Queue and Preferences/"URM/Activity/"). - You can now replace internal trackers with a url and use another external tracker url independently. This can be set in the tracker tab of the torrent parameters. These parameters are also available in the templates. - The web service has been updated with the new torrent parameters. - Some cleaning in the code (type of parameters) and some cosmetic improvements. - Some improvements in the management of connected peers. - There's a new button in Preferences/Misc. to clean the torrent directory ("torrent" directory below the user application data ABC_OKC directory). This button will delete from the torrent directory torrent files no longer in the main torrent list of ABC_OKC and old temporary unused files that could have remained from bugs or crashes. If pressed with the Ctrl key it will only delete old temporary unused files. - Added resume tracker modes 8 and 9 for keyboard shortcuts (see §21 in documentation). - Switching to Python 2.7.9. - Implemented DHT Security Extension from BEP 42. This is meant to prevent DHT nodes from making themselves the favorite tracker of a torrent and taking control of it. To achieve this the DHT node ID is linked with the node IP address when it is generated. A node enforcing the BEP 42 rules will not store peer contact informations on to your node if this link is not verified. The problem with this extension is that it will not work with some network configurations. Some VPNs expose different external IPs at each connection with peers and so DHT is partially working and this causes numerous recomputings of the DHT node ID. So there is an option in Preferences/Network to switch DHT Security Extension on or off. If this option is ticked ABC_OKC generates a node ID complying with BEP 42 rules and sends back to connected peers there own IPs but it doesn't enforce these rules. - Some limitations to avoid data overflooding or excessive requests from other peers : * Limitation for the max up rate used by DHT responses (parameter dhtmaxresprate in abc.conf, set to 5 ko/s by default). * Limitation to 50 for the number of added peers in each received PEX message. - Some improvements in the upload rate. - The inactivity and error timers used to trigger the download and upload and tracker timeouts are now saved between sessions for each torrent. These timers are always automatically reset when a timeout occurs. You can also choose to reset these timers when a torrent starts or to keep them from the previous torrent run in Preferences/Queue/"Global torrent timeout settings". The timer to trigger the standby timeout is also now saved between sessions. In previous releases, these timers were not saved between sessions and reset when torrents started. - The sorting actions in the torrent list can be undone and you can save/restore torrent ordering configurations. * When you sort a column by default order, the current order is remembered as the reference order if it is unsorted and it can be later restored in the following way : + For a column not locked in sorting in Settings/"Columns and Sizes", Ctrl + left mouse button on a column header of the list cycles through : -> default order (set in Settings/"Columns and Sizes") -> reverse default order -> last reference order + For a column locked in sorting in Settings/"Columns and Sizes", Ctrl + left mouse button on a column header of the list cycles through : -> default order (set in Settings/"Columns and Sizes") -> last reference order You can always reset this sorting action cycle and then force the current list ordering status to unsorted with the short key Ctrl + (numeric pad .). This action does not change the order of the list, it just sets the list status to unsorted. When you restart ABC_OKC the list ordering status defaults to unsorted and the torrents are loaded in the order they were saved when ABC_OKC last closed. Remember that the option to lock finished and/or completed torrents at the top of the list while sorting can be set with Ctrl + right mouse button on any column header. * You can also manually save and recall at any time 10 ordering configurations with short keys (keys are the same as for bookmarks, plus the shift key): + Alt + Shift + (numeric pad 0-9) : stores the current order in the list into memory 0-9 + Ctrl + Shift + (numeric pad 0-9) : sorts the list with the order saved in memory 0-9 These 10 ordering configurations are saved between sessions. When you load one of these saved ordering configurations the sorting action cycle is reset. Torrents that are added to the list between saving and restoring an ordering configuration are restored at the end of the list. Restoring a previous ordering configuration to the current torrent list does not apply the automatic torrent move rules you may have set when torrents turn completed or finished. So there are 2 new entries "Sort Finished/Completed at Top" and "Sort Finished at Top" in the torrent list contextual menu to do this manually if you wish. - The unsorted status has been added to the cycle of sorting actions for the lists other than the torrent list where this is relevant (templates, template triggering, connection limiters, RSS history, RSS articles). As in the torrent list Ctrl + (numeric pad .) resets the sorting action cycle. - You can sort a block of contiguous selected torrents in the torrent list without changing the order of the rest of the list. Select some contiguous torrents and then right click with the mouse inside the block of selected torrents on the column you want to sort. Then choose "Sort selected block" in the contextual menu. If there are several blocks of selected torrents in the list, only the one that is clicked over is sorted. As long as the same range of torrents is selected and you click on the same column, you get the same cycling of sorting actions as when a column header is clicked. - Switching to Python 2.7.10. - Switching to PyCrypto 2.6.1. - Switching to Feed Parser 5.2.0. - In the advanced settings the read buffer max category size can also be limited in term of number of created buffers per category (10 by default, 0 means unlimited). - Improved protection against DHT request overflooding. - Manual cyclical garbage collecting had been disabled in version 4.2.1. As it really contributes to keep memory usage low it's now re-enabled. - Switching to Python 2.7.11. - Switching to NSIS 2.48. - Switching to pyWin32 220. - Better code to trap disk write errors. - Switching to Python 2.7.12. - Switching to NSIS 3.0. - Switching to Python 2.7.13. - Switching to PyWin32 221. - Switching to NSIS 3.01. - Switching to NSIS 3.02.1. - Switching to Python 2.7.14. - Switching to PyWin32 223. - Switching to NSIS 3.03. - Switching to Python 2.7.15. - Switching to PyWin32 224. - Switching to Python 2.7.16. - Switching to NSIS 3.04. - In the torrent details window, you can rename selected files inside a torrent using the content of the clipboard ("Rename from Clipboard" in the torrent file list right click menu). The clipboard must contain as many file names (one per line) as there are selected names in the torrent file list. Combined with the "Copy Name" function, this allows you to export the file names to a text editor for complex name editing and then use this edited content back to rename the files. - Switching to Python 2.7.17. - Switching to PyWin32 225. - Switching to PyWin32 227. - Switching to NSIS 3.05. - Some people still build their torrents with a too small size for pieces that does not match the total size of data. It results in a very big number of pieces (for instance 50000 pieces of 256 kB for a 12 GB torrent ; Such a torrent should have around 3100 pieces of 4 MB). That's not efficient : it eats memory and is a CPU hog for high download rates. We can't do anything in the torrent itself. But I added an option to automatically limit the download rate of such torrents at loading time. There are 2 new options only available in abc.conf : - nbpiecesfixmaxdownrate (set to 800 by default) : This is the max download rate in kB/s that will be set for the torrents at loading time (if it's below the current max download rate set by templates) when the number of pieces exceeds the value of the parameter nbpiecesfixtrigger. Torrents with piece size >= 16 MB are never limited. Set it to 0 to disable the entire process. - nbpiecesfixtrigger (set to 11000 by default) : This is the number of pieces that will trigger the automatic download rate limiting of the torrents. You can always manually change the max download rate in the torrent parameters later on. - When uncomplete received data for a torrent that did not go complete are moved to their final place, uncomplete files are renamed with a terminal '!' so that you may easily identify complete and usable files and uncomplete and possibly not working files. If you want to try to use data from such a torrent, don't forget to finish disk space allocation and reordering of pieces inside this space with the right click menu "Advanced Features/Finish Allocation" on the running torrent. There's now a message in the torrent list when the allocation from a manual request is done. - More tweaking with the Python garbage collector. There should be less freezing during the garbage collection when ABC_OKC is running very many torrents. - The free disk space watchdog is now more accurate with the free space left on disk. - Improved kicking and banning of peers sending bad data. - Various improvements in memory management. - Switching to Python 2.7.18. - Switching to NSIS 3.06.1. - Some more improvements in the detection of peers to be banned for sending bad data. - You can now rename the destination of a torrent even if the new complete path to some files inside the torrent is too long. You get a warning message but the renaming is not aborted. So you can try to solve too long paths independently with the destination name and the renaming of the files inside the torrent. In this case and if there are data already located in the old destination, they are never moved to the new one which is invalid for some files. - New algo for the detection of peers to be banned for sending bad data, to get as much good data as possible from faulty peers without downloading too many bad pieces. - There's now a small popup window showing at the bottom of the screen each time a new torrent is added to the list. It stays visible for 3 seconds. If several torrents are added within this delay the counter on the popup is incremented. There's a new option in Preferences/Interface to switch on/off this popup. The delay it stays visible can be tweaked with the parameters popuploadeddelay in abc.conf (quit ABC_OKC before changing the value in abc.conf and save the file). This popup is particularly useful when you're adding a torrent or a magnet from your Internet browser. ======================================================================================== Minor improvements for ABC_OKC 4.2.x ======================================================================================== - You can set the direction the mouse wheel scrolls the tabs in multi-tab windows with the parameter mousewheelontab in abc.conf (values : 1 or -1). - Some improved performance in the tracker connection code. - In the torrent Advanced Details window, the private/public status of the torrent is now always displayed (and not only when the torrent is stopped like previously) in a small coloured box next to the tracker connection indicator : black for public, white for private. - In the torrent parameters, comboboxes used to choose values for timeouts et seeding time have been replaced with fields to input freely days, hours and minutes. No more endless dropboxes ! This input format is also used for the RSS scan and the directory scanner timers, and the time window width to measure the stream volumes. - The label of the tracker button in the Advanced Details window in waiting status has been changed to "Int > Ext". Anyway it's customisable in the language files (with the key "trackerbutwait"). - Ctrl+click on the tracker button in the Advanced Details window in Internal or External status toggles it in the transient waiting status (for a running torrent not paused and not on-hold). As in previous release Ctrl+click on the tracker button in the transient waiting status toggles it in Internal status. - ETA is now displayed taking into account that it's a countdown. As only the 2 most significant fields of the value are displayed, the values in these fields only change on actual transitions. It's no longer displayed as a mere round down. For example a time left of 7500 s (= 2h 05m 00s) displayed as 02h:05m will only change to 02h:04m when the countdown reaches 7440 s (= 2h 04m 00s) and no longer as soon as it is 7499 s (= 2h 04m 59s). - Holding down the shift key while clicking on the "Move/Go below completed" button in the bottom bar changes the default behaviour of this button : * left click : move the selected torrents below the finished torrents first (instead of the completed torrents) ; * right click : scroll the torrent list to show the end of the finished torrents first (instead of the completed torrents) ; if the parameter in Preferences/List/ "Scroll below completed goes below finished first" is ticked, these behaviours are reversed. - In the torrent Advanced Details window, data about download are now displayed before data about upload. It's more logical because data are ordered this way in all other windows by default. - The time to measure the rates is no longer tweakable with the parameter maxrateperiod in abc.conf. - A torrent in "waiting" status can be paused. - Slight changes in the handling of the persistent completed messages. - The option to reset the sorting action cycle in the torrent list (short key Ctrl + (numpad .)) was added to the torrent list contextual menu. - Improvement in protection against peers uploading bad data. - Some improvements in the process of connecting with peers. - When the mouse was dragged away from the torrent list with a clicked left or right button during a selection or move of torrents in this list, the selection or move operation was abandoned. It's now completed if the mouse enters back the torrent list with the same clicked button. ======================================================================================== ======================================================================================== You will find below : - The highlights for ABC_OKC final releases older than 4.3.0, - The detailed new features and improvements for each release, - The documentation for the main ABC_OKC features. ABC_OKC is running on Windows systems. Some adaptation in the source code would be necessary to make it run with another OS. From release 3.8.0, ABC_OKC is compatible with Windows 7, Vista, XP and 2000. Previous versions are compatible with Windows 7, Vista, XP, 2000, 98 and ME. ABC_OKC supports Unicode. Notes : - Don't install ABC_OKC and ABC or LH-ABC in the same directory. They don't use the same format when saving parameters. - From the 3.3.0 release on, the non Unicode version of ABC_OKC is left behind. The release is the Unicode version and gets back its name without "_U_". ======================================================================================== ======================================================================================== Why ABC_OKC : ABC_OKC has been developed based on Choopan Rattanapoka's first ABC to focus on : - making a better and constant use of your available upload bandwidth to maximise your upload rate while keeping other network applications working, - automating the setting of parameters for each torrent at torrent loading time, - dealing with almost dead torrents to get the best chances to terminate them, - automatically managing downloaded data and torrents when completed and finished, - opening to other applications or scripts through command line and automated directory scanning for torrents, - providing a quick access to the most used features in a few mouse clicks or shortcuts. ABC_OKC (ABC Old King Cole) status : ABC_OKC is free. ABC_OKC or any piece of its source even modified may not be sold or used in any commercial package. The source can be modified but must always be attached to the corresponding binary release. ======================================================================================== ======================================================================================== ======================================================================================== ======================================================================================== Highlights for ABC_OKC 4.2.0 06/24/2014 ======================================================================================== ======================================================================================== - Some more improvements in the upload and download rate regulation. - Some tricks to speed up the reconnection with peers after a disconnection of ABC_OKC from the network. This is particular useful when working with VPNs that occasionally go down. This feature kicks in 5 minutes after ABC_OKC starts. - Some automation to get and keep connected with more peers. - The torrent settings for the external tracker are now available as template parameters. - Two more settings in Preferences/Network to set the default behaviour when starting a torrent with the external tracker and to remember or not the default tracker. - The tracker settings can be overridden on the fly when resuming torrents, with new keyboard shortcuts. See "New features and improvements for ABC_OKC 4.2.x" in the documentation or the shortcut summary for more details. Reseed resume is now achieved with mouse right click + Fast Resume. - When you manually resume an already running torrent with the toolbar buttons or the right click menu, ABC_OKC tries to get more peers for this torrent. This can be combined with the new shortcuts to force tracker settings described above. -- FOR A COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 4.2.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 4.1.0 12/12/2013 ======================================================================================== ======================================================================================== - Improvements in the upload and download rate regulation. - Improvements in the multitracker management and when switching between internal and external trackers. - An emergency tool to manually save and reload connections with peers (this right click menu appears in the torrent Advanced Details window if you set the parameter showpeermenu to 1 in abc.conf). - In the "Find Torrents in List" window you can now search by the private status. - In the torrent Advanced Details window there's a new button to quickly toggle between internal and external trackers, and next to it an indicator showing the status for the connection with the tracker (green = connected, red = disconnected, black (or white for a private torrent) = torrent not running). - There are 5 new shortcuts (F1 to F5 open the 5 tools from the Tools menu) available throughout the application, and in any torrent details window a combined Control + click on the button Advanced or Details will open the other details window without closing the current one. -- FOR A COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 4.1.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 4.0.0 09/28/2011 ======================================================================================== ======================================================================================== - Support for UDP trackers. - Improved memory management to avoid memory fragmentation and increasing memory use when ABC_OKC is running for a very long time. Default values for this memory management should fit standard needs. You can learn more in the documentation in §20. - A new parameter "Prioritize" for download and upload in the torrent and template parameters : When it is switched on, the torrent is given more bandwidth (in fact as much as the connected peers are ready to provide, while staying below ABC_OKC limits settings) than it would have got from the normal bandwidth distribution. In the torrent list and the torrent detail windows the download and upload rate fields display a '+' mark when this parameter is set. You can hide this mark by setting the parameters showprioritizemarker to 0 in abc.conf. The "Find torrents in list" window also has a new Priority item to search for torrents with this parameter set. - Improvements in the way of choosing the best peers to try to connect to from trackers, DHT and PEX. - New choices in the "Find torrent in list" window : The Availability combo-box allows to find complete torrents (with 100% progress) or incomplete torrents (with progress < 100%). The status "Completed" did not allow this filtering because "completed status" = "torrent completed and stopped"). - A better download speed estimation for the connected peers in the advanced details window. As long as this speed can't be computed, '?' is displayed. - Simpler and safer way to manage concurrently starting torrents. - The delay between each try to awake a standby torrent is now managed inside each group of torrents connected with the same tracker. This was previously a global parameter for all trackers. This delay is used to avoid overfloading trackers by limiting the rate at which scraping is achieved to get informations to find potential sharing opportunities for standby torrents. This new behavior allows more frequent tries to awake standby torrents while remaining stressless for trackers. - Better handling of the following special cases : * When a torrent has no source for peers (dht not running and no tracker info, or no tracker info and private status set) : The torrent is loaded with the stopped status and with a warning. * When a magnet refers to a private torrent and once the torrent metadata are known with the private status : Strict application of the private rule to connect only with peers from trackers ; if there's no tracker info, the torrent is stopped with a warning. * When DHT is running and for not private torrents, the tracker connection timeout is always disabled. Keeping this timeout active in such a case does not make much sense because new peers may always connect through DHT and this timeout would interfere with these connections. To sum up we take into account the tracker timeout only when the tracker is the only way for the torrent to get peers. - Experimental support for IPV6 with trackers, DHT and PEX. The option to enable IPv6 is in Preferences/Network. This feature has not been tested because of lack of IPV6 connection. I'm waiting for your feedback to fix possible bugs. -- FOR A COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 4.0.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.10.0 05/12/2010 ======================================================================================== ======================================================================================== - Support for the Peer Exchange BitTorrent protocol extension (PEX). When connected with other peers supporting this extension for a not private torrent, ABC_OKC will periodically send to each of them informations about its other peers for this torrent and receive these informations from each of these peers about their own connected peers. This may speed up peer discovery and gives information about support for encryption and seed status. You can enable/disable this feature in Preferences/Network. - The memory management has been very much improved and the memory used by ABC_OKC significantly reduced. You can also tweak the following parameters in the advanced settings of the preferences according to your installed memory capacity and the way you handle torrents within ABC_OKC : * the size of the buffer used by each torrent for disk writing. The value is in Megabytes and is a size per torrent. Typical values are from 2 to 4. The default value is 2. * The method used to lower the memory used by the buffers to read piece data from disk : When a lot of torrents with a big piece size are running and get connected with many peers, this buffering can be a real memory hog. For example 10 torrents downloading from you with 4 peers and a piece size of 4 MB will eat up to 160 MB of memory. You can now choose the way ABC_OKC will try to save some memory when the global size of all running torrents read buffers comes over a given threshold : * The first method will lower the number of simultaneous uploads for each running torrent if it's greater than the minimum allowed (2 by default). * The second method will stop read buffering for new pieces. The first method will free up less memory and may not succeed in lowering the read buffers memory below the threshold but it may be sufficient while keeping read buffering active. * the threshold in Megabytes for the global size of all buffers used to read piece data from disk, that will trigger the read buffers memory saving method chosen above. The value of the parameter is in Megabytes and the default value is 64. There's also a field to display the current value of the read buffers global size. There may be a several minutes delay between the change of these parameters and a visible effect on memory usage. This is due to current open pieces having to be entirely processed, and various expiring times and multi-layer buffering tricks used to lower CPU usage. - Improvements for magnets to handle resuming of partially downloaded data from other source. -- FOR A COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.10.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.9.0 03/10/2010 ======================================================================================== ======================================================================================== - Support for magnet URLs : When you click on a magnet URL in your web browser or load it with the "Add torrent from URL" menu, ABC_OKC will add a torrent with incomplete metadata in the torrent list (the magnet URL contains the torrent info hash and sometimes its name and its trackers, but no information about the files to be shared). The missing metadata for such a torrent will be downloaded from other peers sharing this torrent and supporting the torrent metadata exchange extension, when the torrent is started in ABC_OKC. The peers to connect with are obtained from the trackers inside the magnet URL if there are any, and through DHT if DHT is turned on in ABC_OKC. You get a warning message if you load magnets without trackers when DHT is turned off. Torrents downloaded from a magnet URL have their magnet name if it exists displayed in the torrent rename and change destination dialogs. Magnet URLs are associated with ABC_OKC along with .torrent files at installation time (option "Make default") or on demand in Preferences/Misc. - In Preferences/Misc, for a magnet, you can choose to name the torrent and its download destination from the name inside the magnet, or wait to have the torrent metadata downloaded and name them from the real name inside the torrent. If there is no name inside the magnet, the name inside the torrent is always used. The advantage for using the original torrent name is that this name is often clearlier spelled, and it always exists and is the real name chosen by the maker of the torrent. The advantage for using the name inside the magnet is that it's immediately available and so all checkings for duplication are made at torrent loading time and not only when the torrent metadata are completely downloaded, and you can immediately change the destination name as it will not be overwritten by the one inside the torrent. - For a torrent detected at loading time as having a duplicate destination with another torrent already loaded, you can choose in preferences/Misc to have the destination automatically renamed, or renamed through a dialog, or left without change. - Torrent names that can't be used to name the destination because of invalid characters are now automatically fixed. There is no longer a dialog to confirm this renaming. -- FOR A COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.9.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.8.0 05/06/2009 ======================================================================================== ======================================================================================== - All ABC_OKC writable data files and directories (configurations, lists, logs, torrents) are no longer stored in the ABC_OKC installation directory but in the standard Windows directory %APPDATA%\ABC_OKC. This means each user account running ABC_OKC now has its own data. Relative paths in ABC_OKC are also considered rooted to %APPDATA%\ABC_OKC and no longer to the ABC_OKC installation directory. The old data of your current installed release of ABC_OKC are automatically moved to %APPDATA%\ABC_OKC on the first time you will run this release for each user account. All you will have to do manually is deleting the folder %APPDATA%\.ABC if you're not using ABC or LH-ABC. If you uninstall ABC_OKC, all ABC_OKC data are kept in %APPDATA%\ABC_OKC. You will have to delete them if you don't need them any more. This change eliminates all the hassle with the User Account Control in Vista. You will still need administrator rights to install ABC_OKC, but no longer to run it. This change has also been included in release 3.7.20 (compiled with Python 2.54). - ABC_OKC now supports DHT (Distributed Hash Table). DHT is used if it's toggled on in Preferences/Network and for torrents with the private flag set off, or without this flag. When DHT is running ABC_OKC becomes a kind of tracker for some torrents and can get peer location for its started torrents from other BitTorrent clients also running DHT. So sharing is possible even if there's no tracker for the torrents. DHT is using by default the UDP port 56666. You can change it in Preferences/Network. Your firewall must open this port if you want to use DHT. The torrent details window now shows the number of DHT nodes and the value of the private flag included in the torrents. The torrent maker has fields to create torrents with DHT nodes. Trying to scrape a trackerless torrent will display "!" in the current #seeds/#peers fields. You can add more DHT nodes to the DHT routing table with the menu Settings/"Add DHT Nodes". - You can change the TCP port locally used by ABC_OKC to send commmands and parameters to the running part of ABC_OKC by using the -p command line parameter (see §11 in documentation). - Better memory handling. - Switching to Python 2.6.2. Support for Windows 95, 98, ME and NT4 has been dropped. The Microsoft files mfc90.dll, msvcr90.dll and msvcp90.dll must be installed in your system to run ABC_OKC 3.8.0 and above. To do this download the Microsoft Visual C++ 2008 Redistributable Package (1.73 Mo) from the Microsoft site and run it. It's available at : http://www.microsoft.com/downloads /details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en If you want to generate a .exe for ABC_OKC also copy these files from your WinSxS\x86_Microsoft.VC90.MFC_xxxxxxxx and WinSxS\x86_Microsoft.VC90.CRT_xxxxxxxx Windows directories to your system32 Windows directory. -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.8.x" AND DOCUMENTATION IN ABC380_OKC_final0376.txt -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.7.0 04/25/2008 ======================================================================================== ======================================================================================== - A new torrent status : Standby. This status aims at finishing a seeding torrent with very sporadic leechers, or completing an incomplete almost dead torrent with very sporadic seeders or leechers. It is mostly useful when automatically triggered by a timeout. A standby torrent normally stays unconnected but cyclically checks if there are seeders or leechers that could upload to you or would need some download from you. This checking is done by scraping the trackers or connecting to trackers to get the number of copies globally available and the progress for each leecher. If there is some opportunity to share some data, the torrent connects or stays connected until it finishes or times out ; otherwise the torrent stays in or returns to standby status. Important : This status is not suitable for a torrent starting from scratch. It must be used only to try to complete or finish an almost dead torrent. It's very important to stay connected as long as possible to make the tracker know of the availability of your torrent as a seed. Don't forget a standby torrent only connects when it detects seeders or leechers : that's why this mode must be used only as a last resort. The main scheduler will always lead your torrents through the normal cycle of life of a torrent : Working, seeding, and possible timeout triggering standby, queued back with lower priority or stopped status. See documentation in §17. - To make the best possible use of the standby status, the action on timeout is now a torrent (and a template) parameter. When a torrent times out you can choose the behaviour of the torrent from : * Stand by * Queue and lower priority (the only available old behaviour) * Stop - ABC_OKC now checks if the names for directories and files inside a multi-file torrent are valid Windows names when the torrent is added to the main list. If they are not, they are fixed by a change of offending characters with '_' and if necessary by adding to the names '_XXX' where XXX stands for an integer, to make them unique. The max length of directory, file and path names are also checked. But as file or path names may contain useful informations, too long names are never automatically truncated. If a directory or file can't be fixed, a warning message is output and the torrent is loaded with the stopped status. The message dialog that sums up the problems has a button to open the torrent details window immediately after loading the torrent to check what is wrong with the files. In the file list of this window, files with bad names that could not be automatically fixed are displayed in red, and their status displayed in a new column : "Name status". The file names column header also displays the letter "I" as long as at least one file name is invalid. You must use the Change Destination and the Rename Files functions to fix problems that could not be automatically fixed. - A new function in the torrent list right click popup menu : Complete and Shut down. This one was requested and is for people who want to go to bed while their computer is completing some torrents and possibly seed for a few hours before shutting down. This is the best way to have some fresh complete torrents in the morning if you don't wish to let your computer run on its own all night long ; but don't forget to keep on seeding the next day until the torrent turns finished. See documentation in §18. - More informations and functions in the torrent details window of a multi-file torrent : - The header of the file column shows '*' if at least one file is renamed. - Shortcut for renaming selected files : left click on the file column header of the file list (quite alike for renaming a torrent in the main torrent list). - The file list right click popup menu has 2 more entries : * Copy : Copy to the clipboard the selected names or original names if you clicked on one of the name columns, or all the selected lines if you clicked on another column. * Show Original Names : This is a toggle to display or not a new column at the right of the file column to show the original file name for the files that were renamed. A shortcut for toggling the display of this column is a right click on any column header of the file list (A left click on the column header will also make it disappear when it is displayed). This toggle is reset when the details window is closed or its content reloaded with another torrent. - Improvements in the interface : * In Preferences/Interface, you can have the quick display of the torrent details show its window centered on the panel of the main frame of the application (as a supplementary option to the already existing "At right of the pointer" and "Centered below the pointer"). * In Preferences/Interface, you can set if the details and advanced details windows will be centered on each other when you switch from one to the other (greyed box = windows are centered but aligned at the top). * In the file list of the torrent details window of a multi-file torrent or in the torrent list of the "Find Torrents in List" result, you can select the files or torrents by dragging the mouse over them with the left or right button pressed, as in the main torrent list. * When editing the parameters for several torrents in one shot, the torrent parameters window panel for timeouts now has 2 switches to choose what parameters you want to update for selected torrents (one for timeout switches and one for timeout values) instead of one global switch in the previous release. * A message can be displayed in the torrent list when a torrent times out. -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.7.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.6.0 10/20/2007 ======================================================================================== ======================================================================================== - Modifications and tweaking in ABC_OKC and BitTornado core to lower the memory usage for ABC_OKC. - Improvements in the interface : * Down and up rates displayed in the torrent details and advanced details windows. * 2 new columns in the torrent list : Seeding time and Total seeding time. * The column widths of the connections list in the torrent advanced details window are remembered. * Better synchronization with BitTornado core allows faster torrent management operations especially with multi torrent selection. * Messages for already completed and finished torrents are translated when you switch language. * Faster sending of a command line to an already running ABC_OKC. - In the stop seeding conditions in the torrent parameters, you can now choose the first reached limit from time and ratio. - Easier migration to another folder or system : just copy your old torrent folder and old torrent.lst file to the new ABC_OKC installation directory. - Custom client IDs are now ramdomly generated at startup or at will. - New tweakable delay before restarting torrents when received data are moved as soon as the torrents turn completed. - Improvements in the upload rate regulation to take into account the inertia of the rate evolution : * New internal delay to prevent from stopping an extra torrent started by the URM too soon after it was started. * Triggering of these URM freeezing delays now also occur after torrents are started or stopped manually, or by the main queue scheduler, or when the max up rate is raised in the preferences. - Improvement in the upload bandwidth sharing between URM and non URM torrents : When the URM torrents are set to "Low priority" in Preferences/URM-Activity, the torrents started by the URM can be automatically on-hold (or queued according to user setting) if they can't give back some of their up bandwidth to non-URM torrents that need it, because they are below the 3 kB/s minimum upload rate. This will leave no longer URM torrents running if they are not strictly needed. - New feature in the connection limiters : To avoid having too many locked completed torrents waiting for seeding just because the max number of seeding torrents for their connection limiter is reached, there's a new option in Preferences/Queue : "Don't start a torrent if limiter locks at least X completed". This will forbid the starting of a new torrent if its connection limiter is already preventing more than X completed torrents from seeding. - Not a new feature but I fixed a well hidden bug in BitTornado 0.3.18 that randomly caused unnecessary file checking when restarting torrents. -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.6.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.5.0 04/20/2007 ======================================================================================== ======================================================================================== - Reseed resume : This will resume a completed torrent for reseeding without ever checking the downloaded files hashes. - Connections limiters : This feature is useful when the torrent list includes torrents from several different trackers with some of these trackers having limits for the number of seeding, working or overall connected torrents. The connections limiters allow you to let ABC_OKC know about these limits so that it doesn't start more torrents from these trackers than allowed, and more cleverly looks forward in the list for starting torrents from other trackers instead. - Encryption : ABC_OKC can now crypt/uncrypt data flows and has 4 encryption modes : * No encryption permitted : No encrypted connections are allowed and none are created. * Encryption enabled when needed : Incoming encrypted connections are accepted and encrypted connections are generated when asked for. This is the default behavior. * Only encrypted connections : Only encrypted connections are created and accepted. * Only encrypted connections + no connections from old trackers : Same as above plus data flow is exchanged through a special port to prevent older trackers that do not handle the encryption protocol extensions from making uncrypted peers connect with you. - Complete localisation in the language files, including BitTornado messages. The language files provided by default have also been very much improved. - Support for IPv6. -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.5.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.4.0 12/18/2006 ======================================================================================== ======================================================================================== - You can rename the files and folders inside a multifile torrent. This is mainly a feature to bypass character or case problems when sharing torrents created with OS that don't have the same naming rules for files and folders than yours, but this may fit other needs. - Partial torrents (torrents with some of their files marked as "Never download") are now handled like normal torrents when they turn complete, i.e. they turn Seeding and may reach the Finished status. - Many improvements in the RSS part : * Quick search field in the RSS panel. * Display of the number of new RSS torrents retrieved by an RSS update and new RSS torrents displayed bold in the list. * You can sort the RSS list by "New" status by right clicking on any column header of the RSS panel. * Each RSS feeder can now have its own scanning timer and frequency (The default timer still applies to all feeders without this option set). * New global switch Auto-Grab to toggle the running of the RSS active filters in one shot. This button displays the number of active filters and its state is remembered between sessions. * In the RSS editors the save button is enabled only when a change needs to be saved. * In the RSS panel, the search engine editor now works with the same logic as the feeders and filters editors. - Localisation for the "About ABC_OKC" page and the default names for the torrent list headers. - New option "Download Selected" in the right click popup menu of the file list in the torrent details window to set all files of the torrent to "Never download" but the selected ones. - Various improvements in the interface : * Improved display for scraping results in the torrent list * Disk full message with disk identifier * Right click on the "Move below completed" button now alternatively scrolls the torrent list to show the first working torrent below completed ones and below finished ones (which of these is chosen at first click is tweakable) * Configurable message timestamp format - More thorough detection for torrents with duplicate destinations at loading time, and better deal with duplicate torrents that could be simultaneously added from multiple sources. - The location and use of a default download folder for torrents can now be more flexibly set in the following way : 1 - The use of the default download folder can now be set independently for manual and local torrent adding on one hand, and for torrent coming from other sources like RSS, directory scanner or web service on the other hand. 2 - Each RSS filter may now have its own default download folder, overriding the global setting, for the RSS torrents that are added from this filter. - 17 new web service commands (See §19 in documentation) : * MOVEUP : Moves up torrents in the list * MOVEDOWN : Moves down torrents in the list * MOVETOP : Moves torrents to top of the list * MOVEBOTTOM : Moves torrents to bottom of the list * MOVEBELOWCOMPLETED : Moves torrents in the list below already completed torrents * SUPERSEED : Sets torrent status to superseed * CHECK : Checks a torrent * GETTORRENTPARAM : Returns torrent parameters * SETTORRENTPARAM : Changes torrent parameters * SETTORRENTFILEPRIO : Changes priority for a file inside a torrent * RENAME : Renames a torrent * SETDOWNDEST : Changes the download destination * GETTORRENTDATA : Returns some of the informations from inside the torrent (Main data, files data or all data) * RENAMETORRENTFILE : Renames a file inside the torrent * RESETTORRENTFILENAME : Resets all or one file name inside the torrent * COMMANDSCHEDULERON : Switches on the command scheduler * COMMANDSCHEDULEROFF : Switches off the command scheduler -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.4.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.3.0 05/20/2006 ======================================================================================== ======================================================================================== - Command scheduler to schedule internal ABC_OKC commands that will be run on a chosen date/time or cyclically run every day or every week from a given date. You may use this tool for instance to schedule changes for the maximum upload or download rates, or the minimum number of running torrents, or the mode, or to switch on/off the web service or the directory scanner. Read §13 in the documentation for all commands and more details. - Upload and download volume limiter to make ABC_OKC watch the upload and download volumes over cyclical periods of time and automatically switch to manual mode and queue back torrents when a maximum volume is reached in upload or download during this period. ABC_OKC will also switch back to automatic mode if necessary and resume all transfers when a watch cycle comes to end. Read §14 in the documentation for more details. - You can set ABC_OKC to close or to shutdown the computer when it becomes idle. This mode is engaged with the menu Settings/"When idle". It's reset each time you start ABC_OKC. You have a 1 minute delay to cancel the closing and a 3 minutes delay to cancel the shutdown. - RSS feed based on code from G3Torrent and Roee88 : Read AboutTheRSSFeedScanner.html for more information about RSS feed. - Better partial download handling with the integration of BitTornado 0.3.15. - Several improvements in the interface (persistant Completed/Finished messages, Copy button for the templates, size and progress accurately displayed for partial torrents in the torrent list, new destination column in the torrent list, main menu more logically organised). - Workarounds to bypass bugs in Python that were preventing adding a torrent from the command line with a file name containing characters not in the default system encoding and opening in Windows from ABC_OKC received files with a name containing characters not in the default system encoding. -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.3.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.2.0 01/22/2006 ======================================================================================== ======================================================================================== - Support for Unicode : You can edit the .lang files in a UTF-8 editor to use your own menu or dialog strings written with the characters of your language. All names throughout ABC_OKC are displayed with the correct foreign characters, providing you installed support for these languages in your OS. All existing ABC_OKC data files are now in UTF-8 format and must be saved with the standard UTF-8 BOM header 'EFBBBF', except for all the lang files that must not have any header. - Sorting in all columns of the torrent list with a Control + left click on the column headers. For the columns #Seeds, #Peers and message which contain 2 fields, you can sort the list by the first field with Ctrl + left click, and by the second field with Ctrl + Shift + left click. For each column of the torrent list you can choose the default sorting order (ascending or descending) and you can lock this sorting order (see in Tools/Columns Setting). While sorting, the behaviour of finished and completed torrents that sit at the top of the list can be set in a Ctrl + right click on the torrent list headers popup menu. For more details and rules, read §12 in documentation. - A new option in Preferences/Interface to enable a smart cleaner of the message column for messages due to transient connection problems with the trackers. When enabled this feature automatically erases the message when the connection is back. - A new option in Preferences/Queue to immediately stop a torrent that has a single announce and gets rejected by its tracker on the first connection try. - There's a new mode for the mouse wheel in the torrent list. When enabled by left clicking in the box that shows the number of selected torrents, rolling the mouse wheel will scroll the list if needed to show you the next/previous selected torrent in the list. You leave this mode by clicking anywhere else than in the selected box, or again in the selected box to keep the current torrent selection in the list. - You can now save the minimum size of the torrent detail window in Tools/Columns Setting. This window has anyway a computed minimum size depending on the informations it has to display. If the minimum size you set is greater than the default computed size and there's something to be displayed in this larger area, the window will be streched out to this new size. (0, 0) brings back the default minimum size. - You can set the client ID ABC_OKC uses to identify with the trackers. The customized pair HTTP user agent/Client ID can be stored and recalled from a pool of 3 in Preferences/Network. - 2 new key shortcuts : Ctrl + U to select all "Unfinished" torrents, that is torrents with a 100% progress but not finished. Ctrl + P to select all paused torrents. - New Dynamic upload regulation formula to suit better high number of connections. - Some improvements in the tracker connection process in BitTornado. - Documentation updated. -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.2.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.1.0 11/20/2005 ======================================================================================== ======================================================================================== - Directory scanning for torrents : This is a new feature to make ABC_OKC automatically and cyclically scan a directory for torrents and load and/or start them with various options. This directory may be filled by an external application like an FTP client, a RSS feeder,... So you have both the power of your external specialized application and a configurable automated interface with ABC_OKC. - Let ABC_OKC manage finished and completed torrents at the top of the list. These torrents can be automatically moved to the top of the list, finished first, then completed, and ordered by time if you wish. Finished and completed torrents are now time stamped. - The bottom bar has several new features to help navigating in the list and some buttons are now optional for those who never use some functions : * There's a new optional button to move selected torrents under the top block of finished and/or completed torrents (See in Preferences/Interface). * Right clicking on the buttons scrolls the list to display top or bottom torrent or torrent below the top block of finished/completed. - Downloaded files can be moved as soon as they get completed. Seeding will go on from the move location till the torrent gets finished. - Selecting and moving torrents in the list with the mouse : * You can select several contiguous torrents in the list by clicking the first one, keeping the mouse button pressed and dragging the mouse over the torrents you want to select, and then releasing the button. * You can move selected torrents in the list with the mouse by dragging and dropping them. You can choose how the mouse buttons will be assigned to these functions (normal configuration (left=moving, right=selecting) or swapped one (left=selecting, right=moving)). - Messages in the list can be quickly erased with the mouse by clicking and dragging the mouse pointer over the cells you want to erase (You can choose the left or right button for this feature). - UPnP options can be tweaked in Preferences/Network. - Download directory location can be changed for several torrents in one shot. - There's a new shortcut key to move a block of selected torrents in the list and copy the torrents list column content to the Windows clipboard (See ABC_OKC_ShortcutSummary.txt). - Documentation was updated. -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features and improvements for ABC_OKC 3.1.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for ABC_OKC 3.0.0 ======================================================================================== ======================================================================================== - Same right click popup menu available in main list and in the torrent details windows (all commands available in one click). - Unified way of naming the directory containers and file containers for downloaded data. This allows to easily change the real destination for every torrent (directory or single file). - Torrents can now be renamed. As torrent name and destination names are related there are options to link renaming of both in one shot. Renaming is also made easy by letting you pick up part or whole from other identifier names for this torrent. - On a Windows system, there's a check for the torrent name validity of a newly added torrent and the torrent can be renamed at loading time if this check fails. - New right click popup option to check downloaded files without starting the torrent. - Easier navigation between details and advanced details windows for a same torrent (switch button). - Torrent detail browsing feature : In a details or advanced details window, if you left click the mouse on the torrent name (written in big font at the top) you can then display in the same window the details or advanced details of the previous or next torrents in the list by rolling the mouse wheel up or down. Selection in the main list will follow browsing if it originally matches the torrent that is displayed in the details window. - More clever torrent details window content : * You can have it display the last message content if it's not empty. * The progress for the download of each file is always available even for inactive torrents. * You can open in Windows the downloaded files or directory with a single left click * You can open in Windows a Done individual downloaded file with a left double click * More informations : torrent status and colour * You can copy a tracker name from the tracker list. * The Comment field is displayed only if needed and wraps over several lines (also if needed) and is selectable. * You can find and select the torrent in the main list with the Locate button * Quick acces to the torrent parameters with one click - You can sort torrents in the torrent list by priority. Finished torrents that have been moved to the top are kept at the top. - Easier editing of parameters for several torrents in one shot (modify only some parameters while leaving others intact). - The torrent maker has been face-lifted with new options to choose the destination and "torrent" a whole directory or each file it contains. - Command line extensions : more parameters for the command line to switch ABC_OKC mode, move, start or set the status of a newly added torrent, or simulate action on the bottom bar buttons, or to quit ABC_OKC ; see §11 in documentation. - Handling of time out for each torrent is made easier with more global switches to enable/disable particular time checkings in one click. - To make re-seeding of finished torrents easier there's a new right click popup option "Reset seeding rules" and the destination folder is updated to the move folder when the torrent switches to the finished status. - Finalization for the handling of the loading of duplicate torrents (No more several torrents in the list pointing to the same torrent file, auto-rename feature for torrents files with same name and distinct contents, easier handling for user when loading a list of new torrents in one shot). - New "Stop all traffic" button in the bottom button bar. This button queues back all running torrents and switches to manual mode. This is the clever way of stopping all traffic without losing the status for already paused torrents (to resume traffic, simply switch to automatic mode). These commands are also available through the web service and the command line. - The external announce you can define for a torrent is now saved with the torrent parameters. - Support for relative path names throughout ABC_OKC. All relative path names are relative to the ABC_OKC install directory. - Customization for some of the counters of the status bar (count or not the on-hold torrents in the status bar torrent counters) and more informations (number of totally received torrents). - Partial and prioritized file downloading is now available even if you start a torrent not in fast resume mode. - You can customize the HTTP user agent for ABC_OKC (The identifier ABC_OKC sends to the trackers). - You can now reset the .torrent file Windows association with ABC_OKC in the Preferences. - Version/"Check latest version" now points to informations about ABC_OKC and tells you if you need to update your ABC_OKC. - You can choose the font for the main torrent and the find torrent lists. - New right click popup option "Copy torrent" to copy all selected torrents from the list to another directory. - Updating of the torrent list after a change in the columns setting now only refreshes what is really needed. - Many new key shortcuts available in the main torrent list and in the file list of a torrent to select torrents according to their status or copy some information to the clipboard. New mouse shortcuts to quickly rename or open torrents or clear messages or open the ABC_OKC preferences window. The wheel is also used to quickly switch the active tab in some dialogs. All these key and mouse shortcuts are described in the documentation §22 and summed up in the file ABC_OKC_ShortcutSummary.txt. - The cells in the status bar now auto-resize with their content. - Same visual aspect for all windows. - Documentation added for activity detection feature and updated for all chapters. -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "New features, bug fixes and improvements for ABC_OKC 3.0.x" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== Highlights for the final 2.80 release ======================================================================================== ======================================================================================== - Parameters templates : Create a pool of saved torrent configurations and apply them to torrents in the list in one mouse click. This is top-notch to quickly categorize your torrents without having to manually change torrents parameters for each torrent loaded. (Each template will retain how to behave during connection with tracker and seeds/peers, and after download is finished what to do with files and torrents). You can have template labels displayed in the torrent list to remind you of the parametrization. - Automatically apply parameters template to torrents at torrent loading time, based on the tracker, torrent or torrent file or received files names. Completely automate your torrent parametrization. - Handling torrent files and torrents in the list when torrents are finished or deleted from list offer new possibilities : * Move files from finished torrents when torrent is finished or when torrent is deleted from list. * Move files from completed torrents when torrent is deleted fom list. * When torrent is finished move torrent to top of torrent list or delete it from list. - Torrent activity (manual setting and automatic detection). Don't waist a slot from the maximum simultaneous downloading torrent number for torrents with no or very low traffic but that you still want to keep running (for instance seeding torrents that wait for peers). With this feature, you can keep such torrents running : their slot will be made available for other torrents when they up/download with a low traffic, but they will get it reassigned if this traffic increases. Automatic activity switching and URM are the best companions to deal with torrents with very low traffic. - Watchdog for remaining free disk space. - Timeouts are adjustable for each torrent and not only available at the global configuration level. - New seeding option to keep on seeding until at least one complete copy of the torrent exists overall all peers. - Improvements in the "Find torrents in list" window (new fields to get match from, sorting,...) - Many interface improvements (options to keep columns compact in width in the list, shortcut with mouse button clicks and wheel, and ctrl or shift keys, scrolling in list). See § 10 in doc. - Compliance with web service protocol v3.0. - Better rate distribution and regulation. - Download rate limiter (Though BitTornado features still need improvements to handle this correctly) - Documentation updated. -- FOR COMPLETE LIST OF CHANGES AND MORE DETAILS SEE "NEW FEATURES" AND DOCUMENTATION BELOW -- ======================================================================================== ======================================================================================== ======================================================================================== ======================================================================================== ======================================================================================== New features and improvements for ABC_OKC 4.2.x ======================================================================================== - Some more improvements in the upload and download rate regulation. - Some tricks to quickly reconnect after a disconnection from the network. - Some automation to get and keep connected with more peers. - The torrent settings for the external tracker are now available as template parameters. - New shortcuts to choose tracker when resuming a torrent : * Ctrl + (Fast) Resume button (or + (fast) resume from right click popup menu) : resumes torrent and forces internal tracker. * Shift + (Fast) Resume button (or + (fast) resume from right click popup menu) : resumes torrent and forces external tracker with initial internal tracker checking. * Ctrl + Shift + (Fast) Resume button (or + (fast) resume from right click popup menu) : resumes torrent and forces external tracker with initial internal tracker checking except for public torrents when DHT is on. The Ins key can be used instead of Ctrl + Shift. * Del + (Fast) Resume button (or + (fast) resume from right click popup menu) : resumes torrent and forces external tracker without initial internal tracker checking. These shortcuts can be tweaked in abc.conf with the parameters named restrack. The default behaviour when starting with the external tracker when no Shift/Ctrl/Del/Ins key is pressed is set in Preferences/Network. Resuming an already running torrent tries to get more peers for this torrent. This can be combined with the new shortcuts described above. Reseed resume is now achieved with mouse right click + Fast Resume. - There are 2 new options in the right click menu in the announce list of the torrent details window to use the selected tracker as external tracker and switch to it, and to re-scan all trackers. - In Preferences/Network there's a new option to choose if the default tracker (the last tracker for a multi-tracker torrent that was contacted with success) is reset when the tracker is stopped or queued. - Switching to Python 2.7.7. ======================================================================================== Minor improvements for ABC_OKC 4.2.x ======================================================================================== - Saving connected peers only saves not already saved ones. - The input format in the windows for adding nodes and peers has been changed. ======================================================================================== New features and improvements for ABC_OKC 4.1.x ======================================================================================== - Improvements in the upload and download rate regulation. - Improvements in the multitracker management and when switching between internal and external trackers. - There's a new right click menu in the Advanced Details window for a running torrent (right click in the peer list). This menu allows to save peers currently displayed in the list or to load saved peers to try to connect to them or to clear saved peers. These functions don't infringe any BitTorrent rules, but they must be used while keeping in mind what they really do and their limitations. They can help in some extreme situations when a tracker dies for example. This menu is only visible if you set the parameter showpeermenu to 1 in abc.conf. - In the "Find Torrents in List" window you can now search by the private status. - In the torrent Advanced Details window there's a new button to quickly toggle between internal and external trackers, and next to it an indicator showing the status for the connection with the tracker (green = connected, red = disconnected, black (or white for a private torrent) = torrent not running). - In the torrent advanced details window the tracker connection indicator is gray while the torrent is connecting with the trackers. - In Preferences/List you can choose to have a message displayed in the main torrent list when a torrent tries to connect with a tracker to announce. This message is always erased when the tracker answer is received (possibly by an error message on failure). You can also choose to have a message displayed in case of a torrent connexion warning (for example because of a missing (empty) tracker URL). - In Preferences/Network you can make torrents automatically switch to their internal tracker when they turn completed. - In the torrent parameters dialog when several torrents are selected you can select/deselect in one shot all main switches to choose the parameters to be modified with the new button "Select All". This status is remembered between sessions and applied each time the dialog is opened. You can still toggle all switches in each tab by clicking again on the already opened tab header. - Improvements in the connection with trackers. - When you open the destination folder of a torrent containing several files (by hitting the Enter key or clicking the progress column header in the main torrent list or clicking on the destination field header in the Torrent Details window or with the main list contextual menu) this folder is browsed with the Windows explorer. You can now choose an alternate file manager to display this folder. Stop ABC_OKC, open abc.conf and set the parameter altfilemanager to the command line calling your file manager with the directory name replaced with %s. Then save abc.conf and start ABC_OKC. For example you can use Total Commander with the following setting : altfilemanager=c:\totalcmd\totalcmd.exe /O /T /S /L="%s" You can still force the browsing with the Windows explorer by holding down the shift key while triggering the action. - Switching to pyWin32 219. - More accurate upload rate regulation when download rate is limited. ======================================================================================== Minor improvements for ABC_OKC 4.1.x ======================================================================================== - 5 new shortcuts : The function keys F1 to F5 open the 5 tools from the Tools menu. - Holding down the Control key while clicking the button "Advanced" in the torrent Details window or the button "Details" in the torrent Advanced Details window keeps both information windows simultaneously displayed (Note that displaying both windows simultaneously was already possible from the main torrent list). - In Preferences/Interface you can choose to have the message field always displayed in the torrent detailed window even when the message is empty. This may be useful if you chose to have displayed messages that appear and are almost immediately erased and the quick resizing of the window bothers you. ======================================================================================== New features and improvements for ABC_OKC 4.0.x ======================================================================================== - Support for IPV6 with trackers, DHT and PEX. The option to enable IPv6 is in Preferences/Network. - Switching to Python 2.7.1. - Support for UDP trackers. - Switching to pyWin32 216. - Switching to pyCrypto 2.3.0. - Switching to Universal feed parser 5.0.1. - Change in the way concurrently starting torrents are managed by the main list scheduler semaphore. This should solve any possible interlocking situation in a simpler and safer way than it was achieved in previous releases. - The delay between each try to awake a standby torrent is now managed inside each group of torrents connected with the same tracker. This was previously a global parameter for all trackers. This delay is used to avoid overfloading trackers by limiting the rate at which scraping is achieved to get informations to find potential sharing opportunities for standby torrents. This new behavior allows more frequent tries to awake standby torrents while remaining stressless for trackers. - Changed management for memory used by piece buffers when accessing disk. Memory usage should be more stable throughout long sessions (several days or weeks long). - Switching to wxPython 2.8.12.0. - A major improvement in the management of the memory used by piece buffers when reading data from disk ; memory usage has been reduced and is no longer increasing because of allocation of useless buffers. - New code for read buffers and some internal tweakings optimize a bit more memory usage. - The large memory usage is mainly caused by the memory fragmentation occuring with numerous memory allocations/releases. Python is not very good at dealing with this. So here's a new code that should minimize this effect. The read buffer pool is back with persistent buffers categorized by size. The memory usage can be tweaked mostly with the max number of running torrents and the read buffers memory settings in the ABC_OKC advanced settings. It also depends on the size of the running torrents and the number of loaded torrents. Check in abc.conf that the parameter minuploads is set to 0 to allow the number of simultaneous uploads for each torrent to be lowered to zero if needed. - Some more advanced tweaking of the memory usage parameters : A parameter for the read buffers max memory usage settings in Preferences/"Advanced settings" has changed : The last parameter in the window is no longer the max global size of the buffers simultaneously used to read piece data from disk, but the max size for all the buffers created to read piece data from disk for each piece size category. There are by default 3 piece size categories (1, 2 and 4 MB) which will use each at most the amount of memory set by this parameter. The "Total current" field now shows the total current memory size of read buffers reserved for all piece categories. Remember that no memory freeing is achieved with read buffers to avoid memory fragmentation, so this number will never decrease. It should reach about 3 times the amount of the "Read buffers max category size" parameter if all buffers happen to be created. If a piece cannot be buffered or an upload is not started because one of the buffer categories has reached its max memory usage, the value "Total current" turns red. If you click on the red value, it will turn back to black until one of the triggering condition is met again. You can also set the floor size for read buffers categories with the abc.conf parameter readbufferbase (in kB). Read buffers categories have always a size in bytes which is a power of 2. No read buffer category will be created with a size lower than the value of readbufferbase (in kB). This is set by default to 1024 kB and saves some memory from the total memory ABC_OKC could allocate if all the possible buffer size categories existed. - Switching to Python 2.7.2. - New download and upload buffer pools to avoid memory fragmentation. - Some improvements in the way of choosing peers to connect to. - Switching to wxPython 2.8.12.1. - There's a new parameter Prioritize for download and upload in the torrent and template parameters. When it is switched on, the torrent is given more bandwidth (if the connected peers are ready to use it) than it would have got from the normal bandwidth distribution computed from the maximum allowed and the needs of all running torrents. In the torrent list and the torrent detail windows the download and upload rate fields display a '+' mark when this parameter is set. You can hide this mark by setting the parameters showprioritizemarker to 0 in abc.conf. The "Find torrents in list" window also has a new Priority item to search for torrents with this parameter set. - Quicker start with no more long CPU overload for seeding torrents with very many pieces (~50000). - Faster connection with peers. - When searching for a peer to download the metadata for a magnet, torrents can now also connect with peers not supporting metadata protocol but using PEX to try to get from them a peer supporting the metadata protocol. In the previous release, magnets were only searching for a peer supporting the metadata protocol through trackers and DHT. After downloading the metadata, torrents also no longer disconnect from peers before starting downloading. - Various improvements and optimizations in interface, checking for bad inputs and CPU load for big torrents. - Switching to Universal Feed Parser 5.1. - Improvement in the management of standby torrents : In the previous versions of ABC_OKC, when the maximum number of running torrent is reached, a standby torrent may only awake if another running torrent can be set back to on-hold or queued status. But there is no limit for the number of torrents in standby status and there may be some cascading effects when there are many standby torrents that can set one another to on-hold or queued status just after being awaken. This can lead to multiple status switching and potentially to very many torrents in on-hold status. So I changed the behavior for the managing of standby torrents in two ways : - When a standby torrent awakes, another running torrent is always set back to queued status (and never to on-hold status). - A standby torrent that awakes can't set back a running torrent to queued status if this running torrent was previously in the "standby" status. - The volumes of downloaded and uploaded data can now also be measured through a sliding time window. The parameter is in Preferences/Limits. Buttons marked "R" reset the volume measured inside the windows. When the sliding window option is checked and ABC_OKC can be set back automatically to automatic mode because the limits in volume are no longer reached, there's a margin for download and upload volumes before this automatic mode is switched on to avoid multiple switchings of the mode. These margins are set as a percentage of the max allowed volumes. The default value is 5%. Reminder : The percentage of measured volumes over the max allowed volumes can be displayed in the status bar with the option "Display volume in status bar" in Preferences/Interface. Read §14 in documentation. - Switching to pyWin32 217. - Improvements in the bandwidth distribution between running torrents. - In Preferences/Queue/"Automatic torrent moves and deletion in list" there's a new option to move torrents to the top of the list and set them to the highest priority when they turn completed. - The torrent parameters dialog when several torrents are selected has now more checkboxes to choose which parameters to update in the download and upload settings. For instance you may now change only the Prioritize option for the selected torrents. - The Priority combobox of the Find torrents in list window has 2 more options to find torrents with the Prioritize option set for upload (Rate U) and for download (Rate D). - More protection against buggy peers requesting torrent metadata. - Switching to Python 2.7.3. - Switching to Universal feed parser 5.1.1. - Some optimizations in the search for the pieces of highest interest to be downloaded in priority from connected peers. - Switching to Universal feed parser 5.1.2. - Some code to deal with multiple delays appearing in the aplication event managing when tracker urls can't be resolved. - ABC_OKC is now tolerant with trackers specifying a null minimum delay between two client requests for more peers or two re-announces. In such cases ABC_OKC now sets these parameters to its own default values. In the previous release such data were considered as bad and the tracker message was trashed. - Some additional code to handle the case when a paused torrent turns incomplete because of a change in the priorities of the files inside the torrent. - Improved memory management. - Switching to PyCrypto 2.6. - Switching to pyWin32 218. - In the "Find Torrents in List" window, you can search the torrents in the whole torrent list or only in the selected torrents. With this feature, you can manually set the initial domain for a search. - Switching to Universal feed parser 5.1.3. - You can store and recall 10 vertical scroll positions in the torrent list. The current position is stored with Alt + (Numeric pad 0 to 9), and a stored position may be recalled with Ctrl + (Numeric pad 0 to 9). These positions are updated when torrents are moved inside the list across the positions or deleted from the list above the positions. They are saved between sessions. - Improvements in the selection of peers to connect to in priority. - The display of the number of seeds and peers seen by trackers possibly contained in the answer of trackers to a torrent announce had never been implemented. These informations were only available through scraping (manual or automatic every 20 mn). When they are available they are now displayed at each announce time at no extra bandwidth cost. - Switching to Python 2.7.4. - CPU load has been greatly reduced especially for big torrents with very many pieces (tested with a 100 Gb torrent with over 400000 pieces). For such torrents there are still heavy CPU load at startup and stop times, but this is necessary to thoroughly check for the integrity of resuming data. - Switching to Python 2.7.5. - Some tweaking to reduce memory usage. - Switching to Python 2.7.6. ======================================================================================== Minor improvements for ABC_OKC 4.0.x ======================================================================================== - A little more permissivity for tracker responses containing erroneous IP addresses. - When DHT is running and for not private torrents, the tracker connection timeout is always disabled. Keeping this timeout active in such a case does not make much sense because new peers may always connect through DHT and this timeout would interfere with these connections. To sum up we take into account the tracker timeout only when the tracker is the only way for the torrent to get peers. - Better handling of following cases : * When a torrent has no source for peers (dht not running and no tracker info, or no tracker info and private status set) : The torrent is loaded with the stopped status and with a warning. * When a magnet refers to a private torrent and once the torrent metadata are known with the private status : Strict application of the private rule to connect only with peers from trackers ; if there's no tracker info, the torrent is stopped with a warning. - Some optimizations in the code. - Some improvements in the way of checking for free disk space when pre-allocating and when several torrents are in the waiting status. - Some cleaning in the code. - A better download speed estimation for the connected peers in the advanced details window. As long this speed can't be computed, '?' is displayed. - There are new choices in the "Find torrent in list" window : The Availability combo-box allows to find complete torrents (with 100% progress) or incomplete torrents (with progress < 100%). The status "Completed" did not allow this filtering because "completed status" = "torrent completed and stopped"). - The torrent Advanced Details window shows the IP address of banned or kicked peers and no longer their connection Id. - There's a new parameter scrollmiddlecentering only available in abc.conf, to set the centering of the row of the last completed/finished torrent in the torrent list window when you right click on the button "Move/Go below completed". The value of the parameter is a float between 0 and 1 : 0 centers the row at the top of the window, 0.5 in the middle of the window, and 1 at the bottom of the window. - A small improvement in the upload rate distribution algorithm. - Some more improvements in the upload rate distribution algorithm. - The bottom bar button "Move/Go below completed" now works in the same way for moving torrents and for going to list locations. Left clicking it will alternatively move selected torrents below completed and below finished torrents, as right clicking was already working to go to these locations in the list. - You can build torrents with bigger pieces (8 and 16 Mb). Use these piece sizes only for very big torrents (Automatic mode selects 8 Mb pieces for torrents above 32 Gb and 16 Mb pieces for torrents above 64 Gb). - A few more checkings in the BitTorrent protocol handling to filter out possible faulty messages from other BitTorrent clients. - To speed up the connection with new peers, you can try to lower the value of the parameter minpeerconnectiontimeout in abc.conf (5 s by default) ; This is the delay ABC_OKC is waiting for an answer from a remote peer it tries to connect with, before attempting to connect to another one. If this delay times out, a new attempt will be performed later with a longer timeout. To change the value of a parameter in abc.conf, first stop ABC_OKC and wait for the process to disappear from the task manager, then change the value and restart ABC_OKC. - DHT is now switched on by default for a fresh install of ABC_OKC. - The abc.conf parameter "exitwindow" which configures the display of the window showing the progress of ABC_OKC exiting may now have 3 values : * 0 : Never show window * 1 : Always show window * 2 : Show window only when there are data moves still running when ABC_OKC exits. The default value for a fresh install of ABC_OKC is 2. - Some improvements in the upload and download rate distribution for prioritized torrents. - ABC_OKC now displays a message when a torrent is deleted and its data fail moving, reminding you of the locations of the downloaded and moved data that must be checked. - In the Find torrents in list window, locating a torrent in the main torrent list by clicking on a row in the search result list now always selects this torrent in the main list. - Month has been added to the default message time stamp. You can configure it with the parameter timestamp in abc.conf (the default value is now %m/%d-%H:%M). Search for timestamp in the documentation to learn how to modify it. - Right clicking on the box showing the number of selected torrents in the list deselects all the torrents. - Better buffering for incoming messages. - When a magnet just retrieved its metadata and if the option Preferences/Misc./"Keep name and destination from magnet URLs" is unchecked, the name of the magnet is overwritten by the real torrent name contained inside the torrent metadata. Then when you open the "Rename torrent" window, you have many names concerning the torrent to pick up information from to rename your torrent, and the original magnet name is one of them. But the changes you manually made to this original magnet name are no longer available. And yet these modifications may be important because it's often when you add a magnet or a torrent into ABC_OKC that you may want to rename it to keep track of details that are not in the original name. In this new release the magnet name displayed in the rename torrent window retains the modifications you may have made to it before being overwritten by the torrent name. - When complete or partial and complete for a torrent, ABC_OKC no longer tries to connect with other seeds that are announced through PEX. - After a powering off of the computer without properly exiting ABC_OKC, torrents that were not partial and seeding no longer recheck their data when ABC_OKC is restarted ; only partial or incomplete torrents do this. - In the Preferences you can now set the limits for running torrents over 100 (up to 999). - ABC_OKC keeps one more backup file for the torrent list. ======================================================================================== New features and improvements for ABC_OKC 3.10.x ======================================================================================== - Support for Peer Exchange BitTorrent protocol extension (PEX). When connected with other peers supporting this extension for a not private torrent, ABC_OKC will periodically send to each of them informations about its other peers for this torrent and receive these informations from each of these peers about their own connected peers. This may speed up peer discovery and gives information about support for encryption and seed status. You can enable/disable this feature in Preferences/Network. The rate at which PEX messages are sent to peers may be set with the parameter utpexsendingrate in abc.conf (in seconds). Don't set it below 60 s. - Some tricks to speed up connecting with peers when restarting a torrent. - Switching to Python 2.6.5. - The memory management has been improved, especially when a torrent stops. - More improvements in memory management. - You can tweak the size of the buffer used by each torrent for disk writing in the advanced settings of the preferences. The value is in Megabytes and is a size per torrent. Typical values are from 2 to 4. The default value is 2. - You can give a maximum value for the global size of all buffers used to read piece data from disk in the advanced settings of the preferences. As long as this maximum value is reached, the reading of new piece data from disk is not buffered. This buffering can be a real memory hog with many peers connected and big pieces. For example 4 peers downloading from you for 10 torrents with a piece size of 4 MB will eat up to 160 MB of memory. Setting this parameter to 0 completely disables this buffering. In this case the memory usage is drastically lowered at the price of some peaks in CPU usage and some increase of disk activity. The value of the parameter is in Megabytes and is a global size of all buffers used by all running torrents. The default value is 64. - Improvements for magnets : Once a magnet has downloaded its metadata, ABC_OKC now correctly checks on disk for resuming existing data for this torrent you could have already downloaded from another source. While this is processed the torrent is not stopped and shows the status "Checking". The torrent may also show the status "Waiting" while another torrent is checking or moving data. This is in fact the way standard torrents (not magnets) are behaving just after they start up and before they connect with trackers and peers. The difference for magnet is that all this occurs after the torrent metadata have been downloaded, while the torrent is running and is already connected. Once a magnet has downloaded its metadata it becomes a standard torrent and behaves like any other torrents in further restarts. - In the advanced settings of the preferences, you can now choose a new method to lower the memory used by the buffers to read piece data from disk, in the field "Read buffers memory saving method". As long as the threshold defined in the field "Read buffers global threshold" is reached for the global size of all running torrents read buffers : * The first method will lower the number of simultaneous uploads for all running torrents if it's greater than 2. * The second method will stop read buffering for new pieces. The first method will free up less memory but may be sufficient while keeping read buffering active. There's also a field to display the current value of the read buffers global size. - Switching to wxPython 2.8.11.0. ======================================================================================== Minor improvements for ABC_OKC 3.10.x ======================================================================================== - Some cleaning up in the code. - Some default values of the advanced settings have changed, notably the read buffer global size I set to 100. - Some more improvements in memory management. - When the maximum value for the global size of all buffers used to read piece data from disk is reached, currently buffered pieces remain buffered till they are no longer needed. - The advanced settings dialog now has an Apply button and hitting Apply or OK buttons now immediately updates the advanced parameters in ABC_OKC. You no longer need to also click OK or Apply in the Preferences dialog to save their values. - Some final improvements in the read buffers memory management. - Various small improvements throughout the code. - DHT is more permissive on receiving erroneous messages that could stop it. - "Go below completed" (right click on middle Go/Move arrow below torrent list) now centers the targeted location in the torrent list window. Remember that next right clicks will alternate going below finished and below completed, and that the first go may be set below finished in Preferences/list. ======================================================================================== New features and improvements for ABC_OKC 3.9.x ======================================================================================== - Support for BitTorrent extended messages. - Support for magnet URLs and torrent metadata exchange. When you click on a magnet URL in your web browser or load it with the "Add torrent from URL" menu, ABC_OKC will add a torrent with incomplete metadata in the torrent list (the magnet URL only contains the torrent info hash and sometimes its name and its trackers). The missing metadata for such a torrent will be downloaded from other peers sharing this torrent and supporting this extension when the torrent is started in ABC_OKC. The peers to connect with are obtained from the trackers inside the magnet URL if there are any, and through DHT if DHT is turned on in ABC_OKC. Magnet URLs are associated with ABC_OKC along with .torrent files at installation time (option "Make default") or on demand in Preferences/Misc. - For a torrent detected at loading time as having a duplicate destination with another torrent already loaded, you can choose in preferences/Misc to have the destination automatically renamed, or renamed through a dialog, or left without change. In the previous release there was no automatic renaming. - Checking for duplicate destination is now also carried out when a torrent destination is changed (in previous release this was checked out only at loading time). - In Preferences/Misc, for a magnet, you can choose to name the torrent and its download destination from the name inside the magnet, or wait to have the torrent metadata downloaded and name them from the real name inside the torrent. If there is no name inside the magnet, the name inside the torrent is always used. The advantage for using the original torrent name is that this name is often clearlier spelled, and it always exists and is the real name chosen by the maker of the torrent. The advantage for using the name inside the magnet is that it's immediately available and so all checkings for duplication are made at torrent loading time and not only when the torrent metadata are completely downloaded, and you can immediately change the destination name as it will not be overwritten by the one inside the torrent. - The checking of the metadata for a torrent loaded from a magnet is no longer interactive because the downloading of these metadata is not performed at magnet loading time but only after the torrent has been started which may occur when ABC_OKC is managing its queue on its own without the user sitting at his computer. If there are any problems during this checking, messages are displayed in the message column of the magnet. - Switching to PyCrypto 2.1.0. ======================================================================================== Minor improvements for ABC_OKC 3.9.x ======================================================================================== - Torrent names that can't be used to name the destination because of invalid characters are now automatically fixed. In previous release there was a dialog to confirm this renaming. - Torrents downloaded from a magnet URL will have their magnet name if it exists displayed in the torrent rename and change destination dialogs. - Some improvements in the magnet handling code. - When automatically applying a template with only a tracker matching criterion to a magnet, this criterion is checked only when the magnet is loaded and not when the torrent medata are later received (because these metadata don't contain any tracker information). - In Preferences/Queue/"Main scheduler", the last option to immediately stop an automatically started torrent which is rejected by all its trackers is now only effective for a torrent without DHT access (a private torrent or when DHT is globally turned off). This improvement will also be applied to release 3.8.13. - When Preferences/Misc/"Download destination"/"On duplicate destination"/"Ask for new destination" is checked or when auto-renaming of destination fails, and after the metadata of a magnet are loaded and a duplicate destination is found, then the metadata are now stored into ABC_OKC and the torrent is stopped with a "Duplicate destination" message. You may then change the destination of the torrent data to fix the problem. In the previous release, in such a case, the metadata were not stored ; only the message was telling a duplicate destination was found, but you could not fix it because the destination was not known. - The automatic renaming of files inside torrents now also fixes file or directory names ending with a combination of spaces and dots ; such ending characters are silently cleared by Windows. In the previous release only trailing spaces were detected. This is also checked for each file or directory saved in ABC_OKC parameters. - When renaming a torrent with the option "Also rename destination" set, the new destination name now points at the already received data for this torrent if there are any. In the previous release, only the destination name inside the torrent parameters was changed. This improvement will also be applied to release 3.8.14. - Tweaking of the upload rate overhead estimation. ======================================================================================== New features and improvements for ABC_OKC 3.8.x : ======================================================================================== - Switching to Python 2.6.1. Support for Windows 95, 98, ME and NT4 has been dropped. The Microsoft files mfc90.dll, msvcr90.dll and msvcp90.dll must be installed in your system to run ABC_OKC 3.8.0 and above. To do this download the Microsoft Visual C++ 2008 Redistributable Package (1.73 Mo) from the Microsoft site and run it. It's available at : http://www.microsoft.com/downloads /details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en If you want to generate a .exe for ABC_OKC also copy these files from your WinSxS\x86_Microsoft.VC90.MFC_xxxxxxxx and WinSxS\x86_Microsoft.VC90.CRT_xxxxxxxx Windows directories to your system32 Windows directory. - Some tweaking in memory management to immediately release memory when a torrent is stopped. - Some more tweaking in memory management. - All ABC_OKC writable data files and directories (configurations, lists, logs, torrents) are no longer stored in the ABC_OKC installation directory but in the standard Windows directory %APPDATA%\ABC_OKC. This means each user account running ABC_OKC now has its own data. Relative paths in ABC_OKC are also considered rooted to %APPDATA%\ABC_OKC and no longer to the ABC_OKC installation directory. The old data of your current installed release of ABC_OKC are automatically moved to %APPDATA%\ABC_OKC on the first time you will run this release for each user account. All you will have to do manually is deleting the folder %APPDATA%\.ABC if you're not using ABC or LH-ABC. If you uninstall ABC_OKC, all ABC_OKC data are kept in %APPDATA%\ABC_OKC. You will have to delete them if you don't need them any more. This change should eliminate all the hassle with the User Account Control in Vista. You will still need administrator rights to install ABC_OKC, but no longer to run it. After validation, this change will be also included in release 3.7.20 (compiled with Python 2.54). - ABC_OKC now supports DHT. DHT is used if it's toggled on in Preferences/Network and for torrents with the private flag set off, or without this flag. DHT is using the UDP port 56666, already locally used in TCP by ABC_OKC to send commmands and parameters to the running part of ABC_OKC. Your firewall must open this port if you want to use DHT. You can change this port by using the -p command line parameter. The torrent details window now shows the number of DHT nodes and the value of the private flag included in the torrent. The torrent maker has now fields to create torrents with DHT nodes. Trying to scrape a trackerless torrent will display "!" in the current #seeds/#peers fields. You can add more DHT nodes to the DHT routing table with the menu Settings/Add DHT Nodes. - Switching to wxPython 2.8.9.2 and pyWin32 213. - Switching to Python 2.6.2. - Added a cyclical garbage collecting. - In the torrent maker you can choose to have automatically added into the torrent currently in construction, the 8 DHT nodes that are closest to the infohash of this torrent, taken out of your own node table. These nodes will be added only if DHT is running and if your node list is not empty of course. These nodes are not displayed in the node list of the torrent in construction, but their number is shown in the torrent building progress window. - Switching to wxPython 2.8.10.1. - Switching to pyWin32 214. - Improvement in the timeout for standby torrent : Till now this timeout would trigger if the time elapsed from the last sharing opportunity would exceed the value set in the preferences. Now this timeout also takes into account the last time the torrent uploaded or downloaded, to prevent a standby torrent from cyclically and endlessly awakening to try to upload data to a peer connected with some files set to "Never download", which can't be achieved because this peer will never complete its data. - Improvements in the handling of multi-tracker torrents : * By default a scraping stopped multi-tracker torrent will first try to scrape with the last tracker it successfullly connected with. If there is no such tracker or if this tracker doesn't answer the torrent will search for the first alive tracker from its internal list. You can force the scanning of all trackers without prioritizing the last successfully connected tracker by holding down the control key while triggering scraping. You can invert this behaviour by setting the ctrlscraperescanstrackers parameter in abc.conf to 0 instead of 1. * A starting torrent now tries to connect with the tracker it successfully previously scraped with, if any. - Some improvements in the handling of timeouts. - Switching to Python 2.6.3. - Some optimizations in the code to upload data. - Some improvements in the bandwidth distribution to all running torrents. - The check for duplicate file names inside a torrent is now performed when the torrent is loaded in ABC_OKC and no longer when the torrent is started. Duplicate file names are automatically fixed when it is possible. If it fails, you are warned in the same way as when files names with bad characters cannot be automatically fixed or when file names have too long path names (warning message at loading time, status message in the torrent list message column, individual status for each file and red coloured line in the file list of the torrent details window). - Switching to Python 2.6.4. ======================================================================================== Minor improvements for ABC_OKC 3.8.x : ======================================================================================== - The DHT port can be changed independently from the port used for local communication with the running part of ABC_OKC, in Preferences/Network. - When associating .torrent files with ABC_OKC in Preferences/Misc the -p option is inserted in the command line if the local port has be changed from default value 56666 at startup time. - Some improvements in the windows of the torrent file maker. - Some code improvements against disk IOErrors. - When a torrent turns completed and the maximum number of seeding torrents is reached in its connections limiter, the torrent is now always queued back even if it was manually started. - You can choose if all the sub-group checkboxes in a multi-torrent parameter dialog are switched on or off by default when the dialog opens, by setting the parameter multiparamdefault in abc.conf to 1 or 0. - Some simplifications in the computing of ETA. - In the tracker list of the torrent details window of a multi-tracker torrent, there's a new column to show the torrent default tracker, that is (if it's not overridden by the torrent external tracker) : * for a running torrent : the tracker the torrent is currently connected with ; * for a stopped torrent : the tracker that will be accessed in priority at next start or scrape because it was the last one the torrent successfully connected with. - As the upload rate regulation is keeping most of the time the total upload rate below its maximum since some improvements in the upload rate regulation in ABC_OKC 3.8.0, there's now a new parameter in Preferences/"URM/Activity" to set the threshold above which the extra URM torrent that are started to try to use the available upload bandwidth are set back to onhold or queue status. - From this version onward, ABC_OKC identifies with 'ABC_OKC/AO+version' (for example 'ABC_OKC/AO3.8.10') and no longer with 'ABC/AO+version'. ======================================================================================== New features and improvements for ABC_OKC 3.7.x : ======================================================================================== - There's a new torrent status : Standby. When a torrent is set to this status, its priority is lowered and it is queued up ; then if ABC_OKC is in automatic mode, the torrent will automatically scrape every 20 minutes. If the torrent is complete and scraping is reporting leechers or if it's uncomplete and scraping is reporting seeders, the torrent priority is increased and the torrent is started. If the torrent is uncomplete and scraping is reporting no seeders but leechers, the torrent is started for 2 minutes to update the number of copies globally made available by all leechers, and if this number is different from the local progress of the torrent, the torrent is kept started ; otherwise it's put back to standby status. As the standby torrent is considered in queue, it may still be started by the schedulers of the queue according to its priority. This new status is mostly useful when automatically triggered by a timeout on a seeding torrent with very sporadic leechers. You can now choose in Preferences/Queue the action triggered by a torrent timeout amongst 3 options : * Stand by * Lower priority and queue (the only available old behaviour) * Stop The standby status can also be manually set from the right click popup menu in the torrent list. Warning : This new status is not suitable for a torrent starting from scratch. It must be used only to try to complete or finish an almost dead torrent. It's very important to stay connected as long as possible to make the tracker know of the availability of your torrent as a seed. Don't forget a standby torrent only connects when it detects seeders or leechers : that's why it must be used only as a last resort. The main scheduler will always lead your torrents through the normal cycle of life of a torrent : Working, seeding, and possible timeout triggering standby, queued back with lower priority or stopped status. - After some testing, several modifications for the standby mode : * A standby torrent is no longer considered as queued. * The priority is no longer modified when switching to or from standby status. - The action on timeout is now a torrent parameter (and a template parameter) to better fit trackers (some don't accept scrape for instance). - The frequency of scraping for standby torrents is now lowering as the number of standby torrents is increasing so as not to overload trackers. - You can set in Preferences/Queue for how long a torrent may stand by without succeeding in resuming, before being queued with lower priority or stopped. - A new function in the torrent list right click popup menu : Complete and Shut down. This one was requested and is for people who want to go to bed while their computer is completing some torrents and possibly seed for a few hours before shutting down. This is the best way to have some fresh complete torrents in the morning if you don't wish to let your computer run on its own all night long ; but don't forget to keep on seeding the next day until the torrent turns finished. The "Complete and Shut down" menu has 4 sub-menus : * Add Torrents : Adds the selected torrents to an internal list of torrents. When all torrents from this list will be completed, ABC_OKC will keep on seeding for the duration set with the sub-menu "Seeding Time" and then will shut down the computer. * Show : Selects in the torrent list all torrents of the internal list of torrents to be completed. This is a way of checking the content of this internal list. The number at the right is the number of torrents currently in the list. * Seeding Time : Sets the time you wish ABC_OKC to keep on seeding after all torrents from the internal list have run completed. When this time is over ABC_OKC will shut down the computer (with the same interface as used by the function "Settings/"When idle...", which means you have 1 mn extra delay before ABC_OKC closes and 3 mn extra delay before the computer shuts down, while you still can interrupt the process. For the seeding time you can make your choice from 0, 1, 2, 3, 4 or 5 hours. * Reset List : Resets the content of the internal list of torrents. No data for this function are kept from one session to the next, except the seeding time. - I finally set whether or not to consider standby torrents as queued torrents, as an option in Preferences/Queue. If set, this option combines the advantages of both standby and queue modes, though it may be a little bit more confusing. Globally if you have a big torrent list, torrents that get queued and lowered in priority will probably never be started again with this lower priority and it's very important to make their timeout trigger the standby mode. For very short torrent lists, lowering priority and queueing back the torrents on timeout may be a valid option for timeout. For middle size torrent lists or to improve the probability of finishing a torrent in a short list, setting the standby mode on timeout with the extra option of being considered as queued is the best choice. Now the torrent priority is lowered when the torrent status is switched to standby only if the torrent was running before switching. - ABC_OKC now checks if the names for directories and files inside a torrent are valid Windows names when the torrent is added to the main list. If they are not, they are fixed by a change of offending characters with '_' and if necessary by adding to the names '_XXX' where XXX stands for an integer, to make them unique. If a directory or file can't be renamed, a warning message is output and the torrent is loaded with the stopped status. In the torrent details window : - The header of the file column shows '*' if at least one file is renamed. - The file list right click popup menu has 2 more entries : * Show Original Names : This is a toggle to display or not a new column at the right of the file column to show the original file name for the files that were renamed. This toggle is reset when the details window is closed or its content reloaded with another torrent. * Copy : Copy to the clipboard the selected names or original names if you clicked on one of the name columns, or all the selected lines if you clicked on another column. In this popup menu, "Reset name" and "Reset All Names" have been removed. These commands could lead in very special cases to the impossibility of renaming data, which was detected and notified to the user but could be somewhat confusing. - A new option in the right click popup menu of the file list of the details window : Check Names. With this option you can manually trigger a check of the file names inside a not running torrent. Files with bad names that could not be automatically fixed are displayed in red, and their status displayed in a new column ("Name status") that's only shown in this case. A shortcut for this function is a left click on the name column header. A left click on the file name status column header hides this column. - The file name checking at loading time (and also when manually triggered) now also checks if a file inside a torrent has a name or a path longer than the max allowed in Windows. As file or path names may contain useful informations, too long names are never be automatically truncated. - The error status of the file names inside a torrent is now persistent after the details window has been closed and also from a session to the next. So there's no longer need for a manual trigger of checking for the validity of the file names inside a torrent : the automatic checking at loading time is enough and you have then the Change Destination and the Rename Files functions to fix problems that could not be automatically fixed. - Standby torrents now check for the opportunity of resuming one after the other. this disturbs less the torrent queue and makes a lighter load for trackers. - Switching to wxPython 2.8.8.0 and py2exe 0.6.8. - Switching to wxPython 2.8.8.1. - Improvements in the handling of the standby status : * If ABC_OKC can't get from the tracker the number of seeds or peers when trying to wake up a standby torrent, this torrent is started for 2 mn (parameter sbwaitleechers in abc.conf) to check if seeds or peers will connect and so decide if the torrent must be kept awaken after this delay because of sharing opportunities, or if it must be set back to standby status. Till now torrents that could not get the number of seeds or peers by scraping the tracker were kept in standby status until the next check. The other behaviours when the tracker returns the number of seeds and peers stay unchanged. * While a standby torrent is cyclically connecting for 2 mn max to look for sharing opportunities, the activity for this torrent is not handled so as not to disturb the queue scheduler. During this phase, the activity marker for this torrent now shows "S" for "standby" instead of showing "+". - There's a new command "Copy" in the right click popup menu in the "Find Torrents in List" dialog. It works the same way as the command "Copy" in the torrent details window. If you click on the torrent name column the torrent names for the selected torrents are copied to the clipboard and if you click on any other column, all columns for the selected torrents are copied to the clipboard. - Standby torrents that are connecting to check for sharing opportunities are no longer triggering starting or stopping of other torrents in the queue to avoid disturbing queue scheduling. In such a case the number of running torrents displayed in the cells "R", "D", "S", "P" of the status bar overshoots by one the total of torrents taken into account by the schedulers displayed in the cell "[...]" of the status bar. - Improvements in the algorithm to choose the torrent to be queued/on-hold by the URM when the global upload rate overshoots the maximum upload rate : Till now the torrent with the lower priority was queued/on-hold. Now the active torrent inducing the smaller gap between the max dynamic upload rate and the upload rate is queued/on-hold, and inactive torrents are never queued/on-hold. This algorithm is also used when not URM torrents claim upload bandwidth and an extra URM torrent must be queued/on-hold to give some back. You can also optionally force torrents with a high contribution to the upload rate (above a tweakable threshold) to be never queued/on-hold by the queue schedulers. The setting is in Preferences/Queue. All this will improve the efficiency of the URM to track the maximum upload rate especially when there are extra URM torrents with very high upload or download rates. - Some improvements in the upload rate distribution algorithm to behave in a more coherent way with the URM when it must halt a URM torrent to give back some upload bandwidth to non URM torrents that would like to increase their upload rate. - Improvements in the upload and download bandwidth distribution when torrents are started manually. - When the URM needs to queue/on-hold an extra torrent, you can make it choose this torrent from the pool of all alive torrents or only the alive torrents with the lower priority in the queue (in Preferences/"URM/Activity"/"URM scheduler"). - Switching to pyWin32 212. - A better algorithm to choose the extra torrent to be queued/on-hold when the global upload rate overshoots the maximum upload rate or when non URM torrents request upload bandwidth. This will favour the torrents that bring the upload rate closer to the max upload rate when halted. You can still use the old algo that chooses the active torrent inducing the smaller gap between the max dynamic upload rate and the upload rate, by setting the parameter haltextraalgo to 0 in abc.conf. - Some cleanup in the various delays used in the URM. I tweaked a little bit the 2 following configuration parameters (only availalable till now in abc.conf) : The minimum delay from the last start of a torrent till the possible next start/stop of a torrent by URM, and the minimum delay from the last stop of a torrent till the possible next start of a torrent by URM. These delays are used to give some time to other torrents and bandwidth regulation to react to these start or stop. I finally set the value for these 2 parameters to 60 s and 30 s and set the value for the delay for activity detection to 80 s to better fit torrents that keep on toggling active and inactive. I also made these 2 parameters available in Preferences/"URM/Activity"/"URM scheduler" /"Minimum delays" so you may tweak them if you wish. To sum up, you should change by yourself the 3 parameters as follows : "URM scheduler"/"Minimum delays : start->start/stop" : 60 s "URM scheduler"/"Minimum delays : stop->start" : 30 s "Activity detection"/Delay -> 80 s - Better estimation for the dynamic max upload rate for high download rates (~ 1 MB/s). - Switching to wxPython 2.8.9.1. - Many improvements in the global upload and download rate regulation with a better integration of the BitTornado code and some changes inside it to better fit the multi-torrent features of ABC_OKC. - The purpose of timeout on torrent downloading and seeding is to avoid blocking the queue with inactive torrents. So when no other torrent can be started, there's no need to time out, except if you want all torrents to definitely stop after a certain delay. There is now an option in Preferences/Queue/"Global torrent timeout setting" to set if torrents will only time out when ABC_OKC is in manual mode and there are other on-hold torrents, and when ABC_OKC is in auto mode and there are other torrents in queue or on-hold status. - Some more improvements in the measured upload and download rates returned by BitTornado. - Switching to Python 2.6. Support for Windows 95, 98, ME and NT4 has been dropped. ======================================================================================== Minor improvements for ABC_OKC 3.7.x : ======================================================================================== - The switch Preferences/Queue/"Scheduler can queue/on-hold manually started torrents" is also used to decide if a manually started torrent may be queued/on-hold when a standby torrent awakes. - When a standby uncomplete torrent with no seeders but leechers evaluates if it must resume, it now takes into account its own progress and the progress of each connected peer to compare them with the global number of available copies (in the previous release, the estimation was more approximate because it only considered the torrent own progress). - When you manually set a torrent to standby status, the first check to know if the torrent must be resumed will occur 20 minutes later, and not immediately like in the previous release. - When editing torrent parameters, the torrent parameters window panel for timeouts now has 2 switches to choose what parameters you want to update for selected torrents (one for timeout switches and one for timeout values) instead of one global switch in the previous release. - A warning message is output at loading time if a name or a path longer than the max allowed in Windows is detected for a file inside a torrent. As file or path names may contain useful informations, too long names will never be automatically truncated. - If file names checking at torrent loading time fails, the message window that sums up the problems now has a button to open the torrent details window. As when you manually trigger file name checking, files with bad names are displayed in red and their status displayed in the column "Name status". - In the file list of the torrent details window of a multi-file torrent or in the torrent list of the "Find Torrents in List" result, you can select the files or torrents by dragging the mouse over them with the left or right button pressed, as in the main torrent list. - In the details window of a multi-file torrent : * The file names column header of the file list displays the letter "I" as long as at least one file name is invalid and could not be automatically fixed. * Shortcut for renaming selected files : left click on the file column header of the file list (quite alike for renaming a torrent in the main torrent list). * Shortcut for toggling the display of the original file names column : right click on any column header of the file list (A left click on the column header will also make it disappear when it is displayed). - In Preferences/Interface, you can set the quick display of the torrent details show its window positioned centered on the panel of the main frame of the application (as a supplementary option to the already existing "At right of the pointer" and "Centered below the pointer"). - In Preferences/Interface, you can set if the details and advanced details windows will be centered on each other when you switch from one to the other (greyed box = windows are centered but aligned at the top). - Greater permissiveness for torrents that do not strictly obey to Bencoded format rules. When errors are detected that don't prevent the torrent from being loaded and started (keys not sorted in dictionaries, not mandatory keys duplicated, leading zeros for integer,...) the torrent is loaded and a warning message is displayed in the message column (bad data in torrent). - A running torrent that times out is not put back to queue (with queued or standby status) if it's the next torrent to be immediately restarted by the queue scheduler. But its priority is normally decreased if it must be (queued status or standby status with standby also considered as queued). - You can optionally have a message displayed in the main torrent list when a torrent times out. The switch is in Preferences/List. - A message is displayed in the column message of the torrent list when the standby status times out. This display can be toggled with the same switch (located in Preferences/List) as the one used to have download, upload or tracker timeout messages displayed. - Some informations to make ABC_OKC work with Windows Vista are in ForVistaUsers.txt. - Added the status "Checking" in the status combo-box in the "Find Torrents in List" dialog. - Improvements in the display of the files progress when files are switched to and from "Never download" state. - A few cosmetic changes in windows and messages, and the return of the Windows XP and Vista look in windows within ABC_OKC if you're using these OS. - msvcr71.dll is no longer included in the installation package. - Some cleaning up in the way ABC_OKC is identified in Windows : At installation time, the default installation subdirectory and the directory created for shortcuts in the Windows start menu are now named ABC_OKC and no longer ABC. ABC_OKC is now recorded in the Windows registry as ABC_OKC and no longer as ABC. If you want to get rid of the old uninstallation key in the windows registry still pointing to the application ABC, just double-click on the file RemoveOldUninstallABC.reg. When you re-install ABC_OKC, the previous installation directory is remembered. - Better handling of focus in windows. - No more possible freeze in GUI when closing ABC_OKC (this did not prevent ABC_OKC from correctly closing). ======================================================================================== New features and improvements for ABC_OKC 3.6.x : ======================================================================================== - Several modifications in BitTornado core and ABC_OKC to lower the memory usage for ABC_OKC (hunt for leaks, new bitfield class, garbage collector tweaking and some improvements in the code). - You can now have new customized client IDs automatically generated for each session (till now they were remaining fixed as entered in Preferences/Network). In Preferences/Network, push the M (for Mask) button near each client ID to edit its randomizing mask : this mask is a string 20 characters long in which an "f" means the corresponding byte in the ID is fixed and an "r" that it will be computed at random. In this latter case the corresponding character of the ID will tell how the randomized byte will be computed. See chapter §16 in the documentation for the meaning of these special indicators. An empty mask is interpreted as a mask filled with "f". When the mask is empty, the mask toggle button displays an "m". The client IDs are automatically generated when ABC_OKC is started, or after a modification of the ID or the mask in the Preferences and a click on Apply or OK, or when you click on the generate ID button in the Preferences an then on Apply or OK. The currently used ID is displayed below the customized IDs in Preferences/Network. In the ID field you may also enter binary data for each character in the format \XX where XX is the hexadecimal code of the character. Non printable characters and characters above 128 must be entered this way. When not used to escape an hexadecimal code, the single character '\' is entered as \\. - Switching to wxPython 2.8.4.2 and NSIS 2.30 + some cleaning in the code. - When a torrent turns complete and its data must be moved before it starts seeding, it must be stopped to allow moving data, and only then it's resumed, starting seeding. The problem is that some trackers reject the torrent after this resuming, believing the BitTorrent client is hammering the tracker with multiple announces for this torrent. To avoid bothering such trackers, you can now delay this resuming after the data are moved (until now there was a default delay of 2 seconds, not fitting all trackers). This delay is in Preferences/Misc/"Move data" and appears only when you set the move data option to "Completed". - In the stop seeding conditions in the torrent parameters, you can now choose the first reached limit from time and ratio. - 2 new columns are available in the torrent list : "Seeding time" to display the seeding time of a torrent as it is currently counted out to check if the seeding time limit is reached, and "Total seeding time" to display the time the torrent has been seeding overall whatever seeding limit is chosen. - Switching to wxPython 2.8.6.0. - Switching to wxPython 2.8.6.1. - Switching to wxPython 2.8.7.1. - Moving received data after a torrent turns complete or finished or from the "Change destination" dialog is now performed without blocking the GUI. So you will be able to move received data to a partition other than the one used to store temporary received data without any problem even for large amount of data (several GB). If several moves have to be done they are queued up and will never be performed while a torrent is checking. All pending moves are always finished before exiting ABC_OKC. While a torrent is moving data, all actions for this torrent regarding the queue (start, stop,...) are disabled. While a torrent is being deleted and is moving data (because Preferences/Misc/"Move data" was set to "When torrent is deleted"), no window or dialog concerning this torrent can be opened. ======================================================================================== Minor improvements for ABC_OKC 3.6.x : ======================================================================================== - The torrent details and advanced details windows have now the down and up rates displayed. - I validated an option I had left pending in the upload rate regulation code till now. Now when the URM torrents are set to "Low priority" in Preferences/URM-Activity, the torrents started by the URM can be automatically on-hold (or queued according to user setting) if they can't give back some of their up bandwidth to non-URM torrents that need it, because they are below the 3 kB/s minimum upload rate. This will leave no longer URM torrents running if they are not strictly needed. - The URM mechanism that prevented from starting the same torrent more than twice in a row has been replaced with a delay preventing the URM from stopping a torrent too soon after one has been started (urmtorrentstopdelay in abc.conf). All this is done to allow the global rate regulation to cope with started torrents that quickly reach a vey high up rate, or a very high down rate that brings down the max up rate, and that could initiate some pumping effect in the regulation. In abc.conf I would also advise to set the delay between two consecutive torrent starts by the URM (parameter urmtorrentstartdelay) to 120 instead of 30 (seconds). - The delay running before the URM starts and stops torrents is now also reset when torrents are started or stopped manually or by the main scheduler. - The delay before the URM starts a new torrent is now also reset when you raise the max up rate in the preferences, to give time for the rate regulation to react. - More values available in seeding options. - Some old code cleaning. - Here's an improvement for the connection limiters when dealing with trackers that have a maximum number of simultaneously seeding torrents. Till now when this maximum number of seeding torrents is reached in the pool of torrents linked with the connection limiter, the next completed torrents in the queue linked with the same limiter are kept Queued to avoid bothering the tracker, triggering of timeouts, and to start instead torrents connecting with other trackers. To avoid having too many locked completed torrents waiting for seeding just because the max number of seeding torrents for their connection limiter is reached, there's now a new option in Preferences/Queue : "Don't start a torrent if limiter locks at least X completed". This will forbid the starting of a new torrent if its connection limiter is already preventing more than X completed torrents from seeding. Of course other torrents further down in the queue may start if they are not concerned with this limitation. You may enable or disable this feature and choose this minimum number X of locked completed torrents that will trigger it. - The value of some abc.conf parameters critical for ABC_OKC are now locked to default internal values if the parameter tweaksysparams is set to 0 in abc.conf. You can find the list of these parameters in utility.py. If you want your own abc.conf values for these parameters to be taken into account and saved to abc.conf, set tweaksysparams to 1 in abc.conf before starting ABC_OKC. None of these values are available through the normal ABC_OKC Preferences dialog. Normal setting should be tweaksysparams=0 to allow these parameters to be set at conception level. - The column widths of the connection list in the torrent advanced details window are now remembered. Right clicking on any header of the list resets the columns widths to their default values. - A few more optimisations in memory management. - Changed the way localized strings from language files are accessed. The language files must now have a BOM header like other configuration files. - When you switch language, the messages for already completed and finished torrents are reloaded in the new language when ABC_OKC is restarted. These messages are also displayed with the new time format if it has been modified in abc.conf. Till now these modifications only affected new messages, and not already displayed ones. Note that this new behaviour will apply only for completion messages emitted from this release of ABC_OKC. Messages already emitted with previous releases of ABC_OKC are kept without modification. - Various improvements throughout the program code. - Torrents are now described inside the file torrent.lst without their path to the torrent subfolder of the ABC_OKC installation directory. If you re-install ABC_OKC to a different path (possibly on another system), you just have to copy your old torrent folder and old torrent.lst file to the new ABC_OKC installation directory to instantly get all your torrents back in the queue. - Sending a command line to an already running ABC_OKC is now performed very much faster. You're using this when for instance you click on a torrent link in a browser to add the torrent to the ABC_OKC queue. - A better synchronization between processes has sped up some torrent management operations especially with multi torrent selections. There was also some more cleaning up in the code. - Slightly changed the way the client ID is displayed in Preferences/Network : the locally modified ID is now displayed in the current ID field when you switch user. - A little bit more random in the client ID generation. - Tweaking of the garbage collector and some internal delays. - Final touch of make-up for the torrent details and advanced details windows. - Re-wrote logic to control switching of seeding options in the torrent parameters. - Till now the maximum number of extra torrents that could be started because of the inactivity of other torrents (set in the bottom panel in Preferences/"URM/Activity") had a direct link with the activity of torrents displayed in the Activity column : when this number was reached, any torrent that wanted to turn inactive was forced to active state. Now this max number is used internally but the activity in the Activity column is always showing the real activity of the torrent, whether the max is reached or not. - When activity is manually forced, the column Activity displays 'm' or 'M' if unset or set. These values and the values for automatic activity detection ('' and '+') are now all in the language files. - You can have the maximum extra torrent number for activity displayed in the scheduler counters in the status bar with the option Preferences/Interface/"Show max activity extra torrent number in scheduler counters". - In Preferences/"URM/Activity" : * There's a master switch to make the torrent activity detection start extra torrents or not (easier than setting the max number to 0). * You can choose if a torrent turning back active may queue/on-hold any active torrent, only an active torrent with a lower priority (third state of the three-state checkbox), or any inactive torrent. The previous fixed behaviour was hard-coded as any active or inactive torrent. I think the best default tweaking is "active torrent with a lower priority". This queuing back will not be performed if there are more inactive torrents than the maximum number of extra torrents started because of inactivity (and so an already insufficient number of active torrents). - Checking the latest version available is no longer blocking the GUI while connecting. - Better detection at loading time for torrent files with faulty data. - A tooltip on the torrent name in the torrent details windows when the name is larger than the windows. - Re-wrote old scraping code from Choopan Rattanapoka era to make it more robust. - Improvements in the display of the torrent details window in torrent browsing mode (browsing the torrent list inside the same torrent details window with the mouse wheel after a left click on the torrent name) : shorter code, smarter and faster update of the window. - In the "Find torrents in list" dialog you can now search by the torrent short label and by the torrent Info_hash. The Info_hash will be searched only if it's a valid 40 hexadecimal characters (0-9 and A-F) string ; this special search will find 0 or 1 matching torrent. - Many improvements throughout the code (events handling, duplicate torrent dialog,...). - Moving received data after torrent turns complete of finished is now performed in a separate thread. So you will be able to move data to a drive other than the one used to store temporary received data without any problem even for large amount of data (several GB). - A manually initiated only checking on a torrent is now moving received data if the checking leads the torrent to the completed or finished status (of course according to the settings for moving data set in the preferences and the local parameters of the torrent). To avoid unwanted deletions, only checking a finished torrent will not automatically delete it even if Preferences/Queue/"When torrent is finished" is set to "Delete torrent from list". - More cleanup and reorganization in the code. - Some minor adjustments in the display of the ETA and the %U/D value. - Some simplifications in the management of activity : the activity detection is now always automatic and there's no more parameters about activity in the torrent parameters and the templates. The manual mode for activity dated back to old ABC_OKC versions when it was used for another purpose and activity had a slightly different meaning ; it's of no real use now. - Another simplification : When a torrent fails, it's now always stopped. There's no interest in putting it back to queue status because failing means unrecoverable error if there's no manual operation. So this option has been removed from the preferences. ======================================================================================== New features and improvements for ABC_OKC 3.5.x : ======================================================================================== - Reseed resume : This will resume a completed torrent for reseeding without ever checking the downloaded files hashes. So be sure to use it with completed and reliable downloaded files. There's anyway a quick check for file names and sizes before starting the torrent. To use this, just keep the Alt key pressed while fast resuming a torrent (from the main toolbar or from the right click popup menu). There's also a new web service command : RESEEDRESUME (Read §19 in doc). - Connections limiters : This feature is for people who have torrents from several different trackers with some of these trackers having limits for the number of seeding, working or overall connected torrents. For the moment when you reach one of these limits, torrents get rejected by the tracker, and ABC_OKC may try to start more of them from the same tracker which will be of course also rejected. The connections limiters allow you to let ABC_OKC know about these limits so that it doesn't start more torrents from these trackers than allowed, and more cleverly looks forward in the list for starting torrents from other trackers instead. Editing the connections limiters : - The settings for the connections limiters are in the menu Settings/"Connections limiters". - In the connections limiters window you will create limiters profiles to link some existing templates with max values for the number of seeding, working and overall connected torrents. ABC_OKC will obey these limits for the pool of torrents belonging to these templates. On the template side each torrent is now always linked with one template, so it's now forbidden to delete a template as long as there's at least one torrent in the list using it. Note that you can use the connections limiters to limit the number of connected torrent by any triggering rule used in the templates and not only by the tracker URL matching. - The logic behind editing the connections limiters is very much like templates editing. A zero in value settings means an unlimited number of connections. The max number of connected torrents can't be greater than the sum of the max number of seeding and working torrents. Copying a limiter does not duplicate the templates links, because they will be obviously different from a limiter to another. Notes: - The limits tracking will not be accurate for multi-trackers torrents with some of these trackers having connections limits. You can't strictly characterize such torrents by tracker because they can connect with any tracker from their internal list independently from their template. In fact I never came into trackers having such limits and being referenced in multi-tracker torrents so this should not be disturbing. You can always use the Preferences/Queue/"Cancel timeouts when tracker says" string to prevent torrents that would still get the "rejected because of too many connections" message from timing out with a lower priority. - Seeding partial torrents (with some files marked as "never download" and with all other files completed) are not seen as seeding by the trackers though their status is "Seeding" in the torrent list. So they are not counted in the seeds pool by the trackers. - If not found at startup, an empty conlimiter.lst file will be created in ABC_OKC install directory to store connections limiters profiles. - Improved behavior for the connections limiters : When a torrent automatically switches to seeding (after a file recheck or when the torrent gets completed), there's an extra check for the number of seeding connections and if it's over the max of one of the asociated connections limiters, the torrent is set to "queued" status instead of starting seeding while being rejected by the tracker. - Switching to BitTornado 0.3.18, bringing encryption. There are new radio buttons in Preferences/Network to choose the encryption mode. * No encryption permitted : No encrypted connections are allowed and none are created. * Encryption enabled when needed : Incoming encrypted connections are accepted and encrypted connections are generated when asked for. This is the default behavior. * Only encrypted connections : Only encrypted connections are created and accepted. * Only encrypted connections + no connections from old trackers : Same as above plus data flow is exchanged through a special port to prevent older trackers that do not handle the encryption protocol extensions from making uncrypted peers connect with you. Local and remote encrypted connections are shown as L+ and R+ in the Local/Remote column of the torrent advanced details window. - Localisation in the lang files for messages from BitTornado. Special messages that are sent by trackers or internal Python reports are still of course in the language used by the tracker or by Python. - Support for IPv6. The setting is in Preferences/Network. - Data cache expiration is tweakable in the advanced preferences. - You can choose to have all the sizes displayed in the torrent list and in the header of the torrent advanced details window in MB or in the most appropriate unit according to the value. In this latter case the option in the preferences to avoid displaying the unit is not available. The setting is in Preferences/List ("Display sizes in MB"). ======================================================================================== Minor improvements for ABC_OKC 3.5.x : ======================================================================================== - Slight improvement in the estimation of the protocol overhead used for the dynamic maximum overall upload rate computing. - Improved the display of superseeding error messages. - In the right click popup menu in the torrent list, the top item will display the template name of the clicked torrent, even if several torrents are selected ; there's no longer the label . In the template submenu of this popup menu, the name of the template of the clicked torrent is now ticked in the template list (if of course it's not hidden). - For dialogs opened from the list right click popup menu that take settings out of one torrent in the list from a pool of selected ones to possibly apply them later after modification to all the selected torrents (Torrent parameters setting, Change download destination), the initial settings are taken out of the last clicked torrent in the list, and no longer from the first selected torrent from the top of the list. This will make easier choosing what the model for your modifications will be. This is also true for the torrent renaming dialog except of course you still can't apply renaming to all the selected torrents but only the edited one. If there are shortcuts to open these dialogs they still edit the first selected torrent in the list (For example the Torrent name list header for renaming). Dialogs opened from a right click popup on a torrent details or advanced details window still only apply for the torrent shown in this window. - While a manual scraping operation is pending the #Seeds and #Peers fields in the torrent list or in the advanced details window for this torrent are showing 3 dots (in fact the value of "scrapingmark" in the current language file) at the place where the scraping result is to be shown. - In Preferences/List you can choose if you want the manual scrape and file checking messages to be displayed in the message column of the torrent list. The default setting for the manual scrape messages is now not to be displayed. - The size for a partial torrent (sum of the sizes of the files inside the torrent not set to "Never download") is now also displayed in the torrent details window. - Some changes in the way informations are displayed in the torrent list : When a torrent is paused or set on-hold, all data displayed in the torrent advanced details window are kept with their last value to give a complete and coherent snapshot of the freezed torrent status. All these values are now also kept displayed in the torrent list. When a torrent is stopped or queued, the value for #Copies is now kept displayed in the torrent list, because it is an information about torrent health like the scrape results that are already kept displayed. - I you want to hide the Version/"Check latest version" item from the main menu bar, just stop ABC_OKC, set showcheckversion to 0 in abc.conf and restart ABC_OKC (abc.conf must be saved in UTF-8 with BOM header). - In the "Find torrents in List dialog", the check boxes to find torrents with seeds and a number of copies >= 1 have been replaced with a combo box labeled Availability. The choices are "All pieces" and "With seeds" ; "All pieces" means that you want to filter out torrents with all pieces available (number of seeds > 0 OR number of copies >= 1), "With seeds" will only find torrents that have a number of seeds > 0. Remember these informations are taken from the main torrent list ; no tracker is queried by the find torrents dialog. ======================================================================================== New features and improvements for ABC_OKC 3.4.x : ======================================================================================== List of last features added since 09/10/2006 : - You can rename the files and folders of the file tree described inside a multifile torrent (where the torrent downloaded data are to be stored). This feature is useful when you try to share a torrent with file or folder names that don't fit your OS (special characters, or names detected as the same because they are only different by the case of their characters). In this case renaming destination files and folders of the torrent file tree is the only way to get the torrent data. You can rename these files/folders for a not running multifile torrent with the right click menu of the file list in the Torrent Details window. You can also reset the original names of the files/folders. Renaming only affects the files paths that are selected in the list. This renaming does not change anything inside the .torrent file itself. If some data have already been received, they are renamed with the files inside the file tree. - I added some web service commands to give web service clients at least similar functionalities to the ones that ABC will soon offer : MOVEUP, MOVEDOWN, MOVETOP, MOVEBOTTOM, SUPERSEED, CHECK, GETTORRENTPARAM, SETTORRENTPARAM, GETTORRENTFILESINFO, SETTORRENTFILEPRIO. See §19 in documentation for more details, some more commands are planned. For now the syntax for these commands follows the schemes described in the web service protocol version 3. This may or may not change in the future (more likely not). All already existing commands are kept identical except for some slight changes in the returned error strings. - A partial torrent (with some of its files marked as "Never download") will now be considered as completed when all its files not marked as "Never download" are completely downloaded. So it will start seeding from this time, and may reach the finished status as not partial torrents do. - The location and use of a default download folder for torrents can now be more flexibly set in the following way : 1 - The use of the default download folder can now be set independently for manual and local torrent adding on one hand, and for torrent coming from other sources like RSS, directory scanner or web service on the other hand. There are now 2 checkboxes in Preferences/Misc to set this. 2 - Moreover each RSS filter may now have its own default download folder, overriding the global setting, for the RSS torrents that are added from this filter. All this will allow you for instance to be asked for each manually added torrent for its download location while being able to download torrents from RSS, directory scanner or web service to the default download location. The default download folder setting for each RSS filter will allow you to immediately file your data by topic without having to create templates to move them to a final special directory (Note that the use of templates is still possible to automatically set the torrent parameters and to move its data if you wish). - More thorough detection for torrents with duplicate destinations at loading time. - In the RSS panel there's now a quick search field. Just type the beginning of the word you're looking for and the RSS article list will be filtered out according to these characters. Double clicking in the field clears it. - Each RSS feeder can now have its own scanning timer and frequency. The default timer still applies to all feeders without this option set. - There's a new global switch to toggle the running of the RSS active filters in one shot. This button is named Auto-Grab and also displays the number of active filters. The state of this button is remembered between sessions. This button takes the place of the old timer button ; the setting of the delay for the default timer is now in the Feeders panel. - Switching to wxPython 2.7.1.3. - Switching to wxPython 2.7.2.0. - 3 new web service commands (See §19 in documentation) : * GETTORRENTFILESPROG : Returns the download progress of each file inside a torrent * RENAME : Renames a torrent * SETDOWNDEST : Changes the download destination - There's a new option in the right click popup menu of the file list in the torrent details window : "Download Selected". This will set all files of the torrent to "Never download" but the selected ones. This is a shortcut for Ctrl+X (invert selection) and set to "Never download". - The 6 last planned new web service commands are implemented (See §19 in documentation) : * MOVEBELOWCOMPLETED : Moves torrents in the list below already completed torrents * GETTORRENTDATA : Returns some of the informations from inside the torrent (Main data, files data or all data) * RENAMETORRENTFILE : Renames a file inside the torrent * RESETTORRENTFILENAME : Resets all or one file name inside the torrent * COMMANDSCHEDULERON : Switches on the command scheduler * COMMANDSCHEDULEROFF : Switches off the command scheduler Note : GETTORRENTFILESPROG and GETTORRENTFILESINFO have been integrated into GETTORRENTDATA. - A new option in Preferences/Queue to cope with trackers that allow only a limited number of seeding, working or overall running torrents connections. With these trackers, it's better to keep timeouts on because torrents that do not have any traffic may fill the limited number of connections the tracker offers if they are kept running. But the problem is that torrents that are started over the max number of torrents the tracker offers are rejected by the tracker and may time out if they are being rejected for too long. So the new option "Cancel timeouts when tracker says" gives a switch and a string (if several ones are given, they are ORed) to engage the canceling of timeouts as long as the tracker error message contains the given string. The string could be for example "many" if one of your favorite trackers outputs "too many connections". ======================================================================================== Minor improvements for ABC_OKC 3.4.x : ======================================================================================== - The number of new RSS torrents retrieved by an RSS update is now displayed as a message in the status bar, and the new RSS torrents are displayed bold in the list. - To track duplicate RSS articles I switched from a global torrent dictionary to a per RSS feeder one. It's more logical because the clear list button only clears the dictionary for the currently displayed feeder and there should not be duplicates over different feeders. - Some code to better deal with duplicate torrents that could be simultaneously added from multiple sources. - The error message telling the destination disk is full now tells which disk is full for Windows systems. - You can sort the RSS list by "New" status by right clicking on any column header. This will alternatively put the bold articles at the top or at the bottom of the list. - In the RSS panel, the search engine editor works with the same logic as the feeders and filters editors. - In the RSS editors the save button is enabled only when a change needs to be saved. It's a reminder for pending modifications not yet saved. - Better release of files when a torrent fails. - When you right click on the "Move below completed" button to scroll the torrent list to show the first working torrent below completed ones, you can force the scroll to go below finished torrents first by ticking the new option Preferences/List/"Scroll below completed goes below finished first". Whether you tick this option or not, next right clicks on the same button will alternate between showing the first below completed and the first below finished. Note that the list doesn't scroll if the searched item is already visible. - The "About ABC_OKC" page has been localized using the lang files. - The default name and description for the torrent list column headers are now localized in the lang files. Changing the current language will reset the headers to the default names of the new language (You can also force this reset by setting initlang to 1 in abc.conf and restarting ABC_OKC). Like before you may customize the column labels in Settings/"Columns and Sizes". - Improved display for scraping results in the torrent list. - If set, the Preferences/Queue option "Immediately stop torrents rejected by all trackers" will be applied only to automatically started torrents. Such rejected torrents will always be kept running when you start them manually whatever this setting is (The label in the option panel has been changed accordingly). - Configurable message timestamp format : You can change the timestamp format used in the message column of the torrent list. Just stop ABC_OKC, find or create the parameter timestamp in abc.conf and change its value with the following rules (default value : timestamp=%d-%H:%M, showing date, hour and minutes) : %d Day of the month as a decimal number [01,31]. %H Hour (24-hour clock) as a decimal number [00,23]. %I Hour (12-hour clock) as a decimal number [01,12]. %j Day of the year as a decimal number [001,366]. %m Month as a decimal number [01,12]. %M Minute as a decimal number [00,59]. %p Locale's equivalent of either AM or PM. %S Second as a decimal number [00,61]. %U Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0. %w Weekday as a decimal number [0(Sunday),6]. %W Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. %y Year without century as a decimal number [00,99]. %Y Year with century as a decimal number. %% A literal "%" character. Notes : * The time stamp must always be the same width for any time displayed. * abc.conf must be edited in a UTF-8 editor with BOM header. - Many improvements in the language files. - Somewhat improved the way combo boxes are used to store informations for the RSS filters and the torrent maker announces. When you add a new value into the combo box, the entered value is no longer erased in the combo box field, but selected : this gives a feedback for the value being correctly entered and the field is ready for a new value to be entered because next typing will erase the selected text. A new value can also be added just by hitting the return key in the combo box. When you erase an existing value from the combo box, the combo box field is no longer left empty. It shows instead the first value (if any) from the combo box list. ======================================================================================== New features and improvements for ABC_OKC 3.3.x : ======================================================================================== List of last features added since 01/23/2006 : - For completed or seeding or finished torrents, you can have the time stamped Completed/Finished message automatically recalled when the last message is cleared in the message column. the option is in Preferences/List. This Completed/Finished time stamped message is now also remembered between sessions. - Command scheduler : This new tool allows to schedule internal ABC_OKC commands that will be run when the date/time you set for it has come. You can also set commands to be cyclically run every day or every week from a given date. The available commands are for the moment : * Mode (manual or automatic) * Stop all traffic * Set upload rate limit type (static or dynamic) * Set max dynamic upload rate * Set max static upload rate when downloading * Set max static upload rate when seeding * Set max download rate * Set minimum number of simultaneous running torrents * Directory scanner (on or off) * Web service (on or off) * Exit ABC_OKC The configuration dialog is opened with Tools/Command Scheduler. From there you can schedule new commands, or edit or delete existing ones. Right click in each cell of the list to change its content. The Command scheduler has its own optional button in the bottom bar. It can be automatically started when ABC_OKC starts and you can have past commands automatically run when the scheduler starts. Read §13 in the documentation for more details. - Integration of BitTornado 0.3.15. Partial downloads should work better. - You can set ABC_OKC to close or to shutdown the computer when it becomes idle. This mode is engaged with the menu Settings/"When idle". It's reset each time you start ABC_OKC. You have a 1 minute delay to cancel the closing and a 3 minutes delay to cancel the shutdown. - RSS feed : Merging, fixing and improving of the RSS feed code that was ported from G3 to ABC and extended by Roee88. You can set the home page to search or browse the web and the option to have this page auto-loaded at ABC_OKC startup in Preferences/Network. Read AboutTheRSSFeedScanner.html for more information about RSS feed. - Many improvements in the RSS filters editing logic. You don't have any longer to manually save the filter each time you switch its activity. Inactive filters have their name now displayed in red in the filter list. There's a new button to clear the list of RSS torrents. You can set the RSS feeders scanning frequency by clicking the timer status. More cleaning in the RSS feeder code. Warnings : * Check the status of torrents in the RSS filters : Stopped and Queued have been inverted to match the order used in the directory scanner dialog. * Also before installing this release, rename if needed the RSS feeder filters so that none have the same name. The original RSS feeder code should never have allowed this. Just a tip to access RSS feeders with HTTP authentication : The Universal feed parser used by ABC_OKC to connect to and parse the RSS feeds supports basic HTTP authentication, so you can access a feeder http://address.com with authentication with the URL http://name:password@address.com. - Integrated Roee88's idea for a RSS download history manager and support for RSS feeders cookies, thank you Roee88. Read AboutTheRSSFeedScanner.html about cookies. The feeders URL parameters are now created, deleted and edited in the new "RSS feeders" panel. Also if you enter a not yet recorded feeder URL in the top "RSS feeder" field and click on the button Update, this URL will be automatically saved in the RSS feeder list. - There's a new Copy button in the template dialog to copy an existing template. - The RSS scanning frequency has a minimum value of 5 minutes. - The size column in the torrent list now only shows the size for the files not set to "Never download" in the torrent. - 2 workarounds to bypass bugs in Python : * to allow adding a torrent from the command line with a file name containing characters not in the default system encoding. * to open in Windows from ABC_OKC received files with a name containing characters not in the default system encoding (only working in Windows 2k/XP). - Switching to Python 2.4.3 and Python for Win32 Extensions 208. - Upload and download volume limiter : You can now have ABC_OKC watch the upload and download volumes over cyclical periods of time and automatically switch to manual mode and queue back torrents when a maximum volume is reached in upload or download during this period. Moreover ABC_OKC will switch back to automatic mode if necessary and resume all transfers when a watch cycle comes to end. When ABC_OKC is switched to manual mode under control of the transfer volume limiter, the mode icon displays a yellow cross to show that this manual mode is under the volume limiter control and may be automatically switched back to automatic mode later. From this particular mode that can only be set by the transfer volume limiter, you can switch to the real manual mode by left clicking on the mode button. All parameters are set in Preferences/Limits. For the upload and download limits, you have now these new parameters : * A switch to engage the volume checking. * The max volume in GB that must not be overrun in the watch period. * The duration of the cyclical watch period. * 2 buttons to set the start of the watch period cycle : the button "Now" sets this to the current date/time ; the button "Date" allows to set any date/time. You can also have the percentage of the max volume downloaded or uploaded till now displayed in the 2 bottom right cells of the status bar, with the option Preferences/ Interface/"Display volume in status bar". - There's a new optional column in the torrent list to display the download destination. - There's a new checkbox in the "Change download destination" dialog to also optionally "Move already received data" when the download destination is changed. - In Preferences/Misc, the logic to choose when received data are moved to their final destination has been somewhat changed. The new way focuses on really sensible choice combinations and allows to move data when torrents are deleted independently from their status completed or finished, which is an improvement. - The core is now BitTornado 0.3.17 (solves the superseeding bug). - Switching to Python 2.5, wxPython 2.6.3.3, PythonWin 210, ctypes 1.0.0 (now part of the Python package) and NSIS 2.20. - Better tracking for duplicate files inside the torrents. ======================================================================================== Minor improvements for ABC_OKC 3.3.x : ======================================================================================== - When you select several torrents and manually scrape, if some of the selected torrents are not scraped because they were already scraped less than 1 minute ago, you will get only one message to tell you that, and not as many successive messages as there were not scraped torrents. - More percentage values to choose from for the seeding option "Upload until UL/DL ratio". - Main menu more logically organised. - The "low priority" mode for the URM is now the default for a fresh intallation of ABC_OKC. You can try to toggle it on in your already installed ABC_OKC. This mode has been improved : it takes into account the real priority of torrents to exchange upload and download bandwidth between URM and non URM torrents and it lets the URM scheduler decide if some torrents must be queued/on-hold. Read §7 in the documentation. - The default template which is created for a fresh ABC_OKC installation has now its activity settings set to the following (it was the opposite before, and in fact I had not noticed these old values had remained) : * Count in simultaneous running torrents number : off * Automatic activity detection : on This is a more logical choice that better fits the other global default settings for the activity checking. You can of course modify your default template in the same way if you wish, in your already installed ABC_OKC. - When the free disk space watchdog triggers and if the current mode is manual, torrents that want to write to the disk that is full are now queued back and not stopped. This makes easier the restart of these torrents after some disk space has been freed up (just switch back to auto mode). This will always work this way if you have checked the option "Switch to manual mode when disk is full" because the mode is switched to manual before torrents are halted. If the current mode is auto and the above option is not set, torrents are still stopped (I remind you of the shortcut Ctrl+I to select all torrents having the same error message as the currently selected one ; this may be used to select all torrents stopped with disk full error message). - Cleaned up all transfer rates so that they show real kB/s (1024 bytes/s). - Better display for the progress and ETA of not running torrents with files set to "Never download". - It's now impossible to change the files priorities for a completed torrent simply because it's useless. - There's a new optional field for Preferences/queue/"Immediately stop torrents rejected by all trackers" to set exceptions to this rule for special rejection messages from the trackers. The field may contain words separated by a space. When a torrent gets rejected by all its trackers and if one rejection message contains at least one of these words, the torrent is not considered as definitely rejected and will not be stopped. This feature is useful for instance for trackers that periodically reject all their torrents for a short lapse of time for maintenance purposes. If the tracker rejects the torrents with the message "Tracker temporarily stopped for maintenance purpose" for instance, just enter "maintenance" (without the quotes) in the field to have torrents rejected this way not stopped, while keeping the stopping feature active for other kinds of rejection. - You can now set the private torrent switch in the torrent maker, to make the torrent accept peers only from the trackers. - In Preferences/List you can choose the colours used for the torrent status and the stripes of the list. Choosing the colours works quite the same way as the dialog for choosing the fonts for lists. The change is immediately applied to the list to make the tweaking easier ; but the changes will be completely validated in the configuration only when you click the OK or Apply buttons of the Preferences window. In the colour picker dialog the 6 first customized colours are set to the default colours used in ABC_OKC. - Some times ago I had added some code to keep at torrent stopping time the files of the torrent that were already there when the torrent was started even if they were marked as "Never download". This code worked fine but it may end up with keeping all files from the torrent if the torrent was started first without "Never donwload" files. So I deleted this code. From now on don't put into the download folder of a torrent some of your files while marking them "Never download" in the torrent : these will be deleted. To resume a partial torrent for which you already have some files, put these files in the torrent download folder and check and start the torrent. - In the file list of the torrent details window for a multi-file torrent : * The number of files is displayed in the header of the file name column. * The size of the files is in a separate column. - An improved estimation of the upload rate waisted by the connections with peers and seeds. - Files of size 0 were previously not downloaded and also not created in the download destination (this is the way BitTornado is working). But a file even of null size may mean something in a multifile torrent, by its only existence or by its name ; so such files are now created in the download destination. - Torrent names ending with spaces are now truncated in Windows (files or folder names ending with spaces are not allowed with this OS ; more exactly Windows silently cuts off these spaces from the end at creation time). - Workaround for a problem in BitTornado that could show a torrent complete (because all data had been retrieved) though a few files counting up for very few bytes were marked as "Never download". - Many other improvements in the way ABC_OKC interacts with BitTorrent core through BitTornado to manage partial torrents. - Tighter matching between displayed seeds/peers/copies in main list and in torrent advanced detail window for stopped torrents. - When a torrent is stopped (or queued), files marked as "Never" are only deleted if the torrent is completed. This allows all downloaded pieces to be used if needed when the uncompleted torrent is restarted. - Cosmetics for the top and bottom toolbars and their buttons. You can have them look flat or not with 2 new options in Preferences/Interface. The toolbar buttons in the RSS panel have been resized too. - Some improvements in the HTML browser. - Some work to prepare for Python 2.5. - Improved editing logic for RSS feeders and filters. - When starting ABC_OKC, the access to the browser and RSS panels is locked while torrents are loading. - Arrow keys (and home/end pageup/pagedown keys) in lists do what you would expect them to do ; This had been broken for some lists some times ago, and never implemented for some others. - In the search panel the parsed URL is always displayed in the top field when you don't use the Find button. - As there are many torrents around with bad encoded data (mainly problems of extra or duplicated bytes inside the torrent, the torrent data remaining readable), ABC_OKC is now more tolerant with these faulty torrents. They are no longer rejected and a warning message is displayed in the torrent list message column when they are loaded. - Workaround to avoid sticking 'Loading torrents...' message in the status bar after torrent loading if you were hovering the mouse on toolbar or menus while torrents were loading. ======================================================================================== New features and improvements for ABC_OKC 3.2.x Unicode : ======================================================================================== List of last features added since 12/04/2005 : - Support for Unicode : You can edit the .lang files in a UTF-8 editor to use your own menu or dialog strings written with the characters of your language. All names throughout ABC_OKC should be displayed with the correct foreign characters, providing you installed support for these languages in your OS. All existing ABC_OKC data files will be translated into UTF-8 format on the first time ABC_OKC Unicode will have to update them on disk. If you want to be able to use these files with the non Unicode version of ABC_OKC you must keep a copy of these before running ABC_OKC Unicode, or you may use the 2 utilities convertfromutf8 and converttoutf8 to switch between the 2 formats. If you run them in the ABC_OKC install directory, they will translate all ABC_OKC *.lst, *.conf and *.ini files. Run them with ? to get help. If you edit manually the UTF-8 ABC_OKC data files, be sure to save them with the standard UTF-8 BOM header 'EFBBBF', except for all the lang files that must not have any header. In Windows 98 don't forget to install unicows. For the moment there seems to be some problems in Windows 98 to display unicode in some dialogs ; or maybe I just miss some fonts in Windows 98 (I'm not an expert in oriental languages !). Some problems may not have a solution with this OS. If you have an already existing non unicode torrent.lst with a mix of local language characters and unicode foreign language characters displayed in your local language, these ones will never be correctly displayed even after Unicode conversion. You must extract these torrents from the list and re-add them. All foreign language torrents added after the conversion will be correctly displayed. - There are now more available values to choose from in the "Max files open" parameter of the advanced settings of the Preferences. If you are running torrents with a large number of files, set this parameter not to a too much high number so that the global number of files opened by ABC_OKC doesn't reach the max allowed by your OS. - Integration of Python for Win32 Extensions 205. - Sorting in all columns of the torrent list. I finally implemented this because a lot of people seemed to be in need of it. I still consider that alphanumerical sorting is a bit pointless except if you really want to start downloading the torrent "abacus" before the torrent "zymotic" but perhaps this feature may be useful in some special cases. But to avoid any unwanted click on a column header that would spoil forever your precious hand crafted list triggering order, alphanumerical sorting is available only through a Control + left click on the column headers. For the following columns that contain 2 fields, you can sort the list by the first field with Ctrl + left click, and by the second field with Ctrl + Shift + left click : * Seeds : sorting by first or second number * Peers : sorting by first or second number * Message : sorting by the time stamp or by the message label A field with unknown content (with a '?') will always be sorted after other fields with a meaningful content, in direct or reverse sorting. If there are finished or completed torrents at the top the list and the option to automatically move them to there when they reach this status is on, these torrents are also sorted inside the pool of finished or completed torrents and they stay at the top of the list. In the ETA column, seedind torrents are sorted above downloading torrents. Sorting by priority (Priority column) is still also available with a single click on the column header. I remind you of the "Find torrents in list" dialog to filter out of the list torrents with specific properties. The result of the search can already be sorted. The selected torrents can then be moved to the top of the list for instance. - Some tweakings in the upload bandwidth regulation and distribution to better suit a big number of running torrents. - For each column of the torrent list you can choose the default sorting order (ascending or descending) and you can lock this sorting order. You may find useful to have some columns sorted in a particular order on the first time you click on their header, and have this sorting refreshed instead of reversed on the next time you click on it. The settings are in Tools/Columns Setting. - Till now keeping or not the finished and completed torrents at the top of the list when sorting columns was set from the torrent move options in Preferences/Queue. Now you can tweak this in a more handful way and independently from the torrent move options with a new popup menu which appears when you Ctrl + right click on the torrent list headers. - You have now an option in Preferences/Queue to immediately stop a torrent that has a single announce and gets rejected by its tracker. - If you click in the box that displays the number of selected torrents in the list, you can then roll the mouse wheel to scroll the list and automatically jump to the next/previous selected torrent in the list. A second click in the selected box gives the focus back to the torrent list without changing the selection. - You can now save the minimum size of the torrent detail window in Tools/Columns Setting. This window has anyway a minimum size depending on the informations it has to display. If the minimum size you set is greater than the default computed size and there's something to be displayed in this larger area, the window will be streched out to this new size. - You can set the client ID ABC_OKC uses to identify with the trackers. The customized pair HTTP user agent/Client ID can be stored and recalled from a pool of 3 in Preferences/Network. the client ID must 20 characters long. If the selected client ID is empty, it defaults to ABC_OKC internally computed one. - There's a new option in Preferences/Interface to automatically erase messages in the list dealing with a connection problem with the tracker, as soon as this connection is restored. This will do a smart clean up of the message column for messages due to transient connection problems with the trackers. - Some improvements in the tracker connection process in bitTornado. - You can choose the Unicode encoding used in the web service data input and output : * utf_8 for a connection with a client using utf_8 (all Unicode characters allowed) * mbcs for a connection with a client that doesn't use utf_8 (characters will be coded/decoded on a one byte basis, allowing local characters display for languages using extended characters between 128 and 255) The setting is in Tools/Web Interface Service. - Integration of wxPython 2.6.2.1, Python for Win32 extensions 207 and py2exe 0.6.3. - Stepped back to wxPython 2.6.1.0 because of toolbar problems in 2.6.2.1. - In Preferences/Activity there's a new switch to disable the checking for activity of seeding torrents when the "Trigger next torrent after" option is set to "Downloading". ======================================================================================== Minor improvements for ABC_OKC 3.2.x Unicode : ======================================================================================== - Dynamic upload regulation : The dependency between the waisted up rate and the number of connections starts showing when this number gets high (above 700 connections). So the formula was changed a little bit to take this into account. - The strings used as values in the advanced settings are now in the lang files. - You can enter a number from the keyboard into the "Maximum number of torrents" and "Maximum number of inactive torrents" fields of Preferences/"URM/Activity" - A new key shortcut : Ctrl + U to select all "Unfinished" torrents, that is torrents with a 100% progress but not finished. - When a tab is selected in the Templates dialog, rolling the mouse wheel changes the selected tab. - The "Immediately stop rejected torrents with single announce" action will be performed only if the error happens on the first request to the tracker. This is because when the rejected error happens when you have already connected once, you may want the torrent to continue as long as it can with its current peers or seeds to try to complete it even without tracker. - The old "Immediately stop rejected torrents with single announce" option now also deals with multiple tracker torrents and so has become "Immediately stop torrents rejected by all trackers". - A new key shortcut : Ctrl + P to select all paused torrents. - A new list panel in the Preferences dialog. - The "low priority" mode for the URM is now the default for a fresh intallation of ABC_OKC. You can try to toggle it on in your already installed ABC_OKC. This mode has been improved : it takes into account the real priority of torrents to exchange upload and download bandwidth between URM and non URM torrents and it lets the URM scheduler decide if some torrents must be queued/on-hold. Read §7 in the documentation. - The default template which is created for a fresh ABC_OKC installation has now its activity settings set to the following (it was the opposite before, and in fact I had not noticed these old values had remained) : * Count in simultaneous running torrents number : off * Automatic activity detection : on This is a more logical choice that better fits the other global default settings for the activity checking. You can of course modify your default template in the same way if you wish, in your already installed ABC_OKC. ======================================================================================== New features and improvements for ABC_OKC 3.1.x : ======================================================================================== List of last features added since 10/15/2005 : - Directory scanning for torrents : This is a new feature to make ABC_OKC automatically and cyclically scan a directory for torrents and load and/or start them with various options. This directory may be filled by an external application like an FTP client, a RSS feeder,... So you have both the power of your external specialized application and a configurable automated interface with ABC_OKC. The dialog to set options is open from the Tools/Directory scanner menu. There's an optional bottom bar button to switch it on (configurable in Preferences/Interface). This button will turn to yellow as soon as the scanner finds files in the directory to be scanned. The tooltip of this button will show you the number of successfully loaded torrents and the total number of scanned files. You can reset these numbers (and reset the colour of the button to green) with a right click on the button. If ABC_OKC finds bad or duplicate torrents while scanning, it will move them into the subfolders "bad" and "duplicate" created below the directory to be scanned (If file names are duplicated in these directories, they are appended a number). For the scanner being able to start, you must have set a default download directory in ABC_OKC and the directory to be scanned for torrents must be valid. You can have the scanner autostart with ABC_OKC. - Changing download directory location for several torrents in one shot : Reminder : "Torrent downloaded files destination" = "download directory location" + ("download file name" for single file torrent OR "download directory name" for multi-file torrents) If you want to change the "download directory location" for several torrents in one shot, just select these torrents and choose "change destination name" in the right click popup menu. You will get the "Change destination" dialog but with only the "download directory location" field available. Just set it and validate. All selected torrents will have their download directory location changed. - You can now automatically have completed torrents moved to the top of the list just below the finished torrents. And you can choose whether torrents moved this way will be sorted older or newer at the top. Settings are in Preferences/Queue at the bottom of the dialog. If this option is set, when you sort the torrents by priority (left click on the priority column header), this order is maintained and the completed torrents are kept at the top below the finished torrents. - There's a new option to move downloaded files as soon as they get completed. Seeding will go on from the move location till the torrent gets finished. The setting is in Preferences/Misc./"Finished/completed files move". - There's a new optional bottom bar button to move selected torrents under the top block of finished and/or completed torrents (according to the setting of the "Automatic torrent moves and delete" in Preferences/Queue). The switch to show/hide this button is in Preferences/Interface. This is a 3-state button : "off" shows the normal "move to top button", "on" shows the new "move below top block" button, "on and greyed" shows both. The same effect can be achieved by pressing the "move to top" button while holding down the shift key. A right click on this button scrolls the list to show the first torrent below the finished/completed top block. There's also a slight change when a torrent is added from the command line or the directory scanner with the option "move to top" : the torrent is now added below the finished/completed top block (according to the setting of the "Automatic torrent moves and delete" in Preferences/Queue). - You can move the selected torrents in the list with the mouse by dragging and dropping them. - The directory scanner can now keep a copy of loaded torrents instead of deleting them. They are moved to the sub-folder "loaded" of the directory to be scanned. The setting is in Tools/"Directory scanner". - Integration of BitTornado 0.3.14a - Added the UPnP options that are available in BitTornado. See in Preferences/Network. Till now UPnP was on by default which means that ABC_OKC was always trying to find an UPnP router to talk to before connecting. UPnP can be disabled, set to "Type 1" or to "Type 2". From the BitTornado site : "Type 1" accesses routers that are already connected via Windows UPnP service. "Type 2" performs a network discovery for such devices using Windows libraries. "Type 1" is much faster. If you have manually setup your router for port forwarding or don't have one, you'd better keep UPnP disabled. - You can move a block of selected torrent in the list by selecting it, hitting Ctrl + B, selecting the row for insertion and then hitting Ctrl + V. Ctrl + B will also copy all the columns of the block of selected torrents to the Windows clipboard. - A new trick to make easier the erasing of messages in the torrent list : You can erase a message by left clicking the message cell of the desired row. Moreover if you keep the left mouse button pressed and drag the mouse on the contiguous rows of the first message while staying in the message column, all the messages of these rows will be cleared when you release the button. It's very much like rubbing out the messages with the mouse ! This feature can be toggled on/off in Preferences/Interface. When this feature is on, you cannot select a row by clicking in the message column. - You can select several contiguous torrents in the list by right clicking the first one, keep the right button pressed and drag the mouse over the torrents you want to select, and then release the right button. - You can choose the mouse button (left or right) that you can use to rub out messages in the list message column. The configuration is in Preferences/Interface. The preferred conf is the left button. - You can swap the mouse buttons used when dragging torrents in the list to move or multi-select them. By default the left button will move torrents and the right will select contiguous ones. When swapped, this configuration is reversed. The configuration is in Preferences/Interface. The preferred conf is the swapped one. - Files marked "Never download" but already existing in the download directory at torrent startup are not erased when the torrent stops or gets to end. ======================================================================================== Minor improvements for ABC_OKC 3.1.x : ======================================================================================== - The web service button is now optional for those who do not use the web service. - The directory scanner "scanned" counter is no longer incremented when a torrent is listed in the directory but not yet available for reading. - The message column now shows a time stamped message when torrents get completed or finished. - When a seeding torrent is resumed, the time stamped message "Completed" is no longer displayed. - When an action is performed on the "move to top" button while the shift key is hold down, this button now exactly behaves as if the "move torrent below completed" had been pressed instead (Until this release, shift + right clicking on this bottom did not scroll to show torrents below completed). So if you want to save some space you can use this key combination and hide the "move torrent below completed" button. - Some cosmetics for the torrent details window. - When you right click on the message header to delete all the messages, the messages "Finished" and "Completed" are now not erased. - Some improvements in the handling of moving and selecting torrents in the list with the mouse. - Time measurement for tracker timeout is more accurate (the formula dated back from the original ABC code ; a torrent that had to timeout because of tracker connection problems could outrun the limit set for this timeout by some minutes). - If you ask for current seeds and peers when some of the matching columns in the list are not shown (#Seeds or #Peers) : * The dialog that displays the scraping result will no longer freeze ABC_OKC until the result is received from the tracker. * The torrent list is updated for the columns related with scraping that are shown. * If the torrent advanced details window is shown, the scraping dialog is not opened because this window contains the fields #Seeds and #Peers. - When a torrent is automatically moved in the list, the list never scrolls. - You can't start the web service until initial torrent loading is over. ======================================================================================== New features and improvements for ABC_OKC 3.0.x : ======================================================================================== List of last features added since 05/05/2005 : - Command line extensions : you can now give more parameters in the command line to switch ABC_OKC mode, move, start or set the status of a newly added torrent, or simulate action on the bottom bar buttons, or to quit ABC_OKC ; see §11 in documentation below for the syntax. - You can now reset the .torrent file Windows association with ABC_OKC. The button is in Preferences/Misc. - When you edit the torrent parameters settings with several torrents selected, you can now choose with checkboxes the field families you want to update for all the selected torrents (very much like a template you would fill and apply on the fly). This will let you keep some parameters unchanged while changing the value for others, for all selected torrents. - External announce : the URL for an external tracker and the switch to use it in place of the one internally stored in the torrent file, are now two options in the torrent parameters dialog. As long as the switch is on, the external tracker is used. When it's off the internal tracker(s) is (are) used. The external tracker URL is also displayed in the torrent details window only when it's being used. The external tracker URL and the state of the switch are saved with each torrent between session. (Till now the external tracker URL was just used onced for the next connection, and then the tracker URL would revert to the torrent internal one ; I found this annoying especially when the first connection attempt with the external tracker would fail). In the torrent detail window, clicking on the headers "Annonce" or "Ext announce" (both written in blue), will open the likely tracker URL in your browser. In the case of multiple internal trackers you must select one of them in the announce list first. If you right click on one of these announces in the announce list you'll get a popup menu to copy the announce URL to the clipboard. - On a Windows system, when you add a new torrent to the list, the torrent name that will be used to name the torrent file or folder will be checked to see if it contains only valid characters to name a Windows file. If this is not true, a dialog is opened so you can rename it. - You can sort torrents in the torrent list by priority, by clicking on the header of the priority column (I think this is the only column that makes sense to be sorted in that list). If the queue Preference "when torrent is finished" is set to "move torrent to top of list", finished torrents already at the top of the list are not reordered and stay at the top. - There's a new switch in Preferences/Interface to count or not the on-hold torrents in the status bar torrent counters. If this switch is off, on-hold torrents are no longer counted in the P cell ('paused') and in the R cell ('Running') and in the scheduler torrent counters. You may find counters easier to read without the on-hold torrents. Some reminder about the on-hold status : on-hold torrents are started in ABC_OKC (all their data are in memory and connection process has been run) but they are freezed (a bit like the 'Paused' status), and logically considered by the queue scheduler as 'Queued' but with the highest priority. - Some new key combinations in the torrent list you may find handy : Ctrl+A selects all the torrents in the list. Ctrl+M copies to the clipboard the text from the message column of the torrent list for the torrents currently selected. Ctrl+T copies to the clipboard the text from the title (torrent name) column of the torrent list for the torrents currently selected. Ctrl+F copies to the clipboard the text from the torrent file name column of the torrent list for the torrents currently selected. - You can have the last message of a torrent displayed in the torrent details window. The switch is in Preferences/Interface. The message will be displayed if the switch is on and if the message is not empty. - A double click on a file marked as "Done" in the file panel of the torrent details window starts this file in Windows. Beware of applications that may lock the opened file and prevent it from being automatically moved by ABC_OKC to its final location. This feature is mainly for displaying file contents in viewers that don't lock them. It's perfect to view .txt and .nfo files downloaded in priority. - The file panel of the torrent details window now displays the progress for each file, even when the torrent is not running. This information is also retained between sessions. Torrents that have been partially downloaded with a previous ABC_OKC release must be started once with this last release for their individual file progress to be recorded with the right value. - You can open the downloaded file or folder from the torrent details window by clicking on the field destination header text (written in blue). It's the same as "Open Destination" in the right click torrent list popup. - Build with wxPython 2.6.1.0. - Unified way of dealing with directory containers and file containers for downloaded data. BitTornado doesn't allow to rename the final directory that is created to receive downloaded files in the case of a multi-file torrent. This is why when you change the destination for a multi-file torrent named DIR1 to DIR2, the new destination will be DIR2\DIR1 and not simply DIR2. This prevents too the feature that's renaming the destination directory when the name is not a valid Windows file name from working for a multi-file torrent. I changed this so that the destination location is now treated just the same way whether the torrent contains only one file or a folder with several files inside. There's a new "Change download destination" dialog to deal with this case. You can now choose where to save the container directory for a torrent and how to name it. The standard Windows directory picker could not handle this in one shot in a handy way. When you change the name of the destination for a torrent (not its location), you can also automatically have its name updated accordingly in the list with a new option : "Rename torrent with destination". This checkbox reads its default value when the dialog opens from the setting of "Preferences/Misc/Rename torrent with destination by default" This should end up with torrents that were named "torrent" or "video" by people obviously lacking some imagination at the moment of creating their torrent and that you forget what they are about once they are dropped into your torrent list. You have also buttons to copy into the destination name field names from various other identifiers for this torrent. This made some changes necessary in the torrent.lst file. So when you'll load your torrent list for the first time, it will take a little longer than usual if it's big because of the automatic torrent list format conversion. Torrents already started with a previous ABC_OKC release won't be disturbed by this new behaviour. - Version/"Check latest version" now points to informations about ABC_OKC. - You can also edit the torrent name in the torrent list title column, independently from the download destination name. This renaming doesn't change the location for the torrent or the downloaded files. It only labels the torrent with a new name. To edit the name of a torrent choose "Rename Torrent" from the right click popup menu on the list. From the dialog that opens up, you can copy to the edit field the original (default) name of the torrent, its destination name or the .torrent file name. You can also copy a part of these names from these fields to paste it into the rename field. You have also a checkbox (available only for stopped torrents) to automatically change the download destination name with the new torrent name you set. - You can set the HTTP user agent used by ABC_OKC to identify with trackers. You can use the default one (currently "ABC/AO3.0.0") or edit and use one of the three other customizable ones. The option is in Preferences/Network. - Cosmetics for the torrent maker. - In the torrent maker dialog you can choose if you want to save the torrents to a default folder or to a folder you specify for each torrent or to the folder containing the source files. - Partial and prioritized file downloading is now available even if you start a torrent not in fast resume mode. - You can check downloaded pieces of files without starting up the torrents with a new option in the main list right click popup menu. Only stopped or queued torrents may be checked. - The torrent detail and advanced details info windows have now a button to locate and select their torrent in the main list. - In the main list right click popup menu, "Extract from List..." is replaced with "Export from List..." which has 2 sub-options, Copy and Extract. Copy duplicates the torrent files from the selected torrents to another folder, and Extract does the job that the old "Extract from..." did (duplicates torrents AND deletes them from the list). - You can choose the font for the main torrent and the find torrent lists. The button is in Preferences/Interface. The wx control for the list is a little bit buggy when the size of fonts is changed. To avoid some nasty effects in the display of rows, the list is scrolled to the top when the font is changed. - A checkbox in the torrent maker to choose wether you want the source folder or all files below the source folder to be torrented. - A relative path (i.e. a local path not beginning with a unit or a '\') can be used whereever you have to fill an input field with a path (download destination, move folder, folder to store created torrent). This relative path is relative to the ABC_OKC install directory. Leaving these fields empty will logically make the ABC_OKC install folder the destination folder. - The status bar counter for the finished torrents now also displays the number of totally received torrents (seeding + completed + finished), that is the number of torrents for which the files have been completely downloaded and are available for use. "F: X/Y" means : The list contains X finished torrents over a total of Y completely received and available for use. - Some new shortcuts in the main torrent list : Ctrl+S : Select all stopped torrents Ctrl+Q : Select all queued torrents Ctrl+R : Select all running torrents (working, seeding, on-hold, paused) - "Manual announce" and "Finish allocation" commands are moved to the right click popup menu below the item "Advanced" ; there's no reason to have to open the advanced details window to access these commands. - The right click popup menu is now also accessible when you right click on the backgound of the torrent details and advanced details windows frame. The action that is selected in the popup menu will be performed on the torrent opened in this window. - There is now a button to switch to the advanced details window from the details window and vice-versa. When you switch from one window to the other the mouse pointer is kept inside the switch button to allow a quick switching back. - There's a new shortcut to open the files downloaded from a torrent : left click on the torrent in the list and keep the left mouse button pressed while middle clicking. It's very much like the combination left + right click to open the parameters dialog for a torrent. This shortcut is quite handy to quickly open the files from finished torrents to check them before removing the torrent from the main list. - Torrent info browsing feature : In a details or advanced details window, if you left click the mouse on the torrent name (written in big font at the top) you can then display in the same window the details or advanced details of the previous or next torrents in the list by rolling the mouse wheel up or down. The selection in the main list will show the torrent the info of which are currently displayed only if this selection matched the displayed info before you roll the mouse button (you can make it match easily with the locate button). This is meant not to lose a previous torrent selection you would like to keep while browsing the list. The list will also scroll if needed. - More easily switchable and somewhat more detailed torrent parameters for the timeouts : ABC_OKC already gives you timeout control independently for each torrent. There are now more detailed parameters to handle timeouts, independently when working and seeding. There are also global switches to easily set on and off timeouts for working and seeding in one shot. An example of the usefulness of these detailed parameters : You have a torrent you absolutely want to download the files from. But the torrent is almost dead and has very few and sporadic connections. New detailed switches allow you in one shot to disable all its timeouts while in "working" status to have the better chance to grab it, but to keep its timeouts set while in "seeding" status not to get stuck with it after getting it completed. These new data are also available at the template level. - Cleaning in the bottom button bar : About some changes in the way of controlling the queue scheduler : * First the status of a torrent is meant to tell how it will be handled by the scheduler of the queue. The on/off status of the queue scheduler must be controlled by a mechanism of its own, and not by switching the status (to "stopped" or "queued") of all the torrents of the queue as it is done for now by the 2 buttons "stop all" and "resume all". * That's why I introduced sooner the manual/automatic mode switch for the scheduler. * For instance you may want to keep in the list torrents with a "stopped" status simply because you don't want them to be started for the moment. It is absolutly not normal to have them switched from "stopped" to "queued" only because you have stopped and then restarted the queue by using "stop all" and "resume all". * The manual mode gives you too a true manual running mode in ABC_OKC that would not have been possible with the handling by switching status (remember that every new torrent is added to the queue in "queued" status). * So the following changes have been implemented to go on and finish the work started with the manual/automatic modes in ABC_OKC : -A- The mode button usage is a little bit extended : now pushing it while the Ctrl key is held down will always stop all traffic by switching to manual mode if necessary and then queuing all running torrents. -B- There is an optional button "Stop all traffic" in the bottom bar that plays the same role as the combination Ctrl + mode button. -C- The 2 buttons "stop all" and "resume all" are made optional. -D- Web service : There are 3 new commands : Stop all traffic : STOPTRAFFIC Switch to automatic mode : MODEAUTO Switch to manual mode : MODEMANU The permission for these 3 commands is the same as the one used to stop a torrent. The commands to "stop all" and "resume all" are still available for compatibility. -E- Command line parameters : The parameters to switch mode (mode) and "stop all traffic" (manualqueue) were already available. The only change that was performed is renaming "manualqueue" into "stoptraffic". The parameters to "stop all" and "resume all" are kept for compatibility. The configuration for optional buttons is set in Preferences/Interface. TO SUM UP : To stop all traffic : Click on the mode button while holding down Ctrl, or press the "Stop all traffic" button if you have set it visible in the bottom bar. To resume traffic : Push the mode button to switch to automatic mode. You may still use the old buttons "stop all" and "resume all" if you want despite all their drawbacks. Of course you may always use the mode button to switch between automatic and manual mode whenever you want. The new shortcuts to select all stopped, queued or running torrents are quite handy too. - The torrent status is now also displayed in the details and advanced details windows. - A new chapter (§ 10) in the documentation about the automatic activity detection. It's a sump up of all that was written till now about this feature. There were some other updates in the documentation too. - The cells in the status bar now auto-resize with their content. - Rolling the mouse wheel in the Torrent Parameters or ABC_OKC Preferences window is changing the selected tab. - Left clicking on one of the 2 bottom right cells of the status bar opens the ABC_OKC preferences window with the limits tab selected. - Right clicking on one of the 2 bottom right cells of the status bar opens the ABC_OKC preferences window with the same selected tab as in the previous opening (like the Action/Preferences menu) - Finalization in the handling of duplicate when adding a new torrent to the list : * It's no longer possible to have in the list several torrents pointing to the same torrent file (deleting one of these torrents would leave the other ones without any torrent file) : If you confirm the overwriting of an existing torrent with the new one, the old one is removed from the list and the download destination of the new one is set so that it points to the old one. * Torrents that are not duplicate in their torrent data but have the same torrent file name as an already loaded one, are automatically renamed with a number at the end of their name and loaded in the list. * More complete dialogs options to handle more easily the loading of a list of torrents in one shot (buttons to skip all, overwriting all, keep dest for all). - When the torrent parameters are displayed in the torrent parameter dialog for multi-files (with the checkboxes for each parameter family), you can switch on and off all the checkboxes of a panel related with multi-file use in one shot by clicking again on the tab of the currently displayed panel. - Tweaking of the real spent upload bandwidth estimation (See § 1.2 in documentation). - Some features to make re-seeding of finished torrents easier : If the "move files from finished torrent" preferences option is set to "when torrent is finished", the destination folder of a torrent is now automatically set to its move folder as soon as it gets finished. This allows to restart the seeding of a finished torrent after you have modified its seeding settings in the Limits tab of its parameters, or reset them with the new right click popup menu entry "Advanced/Reset Seeding Rules". The right click popup menu entry "Advanced/Reset Seeding Rules" only works with torrents completed, finished or seeding. - Integration of BitTornado 0.3.13 - Upgrade to Py2Exe 0.6.2 - Some mouse shortcuts for comfort : * Left clicking on the header of the "Message" column now clears the messages for only the selected torrents. * Right clicking on the header of the "Message" column clears all the messages. * Left clicking on the header of the "Torrent name" column opens the rename torrent dialog for the first selected torrent in the list. * Left clicking on the header of the "Progress" column opens in Windows the downloaded file or folder for the selected torrents (like the Enter key). - Some key shortcuts : A new one very handy for example to select all torrents stopped in disk full error to re-enqueue them later (just select one of them and hit Ctrl+I) : * Ctrl + I : selects all torrents in the torrent list that have a message identical with the first one from currently selected Classical ones : * Ctrl + F : now selects all finished torrents in the torrent list * Ctrl + T : replaces old Ctrl + F to copy to clipboard the torrent file names * Ctrl + C : selects all completed torrents in the torrent list * Ctrl + W : selects all working torrents in the torrent list * Ctrl + D : selects all seeding torrents in the torrent list * Ctrl + O : selects all on-hold torrents in the torrent list - In Preferences/"URM/Activity", a zero in the maximum number of extra torrents that can be started because of inactivity now really means zero and not unlimited as previously. - In the torrent details and advanced details windows, there's a reminder for the colour of the torrent row in the main list. - The second counter in the F cell of the status bar has been slightly changed to show the number of torrents completely downloaded on your computer (i.e that can be fully used) -in whatever status they may be-. - Better and smarter logical handling of all status switching and ETA display cases when you change the stop seeding conditions and when you check torrents. - Right clicking on the buttons "move selected torrents to top" or "move selected torrents to bottom" scrolls the list to the top or to the bottom in one shot (very handy for big lists). - Improvements in the display of details and advanced details windows (long names, behaviour and info browsing with resized windows), and in the list display while moving or deleting torrents. - Compilation with Python 2.4.2 ======================================================================================== Minor improvements for ABC_OKC 3.0.x : ======================================================================================== - The torrent name is now displayed in the window caption for the torrent parameters, the torrent details and the torrent advanced details windows. - In the torrent details window, the text in the comment field now gracefully wraps, and it is also selectable (like the torrent destination text). - The torrent parameters dialog can be started from the detail and advanced detail windows. - When a torrent contains a comment field that is empty, this comment is no longer displayed in the torrent detail info. - Torrent details window is sizeable again. - Time for messages is now formated D:H:M (DayOfTheMonth:Hour:Minute). - The torrent list messages and #Seeds and #Peers are now remembered when you change columns settings. - Updating of the torrent list after a change in the columns setting now only refreshes what is really needed. - In the columns setting dialog you can now view and edit settings also for deselected columns. - When there is no default download folder, ABC_OKC remembers the last used download folder. - BitTorrent code forbad downloading files with names beginning with a dot or a tilde and this caused BitTornado to fail with torrents with such files inside. I removed these bans and ABC_OKC can now download these files without any problem. - An apply button in the "change download destination" dialog (only for an already loaded torrent). - Some shortcuts in the file list of the torrent detail info window : * Ctrl-A selects all the files. * Ctrl-X inverts the selection. - In the ABC_OKC main torrent list : * Ctrl-X inverts the selection. - Time for messages formated D-H:S - Better directory name control in ABC_OKC options and torrent maker. - Better "Check latest version" window : detects if your running version is outdated and tells it in english or french according to setting in lang file. - Moving finished torrents to the top of the list when closing ABC_OKC is now an option (in Parameters/Queue). - Disk full message is now time stamped. - By default the torrent column in the main list is retitled "Torrent name", and the shortcut to copy the names from the selected torrents to the clipboard is now Ctrl+N instead of Ctrl+T. - In the "Find torrents in list" window, searching for torrents with completed status brought completed and seeding torrents till now. It now only brings completed torrents. - The column header labels in the advanced detail window are more readable. - You can set the seeding time up to 5 days now. - Better filtering for numerical values in input. - The button for scraping has been moved to the right of the top button bar (far from the delete button !) - The shortcut left+middle mouse button click to open a completed torrent has been replaced with the Enter key. (this combination didn't work correctly in some cases) - Some cosmetics for the Web service and the Advanced options dialogs. - A small tweak in the URM : The URM has now a delay for stopping a torrent distinct from the one used to start a new one. This second delay will be more suitably set to a lower value than the first one to favour a little the stopping of a torrent compare to the starting of a new one. ======================================================================================== New features and improvements for ABC_OKC 2.8.x : ======================================================================================== List of last features added since 01/02/2005 : - New counter for finished torrents. - There's a new field in the "Find Torrents in List" panel for the tracker name. - You can choose to trigger the quick display of the torrent details info window with a mouse middle button click or a mouse middle button double-click or you can disable it. The setting is in the Preferences. - The number of selected torrents in the torrent list is displayed at the bottom of the ABC_OKC panel. - A toggle button for the web service (No, I didn't steal Tim's button ;-), I just needed some place to display the number of selected torrents). - The total torrent progress is now displayed in the torrent detail and advanced detail windows. - To make the torrent list more compact, you can choose not to display the units for download and upload rates and total speed (always kB/s) and for size (always MB). The switches are in Preferences/Interface. - "ABC tweak" has a button to load current column widths and window sizes from ABC_OKC GUI so that they may be easily saved. This way you can modify your columns and window sizes graphically with the mouse, and then load them and save them in ABC tweak. Another advantage is that you only save your modifications when you really want it. - You can choose if the move of finished files will occur either automatically when the torrent is finished, or when you remove the finished torrent from the list. The switch is in the Preferences/Misc panel. When you remove the torrent with this option set, if no source files are found at all, a message is displayed to ask for confirmation of deletion. This is to deal with the case of the option settings changed from "move when torrent is finished" to "move when torrent is deleted" with old finished torrents kept in the list. The files for these torrents were very probably automatically moved with the first option setting and so cannot be found when deleting with the new option setting. To keep all its interest, this option must not to be toggled too often. If something else goes wrong when moving the files, the torrent is not removed from the list. - You can choose to have files from torrent that have completed but no longer seed, moved when you delete the torrent from the queue. The switch is in the Preferences/Misc panel. If this option is set, the torrents that get their files moved when you delete them are : * torrents completed and seeding (progress = 100% and status = seeding) * torrents completed and paused (progress = 100% and status = completed) * torrents completed and in queue (progress = 100% and status = queue) Torrents that have been re-enqueued or paused after having terminated a partial download according to some file priorities set to "Never download" are not considered as completed (though their progress show 100%, because this 100% refers to the partial download), and hence are not moved. - When a torrent is finished, you can choose if the torrent will be deleted from the list, moved to the top of the list, or left as it is. The setting is in Preferences/Queue. - A left click on the header of the column Message clears all the messages. - There's a new option in Preferences/Interface to center the quick torrent details info window bar at the mouse pointer (when you middle click or double-middle click on a torrent according to Preferences/Interface/"Quick display torrent details with :"). - You can quickly change the priority of the selected torrents by rolling the mouse wheel while keeping the mouse left button pressed on one of them (or while holding down the Ctrl key). You have this same feature in the torrent details info window to change the download priorities for the files of a torrent. Holding down the Shift key instead of the Ctrl key allows you to change the priority of the single torrent the mouse is pointing at (in this case you don't have to select it first with a left click). - You can switch the display of the scheduler counters in the status bar (in Preferences/Interface). - Integration of BitTornado 0.3.10 - The torrent advanced details window is displayed at the mouse pointer (in the same way as the torrent details info window) when it's triggered by a left mouse button double click. - The torrent details windows are now also displayed at the mouse pointer when you click in the "Find torrents in list" window. - You can select several torrents in the "Find torrent in list" list and ask for their details info in one shot with the right click popup menu. - If you click on the auto/manuel button to switch to manual mode while keeping the Ctrl key pressed, all running torrents will be put to queue while the manual mode is engaged. - Parameters templates for torrents. I once called this "groups", but I think "Parameters templates" is more adequate. Read §8 in the documentation below (Yes really read it ^_^). Also read ABC280_OKC_HowToUseTemplates.txt for an example of how this feature can be used. (On the first time you'll start ABC_OKC with this new template feature, you will get an error message telling you that the template list file could not be found and that it will be created ; this is normal.) Notes : The parameter "activity" is not yet operational. The torrent.lst file has more parameters inside and will not be readable by previous ABC_OKC releases after a run of this one. - In relation with the parameters templates, the "Find torrents in list" function now has a new field for searching : the label of a torrent. - Activity switch is now operational. When unset for a torrent, this torrent is not taking a slot in the total of the max simultaneous running torrents. This is to deal with torrents that are almost dead, downloading very little, and so consuming very little bandwidth. and that you would still wish to go to end. This way, they can go on their way in the background, without taking the place of healthier torrents in the simultaneous download pool. If some torrents have their activity unset, the left counter of the scheduler counter block in the status bar can become greater than the max simultaneous download counter located at its right to express this. (There's also a new column that can be displayed in the list and a new search item in the "Find torrents in list" window.) You can completely ignore this feature by leaving activity ticked wherever it appears and by not displaying the column activity. - The torrent list now scrolls when the selected torrents are moved past the top or bottom of the main ABC_OKC window. If you hold the Ctrl key down while pressing the buttons up, down, top or bottom, the list will not scroll. You can invert this behavior selectively for the 2 groups of buttons up/down and top/bottom with two switches in Preferences/Interface. - If you right click on a torrent while holding down the left mouse button, the "Torrent parameters setting" window will open (this is a shortcut for the mad torrent parameters tweakers ^_^). - A description was added in ABC tweak to describe each column content (this is because it may not be evident to remember what a column contains when you abbreviate its header to one letter for instance). - In the "Find torrents in list" window you can search by priority. - Download rate limitation. It works roughly like the upload rate limitation. You've got a new parameter to handle : the maximum overall download rate. If you set it to zero the download rate is not limited (as it's been till now). In the queue parameters, you have a new "prioritize torrents with local downloads setting" with the same role as its brother for the upload : - unset it and torrents with local download rate setting will be regulated in the maximum overall download rate range while of course always staying below their max local rate ; - set it and torrents with local download rate setting are no longer regulated, they will be given download rate bandwidth in priority over the torrents without local download rate setting (all these latter ones will share the remains). These torrents will of course always stay below their max local rate, but this is the only rule they will obey, because they are not regulated. This means that they may cross over the maximum overall download rate if it is lower than their max local download rate. All this is not really new, it has always been working exactly the same way for upload till now. - Automatic activity detection : With the last release was introduced the activity switch for each torrent. I found it very useful, but I found rather boring to have to switch it manually. Why not having it switched automatically by ABC_OKC ? So there is a new parameter for each torrent, "Automatic activity detection". When switched on for a torrent, the upload and download rates of all running torrents will be periodically checked. If both fall and remain below a threshold during a lapse of time, the activity of the torrent will be switched off. If at least one of them raises and remains over the threshold during a lapse of time, the activity of the torrent will be switched on. You can monitor this status like before in the "Activity" column of the list. It allows to not be blocked by the max simultaneous number of downloads when some of the available slot are held by almost dying torrent. Automatic activity switching will automatically make the slots of these torrents free to start new torrents hopefully healthier while keeping these almost dying torrent running to try to complete them. You may tweak the thresholds for upload and download rates and for the delay in Preferences/Queue. the default values of 0.3 kB/s for the thresholds and 60 s for the delay will fit most cases I think. It's a great companion for the URM for very slow torrents or torrents that up/download only in bursts while remaining almost inactive in the while. The URM takes care of the upload rate by monitoring this upload rate at a global scale (the sum of all running torrents) and the activity switching will operate by monitoring each individual running torrent. This is also quite useful for seeding torrents that may not have peers all the time : if they have not peers, their activity will be switched off, and so they will stay connected waiting for peers but not taking one slot in the total of the max simultaneous running torrents. Of course all of this is also available at the parameter template level. If you don't find a use for it, just keep it switched off in all the templates. This feature is disabled during the first 3 minutes after a torrent starts or comes back from paused or on-hold status to allow it to reach its cruising speed. - A new parameter in Preferences/Queue for the automatic activity detection to fix the max number of running torrents this feature can set to inactive. A null value means no limitation. This will not limit the number of torrents you set to inactive manually, but if you do so, it can result in some torrents being re-enqueued to obey to this max limit. - In the template editor, you can move the templates in the list. You can also click on the header of each column to sort them alphabetically ; Each click changes from direct to reverse sorting. This order is remembered and is used for displaying the templates in the right click popup on a torrent. - If the URM is off, the main ABC_OKC scheduler can now queue back running torrents if inactive torrents turn back to active status, so that the max active running torrents stays in the range of the max simultaneous running torrents number. The smartest way of using the automatic activity detection is yet to have it running together with the URM set on, because in this case, such extra running torrents no longer needed are automatically transferred to the URM scheduler. You will understand better what happens by looking at the double torrent counter box between brackets in the status bar, with both features set on. - You can choose to have templates automatically applied to new torrents when you load them in ABC_OKC. This is a great new feature that automates trackers and torrents parametrization. See §9 in documentation below. - Each template has a new parameter : a checkbox called "hidden". When set, this option will prevent the template name from being listed in the right click "Templates" popup menu on a torrent. This will allow to create templates that you will need to be automatically applied at torrent loading time, but you don't want to apply manually and have them clutter up the popup menu. - Torrent status changed as following : Pause -> Stop On-hold -> Pause Queue on-hold -> on-hold - Backup for torrent.lst similar to Tim's mechanism : ABC_OKC will keep the 2 last torrent.lst files in 2 files named torrent.lst.sav1 (latest one) and torrent.lst.sav2 (older one). The backup is made at starting time. Well it's been maybe 6 months since my last corrupted torrent.lst, so it's more for the comfort... - Revised rate distribution/limitation function. The download rate regulation in BitTornado exhibits some problems ; when the rate is limited, it sometimes crawls down at very low rates without any reason. - If you have a very big list that will take some time to load, the behaviour of ABC_OKC is better handled during this loading time. You have access to some features like viewing already loaded torrents informations, but most features dealing with queue handling and torrent moving are disabled. Closing ABC_OKC during torrent loading is also disabled. The corresponding entries in the menus are greyed out during this time. - Tweakings in the rate limitation/regulation and torrent status cosmetic changes. - Updates in the documentation. - Watchdog for low free disk space. For each running and not seeding torrent, if the free disk space on the partition where the downloaded files are stored (before moving) comes below the amount set in Preferences/Misc/"Low free disk space threshold" or is not large enough to preallocate space for the files (if this option is on), the torrent is stopped. There's also a checkbox in Preferences/Misc to choose if you want the manual mode to be engaged in such a situation. This is to avoid all queued torrents saving their files to the disk detected as full from being switched to "stopped" status. If you have a very big list, this could be annoying. The value in Preferences/Misc/"Low free disk space threshold" can be tweaked according to your max available download rate. Values between 5 and 10 MB should fit most cases. - You can choose to have the main ABC_OKC window and advanced details window sizes and the list column widths automatically saved when closing ABC_OKC with the Preferences/Interface/"Save window and column sizes on closing" checkbox. - Some more code to get rate limitation/regulation more stable. - Torrents with some files marked as "Never download" show the letter "P" (for "partial") behind the percentage of their progress in the torrent list. - Code adjustments to compile with wxPython 2.5.4.1 - When you move selected torrents and make the torrent list scroll, the scroll will keep visible at the top (or at the bottom) of the list the previous (or the next) deselected torrent in the list : This makes easier to know when to stop moving. - The formula to estimate the maximum dynamic upload rate has been somewhat changed. The factors A, B, C and D have changed too ; check you have the correct values in Preferences/URM : A = 18, B = 50, C = 20.5, D = 50. - You can now sort columns in the "Find torrents in List" result panel, by clicking on the headers (direct and reverse order). Lightning fast sorting (tested it with 7000 torrents). - There's a new option to keep on seeding files after they have completed : Once files have finished their seeding according to the time or ratio you set for them, you can choose to force them to seed more as long as there's no other seed or the number of available copies stays below 1. During this phase, the ETA will read "Until CC" ("Until Complete Copy"). The switch is at the bottom of the download/upload panel of the "Torrent parameters setting" and for the parameters templates in the "Seed" panel of the template editor. - Webservice : Full support for protocol v3.0 ; added PAUSE, UNPAUSE, QUEUE ALL, GETSTRING, GETPARAMS, SETPARAMS and all new data transmission formats. QUERY understands column numbers too (See abc.ini for the meaning of column numbers). If you want to test this by yourself, you can tweak and use webtest.py. - Integration of Python 2.4.1 - The activity feature has been slightly modified for an easier use : From now on, when the "Automatic activity detection" is set (in the "Label/Moving/Activity" panel of the torrent parameters setting), the activity of a torrent will be automatically switched on when the torrent is started. This is a quite logical behaviour, and it will avoid the situation when you can't start a torrent because it is inactive and the max number of inactive torrents has been reached. You still could switch its activity on manually, but this automatic behaviour is much better. - Revamped ABC tweak (column setting) dialog. - I renamed the "Maximum number of simultaneous downloads" with a more correct "Minimum number of simultaneous running torrents". It is just because the scheduler is always trying to keep running at least this number of torrents. The only case it fails to do this is of course when there are less torrents in the queue than this number. - Some changes in the way ABC_OKC automatically starts the torrents : You have now 2 options in Preferences/Queue and Preferrences/URM to choose if torrents that are started manually (by pushing one of the resume buttons or with the popup menu) can be automatically re-enqueued by the ABC_OKC or URM scheduler. But remember there is always a check for the max number of simultaneous inactive torrents. It may force automatically started torrents back to queue when this number is exceeded. You can now choose if you want these torrents to be re-enqueued or on-hold just like with the URM ; This option is in the lower part of Preferences/Queue. You can choose too if the torrents with their autoactivity option set will have their activity status forced when they are started. The switch is in Preferences/Queue in the "Automatic activity detection" panel. In manual mode, the torrents are never stopped, whether they were manually started or automatically started before the manual mode was engaged. When some maximum value are lowered down in the Preferences (maximum number of inactive torrents, maximum of urm torrents), the behaviour is that the new value will not stop any running torrent. All running torrents will keep on their run, till they finish or their status is manually changed or some error occur. But the new max values will be checked for every newly started torrent. This should please everyone, whether you use the manual or automatic mode of ABC_OKC. - Integration of BitTornado 0.3.11 and Python for Win32 Extensions 204. - A small goodie : You can choose to have displayed in the status bar schedulers counters ([W/X + Y/Z]) only the number of really alive torrents, that is without the amount of paused or on-hold ones (These are anyway always displayed in the "P:" cell of the status bar). The switch is in Preferences/Interface. I find this display much easier to read. - The scheduler counter for the URM is displayed in the status bar only when the URM is switched on. - You can choose if the URM may start a new torrent or not when there's at least one paused torrent in the list (Preferences/URM). This is because pausing a torrent is very often used to free up some bandwidth. This would be to no avail if a new torrent could start because of the lowering in upload bandwidth due to another one being paused. When the button "Pause all" is pushed the URM always behaves this way whatever state you set this option to. - Integration of BitTornado 0.3.12. But I didn't downgrade back to Python 2.3 and wxPython 2.5.3. - Code adjustements for compilation with wxPython 2.5.5.1 - The formula to estimate the upload rate waisted for download and connections is more accurate (and more complicated too). By default, tweaking of the parameters of this formula is no longer available in the ABC_OKC preferences. You can bring back this tweaking in the preferences panel by manually setting the option tweakdynmaxuprate=1 in abc.conf. For the ones who are not faint-hearted, the formula is in the documentation (§ 1.2). The default values have been tested for the most common values in the range from 0 to about 400 connections and from 0 to about 450 kB/s in download rate. I once again point out the interest in using the dynamic maximum overall upload rate instead of the static maximum overall upload rate. If you use the static one, remember that the real upload rate consumed on your system by ABC_OKC can vary from this value to up to 30 kB/s more if connections raise to 400 and download rate raises to 400 kB/s (and even more over these values). Using the dynamic maximum overall upload rate is the only way to keep a constant amount of available upload rate on your computer for another use than ABC_OKC. - Code adjustements for compilation with wxPython 2.6.0.0 - One last checkbox in the Queue Preferences to let you choose to have activity reset for stopped/queued torrents with autoactivity set. With this you can fully customize the behaviour for the automatic activity switcher. - Engaging the manual mode while holding down Ctrl no longer triggers queueing of all torrents but more cleverly now only enqueues back running torrents. Stopped torrents are not affected. - Change in the formula to estimate the up rate waisted from download and connections (the previous one was working for "standard' connection and down rate range but exhibited problems for down rate faster than 500 kb/s). - Build with wxPython 2.6.0.1. ======================================================================================== Minor improvements for ABC_OKC 2.8.x : ======================================================================================== - Rewriting of input/output for config files - The "misc" sub-pannel from preferences has been splitted into "interface" and "misc". The sub-pannel timeouts should disappear in the following betas. - More clever refreshing of the selected torrents counter when moving or removing torrents in the list. - ABC_OKC will now take more time to shut down. This will let it terminate all its sub-processes in a cleaner way end I hope avoid the problem of never terminated process that would still occur from time to time. - Nicer icon for the web service button (for my taste at least !) - Still nicer bottom bar (was it possible ? ^_^) - "Compacting the list" operation : to try to display more information in less room : * 2 options in Preferences/Interface to display or not the units for the sizes and the rates in the list (anyway they are always respectively in MB and kB/s). * Various shrinkage for the informations displayed in the list (you can always tweak them up using ABC tweak for the column headers or the lang files (for torrent status and priority)). You may try the files from PreferredConf.zip or from the source to see what my config looks like. - Various cosmetic changes. - Some more cosmetic changes. - Somewhat changed the way ABC_OKC interacts with the user when a new torrent is added with an info_hash not yet in the list but with the same destination name as a torrent already in the list. There's now a new dialog allowing you to choose what to do in this case : keep the same destination, change the destination, or cancel the loading of the torrent in the list. If you answer with "change the destination" you will get the already existing file or folder picker. This supplementary dialog has also the advantage of opening on top of all other windows and so preventing you from keeping on entering other torrents (from a browser for instance) as though ABC_OKC is kept blocked by its file picker, waiting for an answer (The file picker cannot be opened on top of all windows as a standard dialog). I remind you of the switch in Preferences/Misc to enable or disable this duplicate detection mechanism. - In the Preferences, it's no longer possible to enable the "default download folder" or the "move folder" while leaving the folder fields empty. - The URM is deactivated as long as the On-Hold All button is pushed. - Releasing the On-Hold All button resets the URM triggering delay to let the upload rate raise again after all torrent come back from on-holding. - ABC_OKC now remembers its window position when closing. - All other windows now remember their position too. - The preferences window has been reworked a little bit. - The "Find torrents in list" window has been reduced in size and is somewhat nicer. - The "Find torrents in list" window remembers its "&" switches status. - Fields for entering folders are back to editable mode. I did some filtering for some special keys instead of making the mode read only. - In the parameters templates, upload setting parameters were splitted from seeding setting. - Torrent parameters window reworked : It's important to see more parameters at a glance, especially when you're going to apply them to a bunch of selected torrents. - the last opened tab of the Preferences is also remembered. - Improvements in upload and download rate distribution algorithm. - The activity checkbox in the "Find torrent in list" window has a third state that means "any activity" status (activity set or unset). - Trapped exceptions from failing torrents that could try to call dead objects when ABC_OKC is shutting down. - Some tweakings in the rate distribution function. - The dead band of the URM is now centered at the max download rate value. This means the URM will start a new torrent if the rate comes above (max download rate) + (dead band)/2, and it will stop one (if any) if the rates comes below (max download rate) - (dead band)/2. - Confirmation dialog before deleting a template. - Torrent.lst is created at startup if it doesn't exist. - There's no more "Apply for selected" button in the template dialog. The template is automatically saved when you switch to another template or to nothing (if you deselect all templates in the list) or when you click on the "Apply" or "OK" buttons of the template window. The same mechanism has been applied to the "ABC tweak" window. - In the main drop-down menu "ABC tweak" is now "Columns settings" - A little more room in the status bar for the lucky ones who up/download at MB/s (!). - 3 new switches in the web service configuration dialog to allow pausing torrents, and getting and setting parameters. - Already on-hold torrents are no longer put in queue when the URM or "on-hold re-enqueued torrents" are switched off. The normal scheduler takes care of them. - There's no longer a 3 mn delay when you start a torrent before activity check kicks in. Activity check is started as soon as the torrent finishes file checking, or space allocating or waiting. - The letters "S" and "D" used in the ETA for "Seeding" and "Downloading" can be changed in the language file (etaS and etaD). - An torrent in On-hold status (which is a kind of Queue status) may no longer be put into Paused status. - Slightly changed formula to estimate max dynamic upload rate ((x^1.5/(ax+b)). - The URM scheduler will not start any new torrent if there's any torrent checking or allocating or waiting in the list. - The dead band of the URM is no longer centered at the max download rate value. - Switching from manual to automatic mode now resets the triggering delay for the URM (as with the pause all button) to prevent the URM from starting new torrents as long as the restarted torrents have not reached their crusing rate. - The web service GUI now prevents from changing the IP while the web service is running. - Moving in the dialogs and windows with TAB and shift+TAB is now working. - The Find button is the default one (triggered by the Enter key) in the Find torrents in list window. Note : If the current active field is a button or a checkbox you must push Ctrl + enter to trigger the Find ; that's the way wxPython is working ! - In the "find torrents in list" window you can search for individual priorities (, <, ) and > (Before this only a global search for ( or <, and for ) or >, was available). ======================================================================================== ======================================================================================== ======================================================================================== ======================================================================================== New features and improvements for ABC_OKC 2.7.x : List of last features added from 08/11/2004 : - Multi-selected scraping. See §3 below. - ABC_OKC keeps showing the last scrape data and message when pausing or queueing. - Deleting torrents keeps the torrent below the erased ones selected in the torrent list. - You can put ABC_OKC in manual or automatic mode with a button in the bottom button bar. See §4. - The available upload bandwidth is distributed amongst active torrents according to their real need in upload. See §6 ; I really think this is a great new feature ! - The right click menu has a new "Extract from List" item to extract the selected torrents from the list to a specific directory ; it removes the torrents from the list and moves the .torrent files to a directory you specify. Torrents must be inactive to be extracted. - The size and current progress of the torrents are displayed in the list when the torrents are loaded. (The old format torrent.lst can be loaded by this ABC_OKC release, but the torrent.lst file generated by this ABC_OKC release is not readable by older ABC_OKC releases). - The dialogs for ABC_OKC options and global and local upload options have now an OK button. The apply button now really only applies changes without closing the window. - The BitTornado "feature" which consists in not creating the torrent subfolder below the ABC_OKC default download folder if one file or folder of that torrent already exists in that default download folder has been deactivated. I found no advantage for that feature but many data losses (and it explains many torrent download lockings). - The right click menu has a new "Clear message" item to clear the message column of the selected torrents in the list. - There's a new parameter for the URM : "Low priority". When ticked this parameter will favour non URM torrents that want to upload more in the battle to grab more upload bandwidth against the torrents started by the URM. See §7. - Local upload settings are now saved in torrent.lst - Tooltips in the torrent list when the content width is larger than the column. - A middle button mouse click on a torrent opens its details window. - Integration of BitTornado 0.3.8. - New toolbar button to enter an URL (from Tim's idea). - A new option in Preferences/Misc to choose if you want to be asked for another folder when adding a new torrent that has the same destination folder as another one already enqueued. - Fast resume with 2 new options in Preferences/Queue : * Fast resume for scheduler and URM : when ticked, ABC_OKC will resume paused or queued torrents without hash checking, except for the first run of the torrent. * Fast resume also on first time : this will enable fast resume even for the first time a torrent is run. Be careful with this. And note that even with this option set, sometimes some files need to be checked nevertheless. In the main window, the old "Resume" button now always "Checks and Resumes" whatever option is ticked in the preferences. The old "Reseed Resume" button is now the "Fast Resume" button : it will always fast resume (without checking) (following the rule for the first run of a torrent according to the setting of "Fast resume also on first time" in the preferences). The "Fast Resume" button is meant to become the normal use button. The "Check and Resume" button is to check a dubious torrent to make sure everything is OK. If you want now the URM to queue torrents instead of queue on-holding them, just untick Preferences/URM/"On-hold stopped torrents". - A new column can be displayed in the torrent list for the value of the seeding condition (taken from the local upload settings of the torrent) : unlimited upload or time to keep on uploading or min ratio to be reached. - When a torrent is seeding, the ETA column now displays the timer value for seeding. If the seeding is limited in ratio, this timer is an estimated value based upon the upload rate. To keep compact, the same ETA column is used for both download and seeding timers. There's a letter (D or S) in the list cell to recall the meaning of the value. The timer value for a seeding limited in time is saved between sessions and takes into account the non-seeding on-hold and queue on-hold times. - Changes in the local seeding options are immediately applied even if the torrent is running. - There was some confusion about the "completed" status. The status called "completed/seeding" suggests that "completed" means totally received, but "completed" was also used later to mean completely received and seeded. So I added a new status "finished" just to describe this last state (completely received and completely seeded). "completed" and "finished" are in fact a status for stopped torrents that have finished respectively their download and seeding. - You can choose to keep the ETA displayed in the list for inactive and unfinished torrents or to have it wiped out as it's been till now. Even for an inactive torrent, this information can be useful to estimate the likely remaining time to the end of downloading or seeding. The switch is in the misc sub-panel of the preferences. - You can choose the download priority for individual files inside a torrent with a right click on their row in the torrent details window. These settings are saved between sessions. About this mode : 1 -For the file download priority mechanism to work, a torrent must be started in fast resume mode. So if you start manually a torrent with at least one file priority set to not Normal, you must use the "fast resume" button (and not the "Check and resume" button) in order for the file priorities being managed. When a torrent is automatically started by the ABC_OKC scheduler, ABC takes care of this by itself and starts it in fast resume mode if at least one file priority is set to not Normal. 2 - The files will be available for use only after their progress turns to "Done" in the torrent details window, and after you stop the torrent (with pause or queue). 3 - If some files are set to be never retrieved, the torrent will never get really completed, so it will never reach the completed status, neither really seed. When the files set to be retrieved are completely downloaded, the progress will show 100% and the torrent will keep on sharing what it has retrieved until you stop it. - You can choose a folder to move finished files to (in the misc sub-panel of the preferences). If you deal with very large files (several GB) this folder should reasonably created on the same partition than the destination download directory, to avoid the hudge disk activity to transfer data. This is because a sudden and unexpected disk activity needed to move files across distinct partitions would risk to spoil other tasks on your PC such as cd or dvd writing for instance. If something goes wrong when files are moved, an error message is displayed in the message column of the torrent list. - A new panel is available in the tools menu of the menu bar to find torrents in the list matching several characteristics (torrent name, file name, status, seeds/peers/copies). The matching torrents are listed in the result panel and selected in the main ABC_OKC list. A left click on a torrent in this result list locates the torrent in the main ABC_OKC list. The middle button click and left button double click work the same way as in the main list. You have a right click popup too. An implicit AND is applied between the criteria. An empty field is left aside. In the text fields you can type several strings ; an implicit OR is applied between these strings unless you push the AND button close to each text field. - All torrent statuses are translated. - The torrent status is now stored in torrent.lst in a format independent from the language used in ABC_OKC. So the same torrent.lst will be readable whatever language you switch to in ABC_OKC. This new format can have a consequence for people who use another language than english on the first time they will start ABC_OKC with an old format torrent.lst : if you get an error message about the language when starting ABC_OKC, and some statuses are left blank in the torrent list, just set them again to what they should be, then everything will be OK for the session and the following ones. - Integration of BitTornado 0.3.9b. - Compilation with Python 2.4 ---------------------------------------------------------------------------------------- Minor modifications from ABC2691 on, and bugs corrected from ABC2.6.9 (See last ones at the end of the list) : - The URM can be turned on even if the maximum overall upload rate is unlimited (=0) ; in this case, the URM will never stop a downloading torrent. - In the URM preferences panel, the parameter "Low upload rate threshold" is replaced by the difference between the "Maximum upload rate" and the "Low upload rate threshold". This way this number remains correct even when you switch to the dynamic max upload rate : the "Low upload rate threshold" will always be under the max upload rate (dynamic or static) by this value. It is called "Upload rate dead band". - Doc revamped (A little clearer now I hope) - ABC2.7.0 test dated 08112004 has integrated an early ABC2699 which has a bug in the storing of factor D (it stores the C value instead) ; this is located in abcoption.py. - When you pause a "completed" or "completed/seeding" torrent the torrent status now turns to "completed" (till now it turned to "pause"). "Completed" is in fact a special case of "pause" when the torrent is completely downloaded. Till now you lost this "complete" information when you paused such torrents. - The formula to estimate the upload bandwidth used for the download and the connections has been modified (see §1.2). - An old bug present in original ABC dating back to ABC 2.6.1 has been fixed : 2 timers were running in parallel to do the same thing (timer_icon). - Moving torrents in the list is now a little faster. - In the preferences, ABC_OKC now checks that "max number of simultaneous downloads" + "URM number of torrents" (if URM is running) is lower than the available number of ports. It must be lower than 20 too, because it is the max BitTornado allows. - New values have been added for the timeouts in the preferences (tracker : 5 and 10 mn, download : 10 and 20 mn, seeding : 0.5 hour). - The check for the max of 20 successive ports in the Preferences/Network panel has been removed. You may choose a range of ports larger than 20 ports, but you're still limited by BitTornado to a max of 20 ports used simultaneously, and when torrents are running, ABC_OKC still checks that no more than 20 ports are used at the same time. - After the URM starts a torrent, it will not be able to start another one as long as the first torrent is still in "checking existing data" status and a one minute delay has not elapsed after the starting of its normal download or seeding operation. This is to allow the whole connection chain to react to the starting of the torrent. This is sometimes rather slow and without that delay it could induce the useless starting of more torrents by the URM. - When switched on in the URM preferences, the dynamic max upload rate computing is done also when there are only seeding torrents in the list. - There are some changes in the way torrent counters are displayed. See §5. - The existing algo for distribution was slightly changed. It was giving too much favour in term of reserved up bandwidth to the first started torrents coming over 3 kB/s (even if this difference would wane over the time afterwards). - Still some changes to the upload rate distribution function to track the global upload rate variations, which is definitely not a trivial task. To be sure you're using the last default values for the parameters of this function and of the URM, edit abc.conf and remove the lines with the names urmupfromdownA, urmupfromdownB, urmupfromdownC, urmupfromdownD, calcupth1, calcupth2 and calcuplimit. - On-hold and queue on-hold torrents are now counted as part of the maximum number of torrents that the ABC_OKC and URM schedulers may start. - There's a new option in Preferences/Queue : Prioritize local settings. If this item is ticked, torrents that have a local upload rate setting and want to upload more will be granted upload bandwidth in priority before other torrents. This mimics the behaviour of the upload distribution function in ABC_OKC 2.6.9. - Moving torrents up and down in the list is now a breeze. - Code cleaning up in the upload rate distribution function. - Better handling of actions on multi selected torrents. - The torrent.lst is stronger against corruption. - Faster moves of items in the torrent list. - Lightning fast moves and delete of items in the torrent list. - A slightly different way of dealing with duplicate torrents : If a torrent is added to the ABC_OKC list with the same inside name or folder name and a distinct info_hash as another torrent already in the list, ABC_OKC asks for a new name or a new destination folder to store its data. The old way was to let the new torrent write its files into the already existing folder of the former torrent. We definitely can't let a torrent silently write and hence possibly overwrite data in the already existing folder of another torrent. - Messages for duplicate torrents now mention the file or torrent name. - Unlimited size for the torrent list. - Rewriting of the way the torrent list is stored. - Unlimited number of ports available in the range declared in the preferences. - Torrent info window shown at the position of the middle click. - Changing the global upload settings doesn't change the local upload settings for each torrent any more. These globals settings are used as default for new torrents added to the list. If you want to modify the local settings for several torrents at once, select them and change the values (the displayed values in this case are the ones from the first selected in the list from top). - ETA > 365 days are no longer displayed and some changes in the way ETA is displayed (no more weeks). - more compact information in the "Stop seeding" column. - When a torrent tries to connect, the ETA column keeps showing "?" as long as there's no valid eta value to be displayed. - The URM no longer stops torrents that have a null upload rate. These can't obviously give back any upload bandwidth. - The seeding timer value is easier to read (less sudden fluctuations). - Deleting a torrent with its files now only deletes the files of this torrent and not all the content of the folder of the same name as this torrent. - A single left click on the taskbar icon restores ABC_OKC window. - In the find torrents dialog the list of found torrents gets the focus after a find (handy for a quick scroll of the list with the mouse wheel). - Some work has been done to reduce the flicker in the torrent list. A nice side effect of this more clever refresh of the display is that the tooltips for active torrents no longer twinkle at the refresh rate for fields that don't need refreshing. - ETA shortening operations : Who cares for minutes when ETA takes days, and for seconds when it takes hours : So ETA now holds only 2 fields. "?" replaces "". Number of days max shown is now 99 days. ---------------------------------------------------------------------------------------- Older improvements that have been integrated by Tim from ABC2699 to ABC2.7.0 test dated 08/11/2004 : - Upload Rate Maximizer. See §1 below. - You can choose if the URM will queue or on-hold torrents. See §2 below. - The delay for the URM to take into account a threshold exceeding is tweakable in the preferences - The URM takes into account the influence of download rate on upload rate. See §1.2 below. - You can choose whether you want a striped background in the torrent list or not, in Preferences/Misc. - 3 modifications to get better precision in upload bandwidth regulation : * Dynamic max upload rate is now computed as a floating number to be more accurate in the upload rate regulation feedback. * The function to distribute available upload bandwidth amongst torrents has been re-written. * The algo to estimate the upload rate spent by the download has been changed (no more entirely linear) - Counter for the number of connections in the statusbar (CX) - When ABC_OKC starts, the URM will first wait for 3 mn and will wait after that delay as long as there are torrents in the "checking existing" or "waiting" status in the list, before starting itself. - 4 parameters were not always saved in the configuration file (scrape, defaultpriority, language_file and failbehavior) - A downloading or seeding torrent set to on-hold or queue on-hold status will now free up its upload bandwidth to make it available for other running torrents. - Better input control in the preferences panels - When you change "Trigger next torrent after" in Preferences/Queue and apply the changes, the internal counter is now immediately updated. - The informations about size and progress are not erased when you change the status of a torrent ----------------- For all those features read documentation below ---------------------- ======================================================================================== ======================================================================================== ======================================================================================== ======================================================================================== ======================================================================================== ======================================================================================== DOCUMENTATION FOR MAIN ABC_OKC FEATURES ======================================================================================== 1-=== About the Upload Rate Maximizer : ================================================ The Upload Rate Maximizer (URM) has 2 main features : - a scheduler that can start or stop torrents based on the bandwidth that ABC_OKC is using for upload ; - a module dynamically computing the maximum upload rate available for torrent upload, from the maximum global upload rate you grant ABC_OKC in your system. when turned on, the output of this module replaces the static upload rate you set in the global upload settings of ABC_OKC. 1.1 - The URM scheduler With this feature, ABC_OKC will be able to automatically start queued torrents above the "minimum number of simultaneous downloads" of ABC_OKC as soon as the overall upload rate comes below a customizable threshold. The URM will also put back into the queue a running torrent if the upload rate comes back over the "maximum overal upload rate" of ABC_OKC (and if the number of started torrents is above the "minimum number of simultaneous downloads"). This feature prevents ABC_OKC from keeping stuck with very low upload rates when it comes to download torrents that have few peers and seeders and when you're away from your computer. It does what you would do if you were in front of the computer : start a new torrent because the low upload rate allows you to do so. The starting or stopping of a torrent occurs when the thresholds are exceeded for an amount of time tweakable in the URM preferences (Delay start and Delay stop). The same torrent will not be restarted more than 2 times in a row by the URM. When ABC_OKC starts, the URM will wait for 3 mn and then as long as there are torrents in the "checking existing" status in the list, before starting itself. This is to avoid unnecessary torrent starting from the URM when all due to run torrents are not yet really started. File checking is a heavy load in disk access and can disturb other running programs if it's blindly and automatically started. When "Fast resume" is off (in Preferences/Queue) and to avoid too many and too long checkings of torrent, the URM will not restart a queued torrent if it's more than 400 MB in size. The parameters for this function are : * An on/off switch for the URM scheduler * The max number of torrents that the URM can start * The bandwidth in kB under the maximum upload rate below which the URM will try to start a new torrent (Upload rate dead band) * A switch to tell the URM to "on-hold" the torrents it stops, or simply to queue them up (See §2). * The amount of time for which the upload rate must be staying below the upload rate dead band before the URM is triggered. * The amount of time for which the upload rate must be staying above the upload rate dead band before the URM queues back one torrent. All these can be changed in the preferences window of ABC_OKC in the panel "URM". 1.2 - The URM dynamic maximum upload rate module The upload flow from ABC_OKC is made of the bytes emitted to transmit the file pieces you share, plus the bytes "waisted" in the TCP and BitTorrent protocols for the down flow, the up flow and the connections. The static upload rate only regulates the flow for the pieces you share. So when you're using the static upload regulation, the real upload bandwidth used by ABC_OKC on your system can be in fact up to 40 kB/s higher than the static value you set, with high download rates (800kB/s) and many connections. You can use any network flow meter to check this on your system. In the Preferences/Limits/upload limits settings, ABC_OKC gives the choice between the static upload regulation and the dynamic upload regulation. The dynamic upload rate regulation estimates the value for the real total upload flow and dynamically adjusts the max static upload rate so that the real total ABC_OKC upload rate stays around the value you set for "system max upload rate for ABC_OKC". Even if your download rate or number of connections are very much fluctuating, this will ensure that ABC_OKC will never overshoot this limit and will try to use each kB/s below it. You will see the max static upload rate in the lower right cell of the status bar evolving as the download rate, the number of connections, and also the upload rate are changing. The parameters for this feature are in the Limits panel of the preferences : * A switch to turn this on or off ; when it's turned on, the fixed "Static maximum overall rate" is no longer used and is replaced in ABC_OKC by a dynamic computing of the max available upload rate for uploading torrents from the download rate and the global upload bandwidth you give ABC_OKC on your system. * The second parameter is the global upload bandwidth you grant to ABC_OKC on your system, in kB/s. The formula to compute the dynamic upload rate estimation is : ABCDynMaxUploadRate = SystemMaxUploadRateForABC - A X MeasuredDownRate - f(B, F, G, MeasuredUploadRate) - C X NumberOfDownloadingConnections - D X NumberOfUploadingConnections - E X NumberOfPendingDownloadConnections - UpRateForDHT The parameter A is a factor to approximate the part of the upload rate due to the download rate. The waisted upload rate is also linked in a lower ratio with the measured upload rate used to upload files ; the factors B, F and G are used to take this into account. At last factors C, D and E are used to approximate the waisted upload rate from the number of connections. By default tweaking these parameters is not available in the panel. The 7 parameters A to G have default values that fit the range of 1 to 700 connections and 0 to 1200 kB/s in download rate and 0 to 100 kB/s in upload rate. These parameters may be tweaked without restarting ABC_OKC in the preferences/URM panel, providing you set before the parameter tweakdynmaxuprate to the value "1" in abc.conf. As finding correct values for these parameters in not quite easy, I highly recommend using the default values. You can use a bandwidth meter app to help you (DU meter or others...) : When the two upload rate values in the low right corner of the ABC_OKC window are equal, the bandwidth meter must show for the system upload rate a value around the "System max upload rate for ABC_OKC" you set in the URM preferences. The URM dynamic maximum upload feature can be enabled independently from the URM scheduler status. 2-=== About the URM queueing or on-holding torrents : ================================== When the URM needs to stop a torrent, it can simply put it back into the queue (as Queued) or on-hold it (as On-hold). This on-hold status means the torrent is both paused (download/upload thread halted) but counted as enqueued, so it is managed by the URM or the main queue scheduler. Only the URM can set this status for a torrent. But this on-hold status can be changed to another status by the URM, the scheduler or manually. You can choose this behaviour in the URM panel of the preferences window ("on-hold stopped torrents" option). The On-hold status has several advantages : An on-hold torrent will resume immediately without any loading or calculation (the halted thread is resumed), even if you set file checking on. The torrents on-hold by the URM will also gain the higher priority level in the queue to be downloaded by the URM or the scheduler as soon as possible and free up memory. This assures too that torrents that have been started by the URM will go to the end even if the priorities are changed in the queue (You will not end up with a lot of not completed and useless downloads). On a whole, on-hold is the prefered behaviour. The status Paused is very much like the On-hold status except paused torrents are not managed by the URM or the main queue scheduler. It seems that the 3com Gigabit LOM ethernet adapter integrated on ASUS motherboards has a poor driver with Windows 2000 and leads to locks when you pause or on-hold a torrent in ABC_OKC. If you have this problem, either install and use another external ethernet adapter or uncheck the option "on-hold stopped torrents" in the URM panel of the preferences window and never manually pause a torrent. As Bittornado has now changed the way it pauses torrents, there should be in fact no more problems. 3-=== About multi-scraping : =========================================================== If the columns #seeds and #peers are not visible in the interface, the scrape data are displayed in Tim's standalone window ; but in this case only the first selected torrent in the list is scraping. If at least the columns #seeds and #peers are visible, multiscraping is enabled, all selected torrents in the list are scraping in parallel and the results are diplayed in the list. If the message column is visible in the interface, it displays the status message of the scraping command. 4-=== Manual and automatic mode : ====================================================== You can put ABC_OKC in manual or automatic mode with a toggle button (showing a cog for the automatic mode or a red crossed cog for the manual mode) in the bottom button bar. This state is remembered when you stop ABC_OKC. In manual mode, the queue scheduler and the URM scheduler are disabled for queued torrents. ABC_OKC can no longer automatically start queued torrents. Nevertheless all running torrent (downloading, seeding, on-hold) will go on till they are over or their status are turned to a "non-running" status. In the automatic mode, the queue scheduler is on for all queued torrents ; the URM scheduler will care too for these torrents if it's turned on in Preferences/"URM/Activity". 5-=== About the torrents running counters : ============================================ The following informations are displayed in the status bar about the running torrents from left to right : - L : shows the number of torrents loaded in the list. - R : shows the number of running torrents (this includes all started torrents) - W : shows the number of working torrents (incomplete downloading and uploading) - S : shows the number of seeding torrents - P : shows the number of torrents waiting in the paused or on-hold status. - F : shows the number of finished torrents (completed and seeding over) and the number of totally received torrents (in whatever status they may be). - [w/x + y/z] : shows the active torrents (from the max number allowed) from the point of view of the ABC_OKC scheduler and the URM scheduler. This represents in fact the number of downloading torrents (if "trigger next torrent" is "after downloading") or the number of downloading and seeding torrents (if "trigger next torrent" is "after seeding") added to the number of paused and on-hold torrents distributed over the 2 schedulers. - C : shows the total number of connections (Seeds + Peers) - D : shows the global download rate and as an option the percentage of the max downloaded volume. - U : shows the global upload rate and as an option the percentage of the max uploaded volume. The second number next to "D:" and "U:" is the maximum download or upload rate. The maximum upload rate can be static or dynamic (according to "Dynamic max ABC_OKC upload rate" being checked or not). Paused and on-hold torrents are not counted as downloading torrents but as running torrents. 6-=== Upload bandwidth distribution ==================================================== In the releases prior to ABC270test08112004_4, the available upload rate was distributed equally amongst active torrents. This was not very satisfying because some torrents may download very less than the upload rate bandwidth they are granted (or even nothing at all). The upload rate that is waisted this way could be better used to try to increase the upload rate of other torrents that are very much needed by other peers. This should also improve the download rate of such torrents. From ABC270test08112004_4 on, the available upload bandwidth is distributed according to the real need of each torrent. The distribution is periodically computed and takes into account the measured upload rate for each torrent to adjust the reserved bandwidth for each torrent to what is needed. If a torrent has its measured upload rate lowering and coming below its reserved upload rate by a certain amount, its reserved upload bandwidth will be lowered. If a torrent has its measured upload rate growing and coming close to its reserved upload bandwidth by a certain amount, its reserved upload bandwidth will be increased taken from the available upload rate pool at this moment. The compliance with the 1 kB/s min upload rate rule is assured with a priority given to torrents that have their measured upload rate below 1 kB/s and that want to get higher in upload rate. These torrents will always be granted an amount of upload bandwidth in the first place even if it is necessary for that to lower the upload rate of other torrents. 7-=== Low priority parameter for torrents started by the URM =========================== There's a parameter called "Low priority" in the Preferences/URM panel. When you have a pool of non URM and URM torrents running and this option is ticked : A - The non URM torrents will be favoured to grab some more upload rate bandwidth. When there's no more available upload bandwidth to be distributed to the running torrents and the torrents exchange their reserved upload bandwidth, a non URM torrent wanting to upload more will always have its request fulfilled if it is possible to grab that bandwidth from a running URM torrent. The upload rate of these URM torrents will never be lowered below 1 kB/s. B - As URM torrents are started to consume the extra upload bandwidth left by normal torrents, they must not grab a big amount of this bandwidth from non URM torrents as the "Prioritize" setting for the local upload rate would allow them (This parameter is in Preferences/Queue). For this reason the "Prioritize" setting is kept disabled as long as the torrent is in the range of URM torrents. If this parameter is not set, all started torrents (URM and non URM) exchange their upload bandwidth with the same priority when there's no more extra bandwidth to be distributed. The "low priority" mode is the default setting for a fresh intallation of ABC_OKC. 8-=== Parameters templates for torrents ================================================ A template is a bunch of several default torrent parameters gathered in groups. These parameters are : * Group "Label" : - Short label * Group "Download Setting" : - Maximum download rate - Prioritizing * Group "Upload Setting" : - Maximum uploads per torrent - Maximum upload rate - Prioritizing - Seeding limits option (unlimited, time, ratio or first from time and ratio) - Time while keeping on seeding - Limit ratio to stop seeding - Force seeding as long as there is no seeder or no complete copy available * Group "Timeouts" : - Global timeout switch - Action to be taken when timing out (Stand by, lower priority + queue or stop) - Global timeout switch when working - Switch to watch the down stream when working - Switch to watch the connections with the tracker when working - Global timeout switch when seeding - Switch to watch the up stream when seeding - Switch to watch the connections with the tracker when seeding - Timeout value when no connection with the tracker - Timeout value when downloading for working torrents - Timeout value when uploading for seeding torrents * Group "Moving" : - Destination folder to move the files from finished or completed torrents The template name is also associated with the torrent and is called the label. Both label and short label can be displayed in optional columns of the torrent list. A template can be assigned at any time to a torrent, setting the local parameters of the torrent to the values of the template parameters. If a template has one or several of its parameter groups undefined, these will not overwrite the corresponding local parameters of the torrent that will keep their old values. For old school ABC_OKC users, this is as if you would have several global settings configurations that you could choose from for a torrent. But these templates have more parameters than the old global settings. And they can be assigned to a torrent at any time. You can create templates that overlap one another. For instance a template can set all the settings in the "Upload Setting" group and another one can set only the settings for the "Label" group and the "Move" group. There's a special template : the default template. This one cannot be deleted. It is the only existing template you will find in ABC_OKC on the first time you will run the new ABC_OKC featuring these templates. This is the template that will be assigned by default to any new torrents loaded into ABC_OKC. Its data will be used too to initialize any new template created with the editor. It's also special because this is the only template having all its groups of parameter necessarily defined and you can't undefine any of these groups. But of course you can edit all its parameters and rename it. If you don't intend to use and create other templates, you can stay with this only one and call it into your mind "Global setting" (you can even rename it from "default" to "global setting" if you want !) and everything will almost be like it was before, except the default template will offer you some more parameters than the previous "Global setting" did. The default template is selected by default when you open the template editor. Its name is always written in red in the template list. When it's selected in the list you can't see the colour any more, but you will see then its parameters in the group tabs and this default template is the only one that has the main switch for each group tab ticked and disabled. How to create and edit templates : From the menu "Action" choose "Parameters templates". From there, you can create, copy, rename, delete templates. When you select a template in the list, its parameters are available in the bottom tabs to be edited. Each tab has a checkbox at its top to set if this group of parameters will be set in the torrent it will be assigned to (this is what I previously called groups defined/undefined). The status of this checkbox is recalled in each tab header as a mark before the tab name. The changes for a template are automatically kept when you edit another one. But to keep definitely all your changes for all the edited templates before closing the editor window, you must click on "Apply" or "OK". The last opened tab is remembered when re-opening the template editor. You can sort the templates by name or short label (direct or reverse order) by clicking on the top of each column. About the move folder options : Only the name of the move folder is a template parameter. The options to choose when you move the files have remained global ABC_OKC parameters tweaked in the ABC_OKC Preferences. How to assign a template to a torrent : Right click on a torrent. You will see the current label of the torrent at the top of the popup menu. From this label you can list all existing templates and choose to assign another template to the torrent. The templates are listed in this menu in the order they were recorded at last validation in the template editor. If you ticked the checkbox "Hidden" in the parameters of one template, the name of this template will not be displayed in this menu. In relation with the parameters templates, the "Find torrents in list" function has a criterion for searching called label, which is in fact the template name. The next step will be to be able in some cases to affect automatically a template to a torrent as soon as this one is loaded into ABC_OKC. The criteria for this can be the name of the tracker, or some strings found in the name of the torrent or the torrent file,... This would be quite handy for instance for trackers that have specific up/down ratio, to have these parameters automatically set to the right values at load time. See §9 below for more informations. 9-=== Automatically applying parameters templates when loading new torrents ============ You can choose to have templates automatically applied to torrents when you load them in ABC_OKC. For commonly used torrents and trackers, this feature allows you to completely automate the fastidious task of changing the parameters of torrents to set their parameters to match the tracker characteristics or to set the way you want to handle them or the files you receive when these torrents run (destination folder for instance). You access this feature with the button labeled "Trigger" in the template editor. The templates parameters of the currently edited template (if there's such one) will be replaced by a window to edit the matching criteria for the rule that will trigger this template at torrent load time. To make thinks not too much complicated, there will be one rule for each template. As these rules are in fact multi-criteria, this should be enough to deal with all cases. I'll give a few examples later to explain what template and what rule must be created to handle common cases. When a new torrent is loaded in ABC_OKC, all active rules from templates will be parsed to check if they are triggered by the torrent. When such a rule is found, the corresponding template is applied to the torrent. Once again to keep things simple only the first matching rule will be applied. The parsing stops as soon as a rule is triggered. So the order these rules are being parsed is important. You can choose this order in the template list that's kept displayed at the top of the template editor when you are in "Trigger" mode. You will notice that the templates are reordered in a new way which is the order of parsing of their corresponding rule. You can modify this order with the "up" and "down" buttons. In this list, templates with empty or inactive rules are displayed in red. You can click directly on a template in the list to display the parameters of its rule in the bottom window. When you switch back from "Trigger" to "Template" mode you will go back to the template parameters mode that will display the parameters of the last template you displayed the rule of in the "Trigger" mode. You will of course get back in the top list the order you chose for the templates to be displayed in the right click popup menu. The values of the parameters of a template are automatically saved when you switch from a template to another one ; But this is a local saving, retaining informations as long as you don't close the template editor window. To save all the changes you've made to templates before closing the template editor window, you must click on the OK button. If you click on the Cancel button, all the changes made to templates from the last time you opened the template editor window are lost. Rule matching criteria : They work quite the same way as the ones used in the "Find torrents in list" window. You can enter several strings for each matching rule. ABC_OKC will make an OR between them unless the corresponding & button is pushed to have them ANDed . There's an implicit AND between all criteria. You can activate/deactivate a rule with the checkbox "active". If a rule is empty (all fields left empty), it's treated as if it were deactivated. Note : When you create a new template, all parameters values for the new template are copied from the default template. For obvious reasons, this will not be the case for the rule parameters values associated with the template, because having the same rules in several templates is of no interest. These values will be reset to empty string matching criteria and the rules will be set to inactive. Some examples to deal with common cases : A - You want all torrents from tracker X containing "avi" files to be parametrized with settings X and corresponding received files to be moved to folder AVI_X : -> Create a template trackerX_avi with tracker X settings and move folder AVI_X. Set the trigger rules for this template to "X" for the tracker and ".avi" for the received files (without the quotes). Then activate the template triggering rule with the checkbox at the top of the rule panel. B - You want all torrents from tracker Y or tracker Z containing "avi" files to be parametrized with settings YZ and corresponding received files to be moved to folder AVI_YZ : -> Create a template trackerYZ_avi with tracker YZ settings and move folder AVI_YZ. Set the trigger rules for this template to "Y Z" for the tracker and ".avi" for the received files. When you put "Y Z" in the tracker name of the rule panel (without the quotes), this means the rule will trigger if the string Y OR the string Z will match the tracker of the new torrents. Then activate the template triggering rule. If you don't plan to use manually this template you can hide it from the right click popup menu with the checkbox "Hidden". C - You want all other torrents containing "avi" files and not coming from the trackers X, Y or Z to have their received files moved to folder AVI : -> Create a template avi with only a move folder setting set to AVI (and a label if you want). Set the trigger rules for this template to ".avi" for the received files (without the quotes). Then activate the template triggering rule with the checkbox at the top of the rule panel. Use the up and down arrows to move the template avi in the "template trigger order" list below the templates you previously created for trackers X, Y and Z (trackerX_avi and trackerYZ_avi) so that this last rule is triggered after those two ones. If you keep the "hidden" checkbox unchecked, you will be able to use this template to manually send the received files from any torrent to your avi folder in one click with the right click popup menu on a torrent. These are only some tracks to use templates and trigger rules. You may refine your matching criteria to better fit your needs. 10-=== Automatic activity detection ==================================================== Purpose : --------- ABC_OKC will always try to keep running at least the "minimum number of simultaneous running torrents" you set in Preferences/Limits. Switching activity on for a torrent will make ABC_OKC count it into this number of simultaneous running torrents when this torrent is running. Switching activity off for a running torrent will make the slot of this torrent in the number of simultaneous running torrents free to start a new torrent. Automatic activity switching : ------------------------------ The activity of a torrent is automatically switched according to the traffic. ABC_OKC will periodically check the up and down rates for the torrent ; if one of these rates is overshooting its threshold for a given lapse of time, the activity will be switched on ; if both rates stay below their threshold during this same delay, the activity will be switched off. This will avoid waisting a slot from the minimum simultaneous downloading torrent number for torrents with no or very low traffic but that you still want to keep running, wishing they go to end. You can keep such torrents running : their slot will be made available for other torrents when they up/download with a low or null traffic, but they will get it reassigned if this traffic increases. Examples : ---------- Here are 2 examples where the automatic activity switching will help you to better use your bandwidth resources : 1 - Suppose you have set the minimum number of simultaneous running torrents to 3, and have 3 torrents running, from which 2 are connected but don't download and don't upload, and the last one is uploading at full speed, filling all your max upload bandwidth. In this case the URM will not start new torrents (because the whole up bandwidth is used) and you may stay in this state for a long time, downloading nothing. If the "Automatic activity detection" is set for the 2 torrents that don't upload or download, they will be detected as inactive, their activity will be switched off, and ABC_OKC will start 2 other torrents that may bring you downloading and better share your upload bandwidth. 2 - When you are seeding a torrent that may not have peers all the time : When a seeding torrent has no peers and if its "Automatic activity detection" is set, its activity is switched off, and so it will stay connected waiting for peers but not taking one slot in the total of the min simultaneous running torrents. Another torrent can be started in the slot that has been freed up. If the torrent starts seeding, its activity will be switched back on and it will get back a slot. Settings : ---------- The values for the thresholds and the delay used for automatic activity switching are globally set in Preferences/"URM/Activity". In this window you can also set the maximum number of extra torrents that may be lauched because of the inactivity of other ones. The default values of 0.3 kB/s for the thresholds and 60 s for the delay will fit most of cases. You can monitor the status of each torrent in the main torrent list with the optional column "Activity" : An active torrent will have a "+" in this column. If some torrents have their activity switch unset, the left counter of the scheduler counter block in the status bar can become greater than the max simultaneous download counter located at its right side to express this. If you don't want torrent inactivity to make start extra torrents, just uncheck the option "Start an extra torrent when a torrent turns inactive" in Preferences/"URM/Activity". Activity switching and URM : ---------------------------- Automatic activity switching and URM are the best companions to deal with torrents with very low traffic. When the URM is on, you will see that the main scheduler and the URM scheduler exchange torrents and cooperate to better fill the upload bandwidth while keeping the number of active torrents at least to the minimum number of simultaneous running torrents. The URM will contribute at a global level for the upload rate, and the activity switching at the torrent level for the number of running torrents. 11-=== Command line syntax ============================================================= 4 main switches may be appended to the command line of ABC_OKC to pass parameters to ABC_OKC at starting time or to an already running ABC_OKC. The first 3 switches may be used for the first run of ABC_OKC or to send parameters to an already running ABC_OKC : abc -a torrentfilename|magneturl|torrenthttpurl [options] Adds a torrent at the bottom of the list from a torrent file or a magnet URL or a HTTP URL. The torrent is added with the default priority and the 'queued' status. options is an optional string to modify the default values ; it may contain : - a digit (from 0 to 4) to indicate the priority for the torrent (0=higher, 4=lower). - the letter t to indicate that the torrent must be moved to the top of the list. - the letter r or the letter s to tell that the torrent must be run immediately or must be set in the 'stopped' status. - the letter q to add in quiet mode (no message window to close). abc -m mode Where mode is one of the strings auto or manual : Switches the mode in ABC_OKC to auto or manual. abc -p port Where port is a port number : this port will be used for communications with the running part of ABC_OKC (over TCP). The default port is 56666. After the first run of ABC_OKC with a -p port command, you must use this very same -p port command to communicate with the running part of ABC_OKC. The fourth switch is meant to be used only to send parameters to an already running instance : abc -c command Where command is one of the strings stoptraffic, pauseall, unpauseall, stopall, resumeall or quit : Sends the corresponding command to ABC_OKC. stoptraffic engages the manual mode and sets the status for all running torrents back to queue (it is the equivalent for pushing the mode button while holding down the Ctrl key). The quit command immediately terminates ABC_OKC without confirmation. All switches may be mixed ; only logical combinations will be performed. If a switch or option is specified several times, only the first occurrence is parsed. 4 new switches have been added in release 4.4.4 : Command line options -i, -r, -ra and -s allow to have a running ABC_OK listening on an IP address to any command sent through a local network by a command line run on another PC. You can for instance remotely add a torrent from a distant PC to a listening ABC_OKC. - You must first install ABC_OKC on both PCs. - Then start the listening ABC_OKC (abc.exe) with the parameter -i followed by its IP address on your network. - Then on the distant PC start abc.exe with the parameter -r followed by the same IP address and the command line you wish to send to the listening PC. If you use -ra instead of -r, torrent files and magnets will be locally associated in Windows on the distant PC and will be automatically sent to the listening PC. If you want to associate (-ra) or remotely add a torrent file (not necessary for a torrent or magnet URL) you must set a shared directory on the listening PC and use its share name with the -s option in the command line on the distant PC. Examples : On the listening PC with ip 192.168.0.2 start ABC_OKC with : abc -i 192.168.0.2 On the distant PC : To set mode auto on listening ABC_OKC : abc -r 192.168.0.2 -m auto To set mode manual on listening ABC_OKC : abc -r 192.168.0.2 -m manual To remotely add a magnet : abc -r 192.168.0.2 -a "magnet:?xt=urn:btih:75CF4CE0014D9 1502CD8D6D3E3AE60D0F39CF341&dn=MyMagnet" If you want to associate torrents and magnets on the distant PC or remotely add torrent files from this PC, first create a shared folder on the listening PC named for instance "Shared". Then on the distant PC : To remotely add a torrent file : abc -r 192.168.0.2 -s Shared -a "abcd.torrent" To set associations with torrents and magnets : abc -ra 192.168.0.2 -s Shared Then clicking on magnets or opening torrents after downloading in your Internet browser or double clicking on a torrent file on the distant PC will add this magnet/torrent in the listening ABC_OKC. 1 new switch in release 4.4.5, to be used with -ra and -s : -o followed by a string telling the options that will be used when remotely adding a torrent or magnet (q, t, r, s or a digit) : This will store in register these options as defaults. For example : On the distant PC : abc -ra 192.168.0.2 -s Shared -o qs4 Then all torrent or magnets added from the distant PC will be added to the listening ABC_OKC in quiet mode with the lowest priority and stopped. 12-=== Torrent list column sorting ===================================================== To avoid any unwanted click on a column header that would spoil forever your precious hand crafted list triggering order, alphanumerical sorting is available through a Control + left click on the column headers. For the following columns that contain 2 fields, you can sort the list by the first field with Ctrl + left click, and by the second field with Ctrl + Shift + left click : * Seeds : sorting by first or second number * Peers : sorting by first or second number * Message : sorting by the time stamp or by the message label By default clicking a second time on a header sorts the list in reverse order. But you can choose the default sorting order (ascending or descending) that will occur on the very first time you click on a column and you can lock this sorting order with settings that are in "Tools/Columns Setting". You may find useful to have some columns sorted in a particular order on the first time you click on their header, and have this sorting refreshed instead of reversed on the next time you click on it. An example could be the #Peers or #Seeds columns you might always want sorted in descending values. If there are finished or completed torrents at the top the list, these can be locked at the top of the list (and sorted in their pool of finished or completed torrents) or sorted just like the other torrents of the list according to the option you set in the "Sorting lock option" popup menu you get by Ctrl + right click on any header of the torrent list. A field with an unknown content (with a '?') will always be sorted after other fields with a meaningful content, in direct or reverse sorting. In the ETA column, seedind torrents are sorted above downloading torrents. 13-=== Command scheduler =============================================================== The menu Tools/Command Scheduler opens a dialog where you can add, delete and edit scheduled internal ABC_OKC commands. You can also set the command scheduler parameters and start/stop it. Selecting commands in the list : -------------------------------- You can select several scheduled command to delete them or changing one of their field to the same value in one shot. Changing all selected cells in one shot is not always allowed. For instance if the selected scheduled commands have distinct commands (in the Command column), you logically won't be allowed to change values (in the Value column) for these in one shot. You can select all commands with Ctrl+A and invert the selection with Ctrl+X. Adding and deleting scheduled commands : ---------------------------------------- To add a command, just use the "Add command" button. A new scheduled command is added to the list with its schedule date/time set to current one. To delete one or several commands, select them and press "Delete command" Editing scheduled commands : ---------------------------- To change a value in a cell of the list, right click on it. A popup menu or a dialog will open to let you change the value of the parameter. The dialog can always be closed with the Escape key. All changes in the scheduled command list are real-time ; you don't have to OK the command scheduler window to validate them. When you change the schedule date/time for a commmand, the list is automatically sorted by this schedule date. The current command stays selected. The columns of the scheduled command list : ------------------------------------------- Status : To enable/disable a command If a scheduled command is "Disabled" or has its command field set to "None" it is ignored and will never be run. Frequency : One time commands : A "One time" command runs once on the date/time set in the Date and Time columns of the list. Daily commands : A "Daily" command runs every day starting on the date/time set in the Date and Time columns of the list. Weekly commands : A "Weekly" command cyclically runs one time every week. The command will run every week starting the first time on the date/time set in the Date and Time columns of the list. Weekly commands with list of days of week : This "Weekly" command cyclically runs one or several times every week. If you press some of the 7 day buttons, the command will run only on the selected days of week in the window of time starting on the date set in the Date columns of the list. This will allow to enter a single command in the list and have it run several times every week from monday to friday for instance. The days of week the command has been set to run is reminded in the list cell with the pattern [MTWTFSS]. A run day is shown with its initial, a not run day is shown with a dot. Setting "Weekly on [MTWTFSS] from date1" is the same as "Daily from date1". Date and Time : The date and time the command is set to run (or its potential run window of time to start, for weekly commands, see above). Expires on : For a command to run daily or weekly, you can set in this field a date the command will not run past. If it can run on this date this will be the last time. If you set it to "Never", the command will cyclically run forever. It can't be changed from "Never" for a "One time" commmand. Command and Value : The command to be run with the optional value to be set. You can't change the value if the command is set to "None". Command scheduler parameters : ------------------------------ Two options can be set in the command scheduler dialog : - The Command scheduler can automatically start when ABC_OKC starts. - When the Command scheduler starts, it can be set to run past commands of the list. If this option is set, all past last runs of each enabled and valid command will be replayed when the scheduler starts. The "Exit ABC_OKC" command is never re-run for obvious reasons. If you set commands to set the upload rate to some values according to date or time, and if you keep ABC_OKC stopped for a while and then start it, running the command scheduler with this option set will ensure that your upload rate settings will be set to correct values according to day and time. Starting/stopping the command scheduler : ----------------------------------------- Just press the "Start/Stop Scheduler" button. You can also start/stop the command scheduler with an optional button in the bottom bar. The setting to display this button is in Preferences/Interface. 14-=== Upload and download volume limiter ============================================== ABC_OKC can watch the upload and download volumes over periods of time and automatically switch to manual mode and queue back torrents when a maximum volume is reached in upload or download during this period. Moreover ABC_OKC will switch back to automatic mode if necessary and resume all transfers when the constraint in volume is released. When ABC_OKC is switched to manual mode under control of the transfer volume limiter, the mode icon displays a yellow cross to show that this manual mode is under the volume limiter control and may be automatically switched back to automatic mode later. From this particular mode that can only be set by the transfer volume limiter, you can switch to the real manual mode by left clicking on the mode button. When the sliding window option is checked and ABC_OKC can be set back automatically to automatic mode because the limits in volume are no longer reached, there's a margin for download and upload volumes before this automatic mode is switched on to avoid multiple switchings of the mode. These margins are set as a percentage of the max allowed volumes. The default value is 5%. All parameters are set in Preferences/Limits. For the upload and download limits, these parameters are : * A switch to engage the volume checking. * The max volume in GB that must not be overrun in the watch period. * The duration of the watch period in hours. * The type of time window used to measure the volume : Sliding or fixed. * For the sliding window type : The margin (percentage of the maximum allowed volume) that must be reached before the ABC_OKC mode switches back to automatic. * For the fixed window type : 2 fields to set the starting time of the watch period ; the button "N" (for "Now") sets this to the current date/time. * For each kind of window : A button "R" to reset the measure of the volume inside the window. You can have the percentage of the max volume downloaded or uploaded till now displayed in the 2 bottom right cells of the status bar, with the option Preferences/Interface/"Display volume in status bar". 15-=== Connections limiters ============================================================ This feature is for people who have torrents from several different trackers with some of these trackers having limits for the number of seeding, working or overall connected torrents. Without connection limiters, when you reach one of these limits, torrents get rejected by the tracker, and ABC_OKC may try to start more of them from the same tracker which will be of course also rejected. The connections limiters allow you to let ABC_OKC know about these limits so that it doesn't start more torrents from these trackers than allowed, and more cleverly looks forward in the list for starting torrents from other trackers instead. For trackers that have a maximum number of simultaneously seeding torrents, to avoid having too many locked completed torrents waiting for seeding just because the max number of seeding torrents for their connection limiter is reached, there's an option in Preferences/Queue : "Don't start a torrent if limiter locks at least X completed". This will forbid the starting of a new torrent if its connection limiter is already preventing more than X completed torrents from seeding. Of course other torrents further down in the queue may start if they are not concerned with this limitation. This feature takes into account the priority of torrents (own priority + row in the queue). You may enable or disable this feature and choose this minimum number X of locked completed torrents that will trigger it. Editing the connections limiters : - The settings for the connections limiters are in the menu Settings/"Connections limiters". - In the connections limiters window you will create limiters profiles to link some existing templates with max values for the number of seeding, working and overall connected torrents. ABC_OKC will obey these limits for the pool of torrents belonging to these templates. On the template side each torrent is now always linked with one template, so it's now forbidden to delete a template as long as there's at least one torrent in the list using it. Note that you can use the connections limiters to limit the number of connected torrent by any triggering rule used in the templates and not only by the tracker URL matching. - The logic behind editing the connections limiters is very much like templates editing. A zero in value settings means an unlimited number of connections. The max number of connected torrents can't be greater than the sum of the max number of seeding and working torrents. Copying a limiter does not duplicate the templates links, because they will be oviously different from a limiter to another. Notes: - The limits tracking will not be accurate for multi-trackers torrents with some of these torrents having connections limits. You can't strictly characterize such torrents by tracker because they can connect with any tracker from their internal list independently from their template. In fact I never came into trackers having such limits and being referenced in multi-tracker torrents so this should not be disturbing. You can always use the Preferences/Queue/"Cancel timeouts when tracker says" string to prevent torrents that would still get the "rejected because of too many connections" message from timing out with a lower priority. - Seeding partial torrents (with some files marked as "never download" and with all other files completed) are not seen as seeding by the trackers though their status is "Seeding" in the torrent list. So they are not counted in the seeds pool by the trackers. - If not found at startup, an empty conlimiter.lst file will be created in ABC_OKC install directory to store connections limiters profiles. A short example to show how to use connections limiters : You are using a tracker X from which you wonna get some creative commons music and free ebooks. This tracker limits your simultaneous number of connections to 3 seeding, 2 working and 3 overall. You wish to have your downloads moved to specific directories according to their category. 1 - Create a template called Xmusic and labeled Xm for instance. Set the rate and timeout parameters you want to grant this tracker, and the move parameter to "D:\CreativeCommonsMusic". Set the trigger parameters like this : Tracker name : X Received file names : .mp3 .flac .shn Then make the triggering rule active. 2 - Duplicate this template (with the Copy button), and rename the copy Xebooks. Label this template Xb for instance, ans set the move parameter to "D:\eBooks" Set the trigger parameters like this : Tracker name : X Received file names : .pdf Then make the triggering rule active. 3 - Create a connection limiter named X for instance and set the limited templates to Xmusic and Xebooks, and set the max numbers of seeding, working and overall connections to 3, 2 and 3. You're done. For all new torrents added to the list ABC_OKC will sort your downloads from this tracker and will obey the max number of connections limits of this tracker. The torrent queue will manage these limitations while keeping the remaining resources of your ABC_OKC max global settings available for other trackers of your torrent list. 16-=== Customized client IDs =========================================================== In Preferences/Network, you can define 3 customized client IDs. These IDs must be 20 characters long. You may enter binary data for each byte in the format \XX where XX is the hexadecimal code of the character. Non printable characters and characters above 128 must be entered this way. When not used to escape an hexadecimal code, the single character '\' is entered as \\. Each ID also has a randomizing mask. This mask is a string 20 characters long in which an "f" means the corresponding byte in the ID is fixed and an "r" that it will be computed at random. In this latter case the corresponding character in the ID will have a special meaning to tell how the randomized byte will be computed. If the nth byte in the mask is "r": If the nth byte in ID is : The nth byte in ID is ramdomly computed as a : A Uppercase letter a Lowercase letter B Uppercase letter or digit b Lowercase letter or digit 1 Digit ? Any letter * Any letter or digit . Any character An empty mask is interpreted as a mask filled with "f". When the mask is empty, the mask toggle button displays an "m". The client IDs are automatically generated when ABC_OKC is started, or after a modification of the ID or the mask in the Preferences and a click on Apply or OK, or when you click on the generate ID button in the Preferences and then on Apply or OK. The currently used ID is displayed below the customized IDs in Preferences/Network. To edit the randomizing mask of an ID, push the M (for Mask) button near each client ID. Some examples : Client string : μTorrent 3.5.5 User agent : uTorrent/3550(46200) Client Id : -UT355W-************ Mask: ffffffffrrrrrrrrrrrr Client string : Azureus 5.3.0.0 User agent : Azureus 5.3.0.0 Client Id : -AZ5300-111111111111 Mask: ffffffffrrrrrrrrrrrr 17-=== Standby status ================================================================== This status aims at finishing a seeding torrent with very sporadic leechers, or completing an incomplete almost dead torrent with very sporadic seeders or leechers. It is mostly useful when automatically triggered by a timeout. A standby torrent normally stays unconnected but cyclically checks if there are seeders or leechers that could upload to you or would need some download from you. This checking is done by scraping the trackers or connecting to trackers to get the number of copies globally available and the progress for each leecher. If there is some opportunity to share some data, the torrent connects or stays connected until it finishes or times out ; otherwise the torrent stays in or returns to standby status. Important : This status is not suitable for a torrent starting from scratch. It must be used only to try to complete or finish an almost dead torrent. It's very important to stay connected as long as possible to make the tracker know of the availability of your torrent as a seed. Don't forget a standby torrent only connects when it detects seeders or leechers : that's why this mode must be used only as a last resort. The main scheduler will always lead your torrents through the normal cycle of life of a torrent : Working, seeding, and possible timeout triggering standby, queued back with lower priority or stopped status. What happens in detail when a torrent is set to this status ? The torrent is stopped if it was running. Then if ABC_OKC is in automatic mode, the torrent automatically scrapes every 20 minutes (this is in fact a minimum delay that increases with the number of torrents with standby status so as not to overload trackers). If the torrent is complete and scraping is reporting leechers or if it's uncomplete and scraping is reporting seeders, the torrent is started. If the torrent is uncomplete and scraping is reporting no seeders but leechers, the torrent is started for 2 minutes to update the number of copies globally made available by all leechers and let leechers connect and show their own progress ; if at least one leecher or your own client shows a progress lower than the number of copies, the torrent is kept started ; otherwise it's put back to standby status. If ABC_OKC can't get from the tracker the number of seeds or peers when trying to wake up a standby torrent, this torrent is started for 2 mn max (parameter sbwaitleechers in abc.conf) to check if seeds or peers will connect and so decide if the torrent must be kept awaken after this delay because of sharing opportunities, or if it must be set back to standby status. If there are several standby torrents, they will never check for the opportunity of resuming at the same time. The cycle for each standby torrent checking (scraping then possibly connecting for 2 minutes to get number of copies and leecher progress) is terminated before the next, if any, starts. This disturbs less the torrent queue and makes a lighter load for trackers. A standby torrent can also be considered as queue, so it may still be started by the schedulers of the queue according to its priority. This is an option in Preferences/Queue. If set, this option combines the advantages of both standby and queue modes. In this special case if the torrent was running when it is switched to standby mode, its priority is lowered to avoid an immediate restart by the scheduler. Globally if you have a big torrent list, torrents that get queued and lowered in priority will probably never be started again with this lower priority and it's very important to make their timeout trigger the standby mode. For very short torrent lists, lowering priority and queueing back the torrents on timeout may be a valid option for timeout. For middle size torrent lists or to improve the probability of finishing a torrent in a short list, setting the standby mode on timeout with the extra option of being considered as queued is the best choice. The standby status can be triggered by a timeout (the action on timeout is a torrent (and a template) parameter). It can also be manually set from the right click popup menu in the torrent list. You can set in Preferences/Queue for how long a torrent may stand by without succeeding in resuming, before being queued with lower priority or stopped. The switch Preferences/Queue/"Scheduler can queue/on-hold manually started torrents" is also used to decide if a manually started torrent may be queued/on-hold when a standby torrent awakes. When a torrent wants to awake from its standby status, if no other torrent can be on-hold or queued, the torrent stays with the standy status. When a standby torrent must connect to a tracker to check # copies and peers progress, another torrent will be queued up to compensate this new starting only if the check reveals some opportunity to share and keeps the torrent connected after the 2 minutes check. So the number of running torrents may overshoot the max allowed by one during the time of checking. This will disturb the queue much less than queing back torrents during this check, and torrents that were put to standby status will most often not generate a heavy traffic. In such a case the standby torrent will also not trigger starting or stopping of other torrents in the queue and the number of running torrents displayed in the cells "R", "D", "S", "P" of the status bar overshoots by one the total of torrents taken into account by the schedulers displayed in the cell "[...]" of the status bar. For the same reasons, during the 2 mn check, the activity indicator of the torrent is not handled and shows "S" (for "Standby") in the column Activity of the torrent list. You can change the time standby torrents are connecting to a tracker to get # copies and torrent progress by changing the value of the parameter "sbwaitleechers" in abc.conf (120 s par default). 18-=== Complete and Shut down ========================================================== This function is available from the torrent list right click popup menu. It is for people who want to go to bed while their computer is completing some torrents and possibly seed for a few hours before shutting down. This is the best way to have some fresh complete torrents in the morning if you don't wish to let your computer run on its own all night long ; but don't forget to keep on seeding the next day until the torrent turns finished. See Documentation §17. The "Complete and Shut down" menu has 4 sub-menus : * Add Torrents : Adds the selected torrents to an internal list of torrents. When all torrents from this list will be completed, ABC_OKC will keep on seeding for the duration set with the sub-menu "Seeding Time" and then will shut down the computer. * Show : Selects in the torrent list all torrents of the internal list of torrents to be completed. This is a way of checking the content of this internal list. The number at the right is the number of torrents currently in the list. * Seeding Time : Sets the time you wish ABC_OKC to keep on seeding after all torrents from the internal list have run completed. When this time is over ABC_OKC will shut down the computer (with the same interface as used by the function "Settings/"When idle...", which means you have 1 mn extra delay before ABC_OKC closes and 3 mn extra delay before the computer shuts down, while you still can interrupt the process. For the seeding time you can make your choice from 0, 1, 2, 3, 4 or 5 hours. * Reset List : Resets the content of the internal list of torrents. No data for this function are kept from one session to the next, except the seeding time. 19-=== Web service extensions ========================================================== The following commands have been added to the web service specifications described in the file protocol_v3.txt : The syntax for all these commands follows the schemes described in the web service protocol version 3. Old commands keep their original syntax. New from ABC_OKC 3.0 : - STOPTRAFFIC : Stop all traffic in ABC_OKC -> STOPTRAFFIC| -> permission switch : Stop/Mode - MODEAUTO : Switch to automatic mode -> MODEAUTO| -> permission switch : Stop/Mode - MODEMANU : Switch to manual mode -> MODEMANU| -> permission switch : Stop/Mode The commands to "stop all" and "resume all" are still available for compatibility. New from ABC_OKC 3.4 : - MOVEUP : Moves up torrents in the list -> MOVEUP|list(INFO_HASH) -> permission switch : Move - MOVEDOWN : Moves down torrents in the list -> MOVEDOWN|list(INFO_HASH) -> permission switch : Move - MOVETOP : Moves torrents to top of the list -> MOVETOP|list(INFO_HASH) -> permission switch : Move - MOVEBOTTOM : Moves torrents to bottom of the list -> MOVEBOTTOM|list(INFO_HASH) -> permission switch : Move - MOVEBELOWCOMPLETED : Moves torrents in the list below already completed torrents -> MOVEBELOWCOMPLETED|list(INFO_HASH) -> permission switch : Move - SUPERSEED : Sets torrent status to superseed -> SUPERSEED|list(INFO_HASH) -> permission switch : Superseed - CHECK : Checks a torrent -> CHECK|list(INFO_HASH) -> permission switch : Resume - GETTORRENTPARAM : Returns torrent parameters -> GETTORRENTPARAM|INFO_HASH -> permission switch : Get tor. par. This returns the sequence of the 27 parameters values of the torrent : Short label, Max local download rate, Download prioritize switch, Max upload connections, Max local upload rate, Upload prioritize switch, Seeding option, Seeding time hours, Seeding time minutes, Upload ratio, Global timeout switch, Action on timeout, Timeout switch when working, Timeout switch for watching downstream when working, Timeout switch for watching tracker when working, Timeout switch when seeding, Timeout switch for watching upstream when seeding, Timeout switch for watching tracker when seeding, Timeout value for tracker, Timeout value for downstream, Timeout value for upstream, Folder to move data, Internal tracker switch, Internal tracker URL, External tracker switch, External tracker URL, Keep checking internal switch. - SETTORRENTPARAM : Changes torrent parameters -> SETTORRENTPARAM|INFO_HASH|seq(value) -> permission switch : Set tor. par. seq(value) is the sequence of the 27 parameter values for the torrent (See above). - SETTORRENTFILEPRIO : Changes priority for a file inside a torrent -> SETTORRENTFILEPRIO|INFO_HASH|FILE_NUMBER|FILE_PRIORITY -> permission switch : Set tor. par. This changes the priority to FILE_PRIORITY (-1 (for "Never download") to 2) for the FILE_NUMBERth file inside the torrent (counted from 0). - RENAME : Renames a torrent -> RENAME|INFO_HASH|NEW_TORRENT_NAME|REN_DEST_WITH_TOR -> permission switch : Set tor. par. If REN_DEST_WITH_TOR is set to 1, the download destination will be also renamed if the torrent is not running. If set to 0, the download destination is not changed. - SETDOWNDEST : Changes the download destination for a torrent -> SETDOWNDEST|INFO_HASH|NEW_DOWN_DIR_LOC|NEW_DOWN_NAME|REN_TOR_WITH_DEST|MOVE_DATA -> permission switch : Set tor. par. The download destination is made of 2 parts like in the change download destination dialog : NEW_DOWN_DIR_LOC is the new download directory location. NEW_DOWN_NAME is the new download directory or file name. (NEW_DOWN_DIR_LOC\NEW_DOWN_NAME is the complete download destination) If the torrent is running, the command fails and returns an error message. If REN_TOR_WITH_DEST is set to 1, the torrent will be also renamed. If MOVE_DATA is set to 1, the already received data will be moved to the new destination. - GETTORRENTDATA : Returns some of the informations from inside the torrent -> GETTORRENTDATA|INFO_HASH|ALL or MAIN or FILES -> permission switch : Get tor. par. This returns a seq of the torrent data attributes asked for with the parameter ALL or MAIN or FILES : * If MAIN is specified -> main torrent data : A seq of all following values : * Original torrent name * Torrent name * Torrent file name * Single file (1 if the torrent describes a file, 0 if it's a directory) * Total size * Piece size * Date * Comment * Destination * Announce URLs * Status * Progress There's a special format for Comment and Announce URLs : Comment : |:| Announce URLs : |(),(,,...),(,,...),...| * If FILES is specified -> data for files inside the torrent : A seq of all following values for each file of the torrent (empty for a torrent without directory structure) : * File name * File size * File priority * File progress * If ALL is specified -> all MAIN and FILES data - RENAMETORRENTFILE : Renames a file inside the torrent -> RENAMETORRENTFILE|INFO_HASH|list(FILE_NUMBER)|NEW_FILE_NAME -> permission switch : Set tor. par. This renames the FILE_NUMBERth file of the torrent to NEW_FILE_NAME. - RESETTORRENTFILENAME : Reset all or one file name inside the torrent -> RESETTORRENTFILENAME|INFO_HASH|ALL or list(FILE_NUMBER) -> permission switch : Set tor. par. This resets all file names if the last parameter is ALL or only the FILE_NUMBERth file name of the torrent. - COMMANDSCHEDULERON : Switches on the command scheduler -> COMMANDSCHEDULERON| -> permission switch : Scheduler - COMMANDSCHEDULEROFF : Switches off the command scheduler -> COMMANDSCHEDULEROFF| -> permission switch : Scheduler New from ABC_OKC 3.5 : - RESEEDRESUME : Reseed resumes torrents -> RESEEDRESUME|list(INFO_HASH) -> permission switch : Resume Note : Reminder of protocol v3 formatting : A list is a sequence of elements separated with a comma A seq is a sequence of elements separated with the character "|" Extension for this format : An error message concerning some of the torrents of the torrent list given in the argument of the command is returned in this way : "Feedback\nError=" where is a list of "torrent list index":"error message", for the torrents in error. 20-=== Memory usage tweaking =========================================================== The large memory usage is mainly caused by the memory fragmentation occuring with numerous memory allocations/releases. Python is not very good at dealing with this. To avoid this, a lot of buffer pools are maintained to use memory without having to allocate and de-allocate each time some buffering is needed. The memory usage can be tweaked mostly with the max number of running torrents and the read buffers memory settings in the ABC_OKC advanced settings. It also depends on the size and number of pieces of the running torrents and the number of loaded torrents. A read buffer is used to keep a piece of a file in memory while ABC_OKC is sending parts of this piece to peers that want them. So there are less read accesses to the drive containing the data. These buffers (as many other buffers in ABC_OKC) are created when needed, kept inside pools once no longer needed, and then re-used if there's a new need for it. The parameter "Read buffers max cat. size" in the Advanced Settings window is the max size for all the buffers created to read piece data from disk for each piece size category. There are commonly 3 piece size categories (1, 2 and 4 MB) which will use each at most the amount of memory set by this parameter (There may be a 8 MB category, but 8 MB pieces are rather rarely used in torrents). The "Total current" field shows the total current memory size of read buffers reserved for all piece categories. Remember that no memory freeing is achieved with read buffers to avoid memory fragmentation, so this number will never decrease. It should reach about 3 times the amount of the "Read buffers max category size" parameter if all buffers happen to be created in the 3 common piece size categories. If a piece cannot be buffered because one of the buffer categories has reached its max memory usage, the value "Total current" turns red. If you click on the red value, it will turn back to black until one of the triggering condition is met again. So you can monitor how much frequent the max is reached. You can also set the floor size for read buffers categories with the abc.conf parameter readbufferbase (in kB). Read buffers categories have always a size in bytes which is a power of 2. No read buffer category will be created with a size lower than the value of readbufferbase (in kB). This is set by default to 1024 kB (hence the piece size categories of 1, 2, 4,... MB) and saves some memory from the total memory ABC_OKC could allocate if all the possible buffer size categories existed. ABC_OKC is using very many kind of buffers, not only to send parts of file pieces. Most of the times these buffers are created once and then re-used, like the piece read buffers. The parameters for these buffers are set internally. 21-=== Keybord shortcuts to modify the torrent tracker resume mode ===================== The shortcut keys that can be used to force a resume torrent mode are Shift, Control, Shift+Control, Insert, Delete. These keys can be used combined with a click on the (fast) Resume buttons and also on the (fast) Resume entries of the torrent right click menu. You can link a function to these keys with the following parameters in abc.conf : restrackctrl restrackctrlshift restrackdel restrackins restrackshift The value of the parameter represents a tracker resume mode combining : * the tracker to be used (Internal or External) ; this tracker is kept even after the torrent stops. * the "Check internal trackers when using external tracker" mode which is set by default in Preferences/Network (mode 0 : never check ; mode 1 : always check ; mode 2 : check only for private torrents or when DHT is off) * the torrent parameter "Keep checking internal till downloading" This value can be : 0 : Tracker set for torrent with mode set in Preferences/Network 1 : Internal tracker 2 : External tracker with mode 2 3 : External tracker with mode 0 4 : External tracker with mode 1 5 : External tracker with mode set in Preferences/Network 6 : External tracker with mode 1 with "Keep checking internal till downloading" 7 : External tracker with mode 2 with "Keep checking internal till downloading" 8 : External tracker with mode 1 without "Keep checking internal till downloading" 9 : External tracker with mode 2 without "Keep checking internal till downloading" The default configuration is : restrackctrl=1 restrackctrlshift=2 restrackdel=3 restrackins=6 restrackshift=4 22-=== Shortcuts in ABC_OKC ============================================================ Sum up for various shortcuts in ABC_OKC : Global shortcuts F1 opens the "Find Torrents in List" window F2 opens the "Command Scheduler" window F3 opens the "Directory Scanner" window F4 opens the "Web Interface Service" window F5 opens the "Torrent File Maker" window In all lists (torrents, files inside the torrents, search results, commands) : Ctrl + A : selects all the items in the list Ctrl + X : inverts the selection in the list Ctrl + Z : deselects all the items in the list In the torrent list and main panel : Enter or Left click on the header of the "Progress" column : opens in Windows the file or directory downloaded with the selected torrents Left click on the header of the "Message" column : clears the messages for the selected torrents Right click on the header of the "Message" column : clears all the messages except the "Completed" and "Finished" messages Left click on the header of the "Torrent name" column : opens the rename torrent dialog for the first selected torrent Ctrl + left click on any torrent list header : sorts the column in alphanumerical order of its first item. Further click reverses the order Ctrl + Shift + left click on any torrent list header : sorts the column in alphanumerical order of its second item (if relevant). Works for instance for Seeds, Peers and Message. Left click and dragging in the list : selects contiguous dragged over torrents (This can also be linked with the right click by toggling Preferences/Interface/"Swap mouse buttons for moving and multi-selecting") Right click and dragging and dropping in the list : moves selected torrents in the list (This can also be linked with the left click by toggling Preferences/Interface/"Swap mouse buttons for moving and multi-selecting") Left click and dragging in the message column (if option set in Preferences/Interface) : rubs out the dragged over messages (This can also be linked with the right click in Preferences/Interface) Resume or Fast Resume an already running torrent : tries to get more peers for this torrent Right click + Fast Resume button : reseed resume Ctrl + (Fast) Resume button (or + (fast) resume from right click popup menu) : resumes torrent and forces internal tracker. Shift + (Fast) Resume button (or + (fast) resume from right click popup menu) : resumes torrent and forces external tracker with initial internal tracker checking Ctrl + Shift + (Fast) Resume button (or + (fast) resume from right click popup menu) : resumes torrent and forces external tracker with initial internal tracker checking except for public torrents when DHT is on Ins + (Fast) Resume button (or + (fast) resume from right click popup menu) : resumes torrent and forces external tracker with initial internal tracker checking and waiting for download Del + (Fast) Resume button (or + (fast) resume from right click popup menu) : resumes torrent and forces external tracker without initial internal tracker checking Ctrl + Manual mode : triggers manual mode and enqueues all running torrents (= "Stop all traffic" button) Ctrl + buttons for moving torrents in the list : scrolls the list while torrents are moved according to settings in Preferences/List Shift + button to "Move/Go below" completed torrents in the list : move the selected torrents below the finished torrents first, or scrolls the list first with the reversed behaviour than the one set in Preferences/List/"Scroll below completed goes below finished first" Shift + any action on "move to top bottom" : Performs the action (left or right click and possibly Ctrl) as if the "move torrent below completed" button had been pressed instead Middle click (or configurable too as double middle click) on a torrent : opens the torrent details window Double left click on a torrent : opens the torrent advanced details window Left click + right click on a torrent : opens the torrent parameters window Left click (or Ctrl) + wheel on a torrent : changes the priority for all selected torrents Shift + wheel : changes the priority of the pointed torrent Left click on the download rate cell of the status bar : opens the ABC_OKC preferences window with the limits tab selected Left click on the upload rate cell of the status bar : opens the ABC_OKC preferences window with the queue tab selected Right click on one of the 2 bottom right cells of the status bar : opens the ABC_OKC preferences window with the same selected tab as in the previous opening Right click on the buttons to move selected torrents to top, bottom or below the finished/completed top block of the list : scrolls the list to top or bottom or below top block in one shot Right click on the mode button : toggles the scheduler mode between "Only seed" but without queuing currently running (or on-hold) incomplete torrents, and previous scheduler mode Right click on the main panel bottom status message : clear the message Ctrl + B : remembers the block of currently selected torrents to move them in the list later with the shortcut Ctrl + V ; Also copies all the displayed rows content for selected torrents to the Windows clipboard Ctrl + C : selects all completed torrents in the torrent list Ctrl + D : selects all seeding torrents in the torrent list Ctrl + F : selects all finished torrents in the torrent list Ctrl + I : selects all torrents in the torrent list that have a message identical with the first one from currently selected Ctrl + O : selects all on-hold torrents in the torrent list Ctrl + P : selects all paused torrents in the torrent list Ctrl + Q : selects all queued torrents in the torrent list Ctrl + R : selects all running torrents (working, seeding, on-hold, paused) in the torrent list Ctrl + S : selects all stopped torrents in the torrent list Ctrl + U : selects all unfinished torrents in the torrent list (Torrents at 100% progress but not finished) Ctrl + V : moves the block of torrents that was previously marked with Ctrl + B to the current selected row Ctrl + W : selects all working torrents in the torrent list Ctrl + (numeric pad .) : Set the current torrent list order as the reference order Ctrl + M : copies to the clipboard the text from the message column of the torrent list for the torrents currently selected Ctrl + N : copies to the clipboard the text from the torrent name column of the torrent list for the torrents currently selected Ctrl + T : copies to the clipboard the text from the torrent file name column of the torrent list for the torrents currently selected Ctrl + (numeric pad 0-9) : scrolls the list to the position stored in the memory 0-9 Alt + (numeric pad 0-9) : stores the current scroll position in the list into memory 0-9 Ctrl + Shift + (numeric pad 0-9) : sorts the list with the order saved in memory 0-9 Alt + Shift + (numeric pad 0-9) : stores the current sorting order in the list into memory 0-9 In the box showing the number of selected torrents in the list : Left click : enters the next/previous selected torrent search mode ; roll the mouse wheel to automatically jump to the next/previous selected torrent in the list. A second click in the box gives the focus back to the torrent list without changing the selection. Right click : deselects all the torrents in the list. In the Torrent Details window : Double left click on a "Done" file : opens the file in Windows Left click (or Ctrl) + wheel on a file : changes the priority for all selected files Shift + wheel : changes the priority of the pointed file For a multi-file torrent, left click on the "Files" column header of the file list : opens the rename files dialog For a multi-file torrent, right click on any column header of the file list : toggles the display of the "Original names" column For a multi-file torrent, left click on the "Original names" column header of the file list : hides the "Original names" column For a multi-file torrent, left click on the "Name status" column header of the file list : selects all files with invalid names Left click on the coloured status box : enters the next/previous selected torrent search mode ; roll the mouse wheel to automatically jump to the next/previous selected torrent in the list. A second click in the box gives the focus back to the torrent list without changing the selection. If used without any files selected, first selects files with invalid names. Ctrl + "Advanced" button : opens the advanced details window and keeps the details window displayed In the Torrent Advanced Details window : Right click on any header of the connection list : resets the list columns widths to their default values. Ctrl + "Details" button : opens the details window and keeps the advanced details window displayed In the Torrent Details and Advanced Details windows : Left click on the torrent name (written in big font) and then wheel : browses the torrent list inside the details window In the ABC_OKC Preferences, Templates and Torrent Parameters dialogs : Mouse wheel : switches the selected tab In the Torrent Parameters dialog when several torrents have been selected : Left click again on the tab of the currently displayed panel : switches on and off in one shot all the checkboxes for multi-torrent use of the panel. In the RSS Panel : Right click on any header of the RSS article list : sorts the list by latest received articles (alternatively latest (= bold) articles at the top or at the bottom of the list). Double left click on an article in the RSS article list : search and download torrent inside the article 23-=== Installation and startup ======================================================== - If you have a previous release of ABC_OKC already installed, you don't need to uninstall it ; just install the new release over the old one. If you want to change the installation directory, install the new release in the new directory and then erase the old directory. Your previous settings and data are always kept from the previously installed release if any. To install ABC_OKC, run ABC_OKC-win32.exe. Be sure not to install ABC_OKC and ABC or LH-ABC in the same directory because they don't use the same format when saving parameters. - To start ABC_OKC run abc.exe or the shortcut ABC_OKC. - In Settings/Preferences/Network : You might want to choose the single port or the range of ports you reserve for ABC_OKC. The single port mode routes traffic for all torrents through a single port at the cost of more CPU load and some limitations for the incoming connections. In multi port mode you let the system ports route traffic for each torrent through its own port ; You must reserve at least as many ports as you want simultaneously running torrents. Then open these ports in your firewall. Your firewall must also allow connections on port 56666 which is used for communication with the running part of ABC_OKC (locally over TCP) and for DHT (over UDP). These default values can be changed with the -p command line parameter for local communication, and in Preferences/Network for DHT. If you want to use the web service you will have to open another port which can be set in Tools/"Web Service". This port is 56667 by default. - In Settings/Preferences/Misc., you might want to choose a default download folder for the data you will download and share with other peers. Set the folder and check the 2 boxes below according to your need. - In Settings/Preferences/Limits, set the minimum number of torrents you want ABC_OKC to keep simultaneously running and the rate limitation for upload (and more rarely needed for download). You may want to read §1.2 in the documentation about the dynamic upload rate limitation. - Load some torrents, be sure the automatic mode is set (button in the bottom bar showing a cog) and while sharing read the documentation some further !! If you get some Windows error message when starting ABC_OKC read the file MissingMicrosoftDLL_Readme.txt. You can give some feedback for ABC_OKC in the Sourceforge ABC forums, in the threads dealing with ABC_OKC (http://sourceforge.net/projects/pingpong-abc/forums). kratoak5 (aka OldKingCole)