Note, this document is a text transcription of the web page at
http://www.rahul.net/dholmes/ctorrent/ctcs.html. It will be much
easier to read the sample display tables there than below.
______________________________________________________________________
CTorrent Control Server
CTorrent Control Server (CTCS) is an interface for monitoring and
managing [1]Enhanced CTorrent clients. It can manage allocation of
bandwidth, provide status information, and allow changes to the
running configuration of each client. Communication with CTorrent is
via a TCP connection, and the user interface is a web browser.
The current version is implemented in [2]Perl since that was used to
develop the original prototype. It may be reimplemented in C at some
later date, but the perl version is fully functional.
Contents
* [3]Download
* [4]Usage
* [5]All Torrents screen
* [6]Torrent Details screen
* [7]Advanced Limits screen
* [8]Protocol
_________________________________________________________________
Download
[9]ctcs-1.4.tar.gz: CTCS version 1.4. List of changes:
* Protocol 3 support
+ Auto-configuration of client configuration options
+ File download priority
+ Updated block start messages for consistency
* New client configuration options as provided by client version 3.1
and later.
* Each file's download priority is shown in the list and can be set
as an alternative method to changning the "-n" option value.
[10]ctcs-1.3.tar.gz: CTCS version 1.3. List of changes:
* Protocol 2 support
+ Cache size configuration option
+ Removal of option to exit when peers=0
+ Total seeders & leechers in the swarm, and connecting peers,
are shown.
+ File availability is shown.
* Bandwidth management changes
+ Works correctly with Enhanced CTorrent dnh3
+ Adjusted the threshold for increasing a limit
+ Wait a few minutes after a client becomes seed to reduce the
download limit. This allows duplicate slices still "in
flight" to be received and thus cleared from the connection.
+ The average bandwidth available per client is now regarded as
an implied minimum. A client limit will generally not be
reduced below this value, though unused bandwidth will be
allocated to other clients. This avoids a slow and difficult
ramp-up period when an idle client suddenly acquires an
active peer.
* Cosmetic updates
+ Configuration values are highlighted at certain times for
visibility or attention.
+ Zero peer rates and transfer amounts are not shown, for
clarity.
+ Peer completeness is shaded red by value (0%=red,
100%=white).
+ Uninterested states are indicated in gray.
+ Peer IP address is centered in the cell.
+ Peer transfer rates and totals are shaded purple by scale
(B/K/M).
[11]ctcs-1.2.tar.gz: CTCS version 1.2. List of changes:
* Version number is now displayed at bottom of main page.
* Added a few client ID strings.
* The maximum limit "boost" value is now based on the global limit
and number of torrents. Previously it was always 1K; now it will
be less if bandwidth is constrained.
* Improved handling of minimum limits. Now a torrent's limit will
never be reduced below its minimum, but unused bandwidth will
still be borrowed for other torrents. This is more stable with the
new seeding algorithm.
* Eliminated the checkboxes to change current limits on the Advanced
Limits screen. Each limit is changed only if a new value is
entered for it.
* Added an option to limit a torrent's max upload rate based on
share ratio. (See the Advanced Limits screen.)
* In the Advanced Limits screen, options related to downloading are
now disabled for torrents that are seeding.
* Message indication: An exclamation point (!) is shown next to the
torrent title if messages are present. The torrent title is
highlighted based on message severity.
* Messages that include a severity (added in dnh2.2) will be
highlighted in red (sev 1) or yellow (sev 2). Sev 3 and
no-severity (pre-dnh2.2) messages are not highlighted.
* Enabled a Torrent Details page for terminated torrents.
* Avoid crashing if a user stops/reloads too quickly. Resolved with
a SIGPIPE handler, which may not work on all platforms. If you
know how to handle this situation on your platform, please let me
know. I found that checking the return code from print/printf was
not particularly reliable.
* If the hostname is unresolvable, the program will now fall back to
"localhost" or 127.0.0.1. Previously this could result in an
error.
* Cleaned up HTML print statements (code formatting).
[12]ctcs-1.1.tar.gz: CTCS version 1.1. List of changes:
* Use "\r\n" as newline.
* Added a few client ID strings.
* Fixed data sending (user interaction) on Linux.
* Fixed error when all upload or download limits are zero.
[13]ctcs-1.0a.tar.gz: CTCS version 1.0a
[14]ctcs-1.0a.diff: Patch file for 1.0
There was a minor bug in the original release that prevented the
Messages feature from working (messages were discarded). If you
previously downloaded version 1.0, please apply this small patch to
enable the feature.
_________________________________________________________________
Usage
ctcs [-d <dlimit>] [-u <ulimit>] [-i <interval>] [-p <port>] [-P]
-d dlimit
Overall download bandwidth limit, in KB/s (default 100).
-u ulimit
Overall upload bandwidth limit, in KB/s (default 25). Use a
value that is less than the maximum capacity of your network
line.
-i interval
Bandwidth management change interval, in seconds (default 5).
The recommended minimum value is 3. Higher values will reduce
oscillation of individual torrent limits, but a value that is
too high will cause very slow reactions to changes in bandwidth
usage.
-p port
The TCP port on which to listen for connections (default 2780).
-P
Prompt for an authorization password.
If your system does not have perl available at /usr/bin/perl, you will
need to change the path in the first line of the file.
To connect Enhanced CTorrent (release dnh2 or later) clients to CTCS,
use the "-S" command-line option, e.g. "-S localhost:2780". To use a
web browser to view or change status, enter the same host and port as
the location, e.g. "http://localhost:2780/".
Security
Though there is a basic option, security is very minimal. Running CTCS
on a computer or network with untrusted users is not recommended. It
should go without saying that the CTCS listening port should not be
made openly accessible from the public Internet (but there, it's said
anyway).
The "-P" option will cause CTCS to prompt for a password when
starting. This password will be used to authenticate CTorrent clients.
It is intended that the same password will be used to authenticate web
browser connections also, but this has not yet been implemented. Using
a colon at the end of the -S parameter to CTorrent (as in "-S
localhost:2780:") will cause the client to prompt for a password to
send to CTCS when connecting.
_________________________________________________________________
All Torrents screen
This is the main CTCS display, which shows overall bandwidth status
and provides a summary of each torrent.
Bandwidth Management
The top portion of the display provides