I am testing tfb4rt for a couple of time now and there are still some problems:
1.) Transmission has a major bug in it
if you got over 10 torrents started any new ones abort due to not finding a new port.
MY SOLUTION:
This can usually be fixed by increasing the port range available in the admin settings of TFB and also changing the permissions of the 'netstat' binary:
Code: Select all
[root@amahi ~]# ls -l /bin/netstat
-rwxr-xr-x 1 root root 127200 6. Okt 2010 /bin/netstat
[root@amahi ~]#
[root@amahi ~]# chmod ug+s /bin/netstat
[root@amahi ~]#
[root@amahi ~]# ls -l /bin/netstat
-rwsr-sr-x 1 root root 127200 6. Okt 2010 /bin/netstat
At next its necassary to disable the 'bulk start' options in TFB because it seems to start the clients too quickly which means that the port-checking routines fail as the previous port may not yet have been opened and so appears to be free (and therefore gets used). Just as example:
Code: Select all
[2011/11/08 - 00:07:31] Initialized command-facility. (/var/hda/files/downloads/.transfers/file.name.torrent.cmd)
[2011/11/08 - 00:07:31] Wrote pid-file: /var/hda/files/downloads/.transfers/file.name.torrent.pid (5705)
Port Forwarding (UPnP): Found Internet Gateway Device "http://172.31.2.1:1780/control?WANIPConnection"
Port Forwarding (UPnP): Local Address is "172.31.2.5"
Port Forwarding (UPnP): Port forwarding through "http://172.31.2.1:1780/control?WANIPConnection", service "urn:schemas-upnp-org:service:WANIPConnection:1". (local address: 172.31.2.5:49122)
Port Forwarding (UPnP): Port forwarding successful!
Port Forwarding: State changed from "Not forwarded" to "Forwarded"
Couldn't bind port 49122 on ::: Address already in use
Port Forwarding: Couldn't open port 49122 on :: to listen for incoming peer connections (errno 98 - Address already in use)
Couldn't bind port 49122 on 0.0.0.0: Address already in use
Port Forwarding: Couldn't open port 49122 on 0.0.0.0 to listen for incoming peer connections (errno 98 - Address already in use)
Even though transmission "knows" that a port is already in use, it is forced to use it. I've fixed this issue by altering 'function netstatPortList()' in '/var/hda/web-apps/b4rt/html/inc/functions/functions.core.netstat.php' like this (adding the 'sleep(3)' line) -
Code: Select all
[root@amahi ~]# vim /var/hda/web-apps/b4rt/html/inc/functions/functions.core.netstat.php
case 1: // linux
// not time-critical (only used on allServices-page), use the
// generic and correct way :
// array with all clients
$clients = array('tornado', 'transmission', 'wget', 'nzbperl', 'azureus');
// get informations
foreach($clients as $client) {
$ch = ClientHandler::getInstance($client);
sleep(3);
$retStr .= shell_exec($cfg['bin_netstat']." -e -p --tcp --numeric-hosts --numeric-ports 2> /dev/null | ".$cfg['bin_grep']." -v root | ".$cfg['bin_grep']." -v 127.0.0.1 | ".$cfg['bin_grep']." ". $ch->binSocket ." | ".$cfg['bin_awk']." '{print \$5}'");
}
break;
But be aware that this will obviously cause long delays when starting lots of torrents at once!!!!!
2) Streaming - as I wrote some weeks ago - doesn't work. But I've found a patch which solves this problem! Get the patch from my Dropbox-folder and copy&overwrite it in the b4rt-doc-root.
3) transmissioncli doesnt fill up the statistics correctly... it seems like none of my (transmission-)torrents keep track of their transfer stats, but the transfer-speed (up- and download) is correct. See "stats.png"
4.) get the fixed transmissioncli 1.50 for AMD64 and i386 from my dropbox-folder. Build on:
Code: Select all
uname -a
Linux localhost.localdomain 2.6.35.14-103.fc14.i686.PAE #1 SMP Thu Oct 27 15:58:03 UTC 2011 i686 i686 i386 GNU/Linux
- and -
Code: Select all
uname -a
Linux localhost.localdomain 2.6.35.14-103.fc14.x86_64 #1 SMP Thu Oct 27 15:41:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux