# Torrent clients for KDE?

## taipan67

I have a small collection of questions on this matter, & will insert them into the background information as i go along, so please persevere with the initial stuff...  :Wink: 

I've just spent four days downloading a 1.4Gb torrent that supposedly had 700 seeders & 1500 downloaders associated with it. During the download, i never saw the number of seeders or downloaders online hit double-figures, the share-ratio ended up being over 3:1 in favour of the upload-capacity, & while the download-speed peaked at 25kbps, it rarely exceeded 5 to 10 kbps. As my bandwidth is 2Mbps down, 256kbps up, this was somewhat disappointing.  :Evil or Very Mad: 

I experimented with 3 different clients during this period:- azureus-bin-2.3.0.4, qtorrent-0.9.6.1, & ktorrent-1.0...

The only one which seems to include a feature to prioritise individual files within the torrent is azureus-bin, but having that running made all remaining internet-access virtually unusable (konqueror web-browser kept timing-out)...

...Installing ktorrent immediately restricted my choice of client, as it became the only one offered by the 'Open with...' dialog-box. While version 1.1 looks like it will be much more informative than the current version, it still doesn't have the aforementioned priority-option that i came to know & love when i ran bittornado on top of Gnome.

...So i ended up unmerging ktorrent, so that i could use qtorrent, even though this still didn't offer any prioritising.

My questions are therefore :-

1. Did i mis-configure azureus-bin, resulting in it's monopoly of my internet-connection (i left it as default)?

2. Did i overlook an option to prioritise files in either of the other two clients, particularly qtorrent, as it has a version of bittornado incorporated into it?

3. Is there a configuration-setting that might improve download times, compared to the defaults that i used?

As things stand, i'm inclined to stick with qtorrent (at least until the new version of ktorrent becomes an official release), but i'd consider alternatives. It would be preferable to use the QT widget-set, otherwise i'd probably already have installed bittornado, if only for that prioritising thingy...   :Rolling Eyes: 

All assistance in this matter will be greatly appreciated...   :Cool: 

----------

## slam_head

Azureus is probably the best of the clients, because it includes a distributed tracker, so if the tracker goes down you can still get the torrent.  As for performace, it usually helps if you set up your router/firewall to do port forwarding of the BitTorrent ports to your gentoo box.

----------

## taipan67

 *slam_head wrote:*   

> Azureus is probably the best of the clients, because it includes a distributed tracker, so if the tracker goes down you can still get the torrent.  As for performace, it usually helps if you set up your router/firewall to do port forwarding of the BitTorrent ports to your gentoo box.

 

I didn't understand the full benefit of azureus-bin's tracker - thanks for that...  :Wink: 

Because i hadn't used any of these clients before, i disabled my firewall so as to rule it out of any problems i might encounter - any idea why azureus-bin might've upset my internet-connection so badly? They all do, to a certain degree, but at least with qtorrent i could still get a connection that was only slightly limited...

----------

## Letharion

Perhaps this is so obvious you missed it, or so obvious you neglected to mention it, but my azuerues has bandwidth controllers bottom right in the program. I can put them on unlimited, which makes everything else useless, but I can also keep it down enough for me to host a warcraft game and my brother to surf or play wow at the same time.

I'm not sure if I use azureus-bin or azureus..., not at the gentoobox right now.

Haven't tried any of the other clients.

I hope that's helpful to you  :Smile: 

----------

## taipan67

 *Letharion wrote:*   

> Perhaps this is so obvious you missed it, or so obvious you neglected to mention it, but my azuerues has bandwidth controllers bottom right in the program. I can put them on unlimited, which makes everything else useless, but I can also keep it down enough for me to host a warcraft game and my brother to surf or play wow at the same time...

 

It's a suggestion i might try out, so thanks for the reminder.   :Wink: 

I've always previously left the upload-throttling 'unlimited', because i wasn't sure if restricting it would have an adverse knock-on effect on my download-rate (which couldn't get much lower at the moment  :Evil or Very Mad:  ). I'll have to experiment to find out, but as qtorrent was also run with unlimited uploads, yet didn't have the same impact on the rest of my access, i'm still concerned that azureus-bin might be inherently more resource-hungry than it's equivalents...   :Confused: 

Of the three clients i tried, my ideal (mostly because of relative overheads) would be 'ktorrent-1.1-with-file-prioritising', followed by 'qtorrent-with-file-prioritising', followed by 'azureus-(binary or source, but as recent as possible)-with-less-slowdown'; Has anybody used the rc-release of ktorrent-1.1, & can provide an opinion of it.   :Question: 

----------

## taipan67

A test of azureus-bin's default listening-port informs me that i have a 'NAT error', which may account for the slow downloads of all the clients tried (it's paused right now, coz it's still crippling my overall connection)...

...So if slam_head's still following the thread, & because i don't understand anywhere near enough about networking, could i please ask for some guidance on what it is, or how to accomodate it? I'm not entirely sure what further setup-spec's you'd require, so rather than guessing, if you ask, it shall be provided...   :Confused: 

----------

## EliasP

To have a usable connection during the usage of Azureus, setup a Traffic-Shaper on your firewall or use userspace programs like trickle.

Greetings

Elias P.

----------

## Letharion

First, uploading unlimited will make a major difference to downloading.

If you use all your bandwidth to send the actual files, then there will be no bandwidth left for your program, doesn't matter which it is, to send requests for new data and thus there will be nothing for you to download.

I'm not into what makes up tcp and bittorrent protocols, but since it's obvious what piece of a file to send next in a regular http-transfer, I guess it doesn't require much uploading to keep it working. Bittorrent however, since it splits the files up in a completly different way during transfer, a lot of requests must be made. No upload will also affect your download negativly, but to high is even worse.

Second, the NAT error, is probably because there is a firewall being a pain to the program  :Wink: 

You need to open/forward a port to your computer, and you'll have to check the settings of your program to see which.

Standard ports are 6881-6999, but you need only one port for each download you are making. That's however with standard protocol. Azureus requires only only port. The other clients I can't speak for.

It is very good to resolve the NAT error, because it will not only give YOU better down rates, but as a matter of fact, you will help the entire swarm to perform better. Which is good  :Smile: 

[EDIT]

I almost forgot  :Wink:  Try setting upload to around 80% of max, that should work alot better. Use some kind of bandwidth meter and experiment a little.

Azureus has one built in (Press CTRL+5) . Again, I don't know about the other programs  :Smile: 

----------

## bigfunkymo

Azureus has options where you can set the maximum upload and download rates and a particularly useful option for setting the ToS field in the IP headers for QoS shaping.  Once I got my traffic shaping script just the way I liked it, I can set azureus to upload as fast as possible and none of my games or web browsing or even speed tests are adversely affected.

----------

## taipan67

Thanks for all the tips so far, guys! I'll be looking into them later today, when a torrent i have downloading right now is complete...

...Said torrent was started in azureus-bin before i went to bed last night; When i woke up, it had downloaded 5Mb...

...So i paused it, closed azureus-bin, & re-opened it in qtorrent; It's downloaded 70Mb in the last couple of hours, at a still-low-but-constant 15 to 20k...   :Rolling Eyes: 

...Which reminds me; Does anyone know definitively whether these throttling-options work in kilobits or kilobytes per second? I'm trying the latter theory right now, which means that i divided my bandwidth by 8...  :Confused: 

I've also found some websites that explain port-forwarding, & also a couple of NAT-testing sites (i'll post the links later). One of the NAT-tests required a currently-open torrent's 'hash-code', which i only had listed in azureus, so i started it with no torrents running, & it immediately fucked everything else up - qtorrent, web-browser, even kmail!   :Evil or Very Mad: 

...I've since rectified whatever the hell it screwed up, & as i said, am about 8 hours away from being ready to close a healthy qtorrent-run. At that point, i'll be looking into my router/firewall configuration (with new-found knowledge), & definitely this traffic-shaping business.   :Wink: 

Thanks again for the responses, & please keep 'em comin'!   :Razz: 

----------

## Letharion

Seems your azurues doesn't like you  :Razz: 

Actually I've had similiar problems, not as extremely low download rates as you've had, but much lower than I would expect, I'll try the other clients next time I feel somethings strange  :Smile: 

No, I don't now definitively but I'm very certain it's bytes. I believe so simply because my connection is 0.5Mbit, ~ 64Kbytes, and I max out just below 64. It's not exactly proof, but makes sense  :Smile: 

This trafficshaping sounds quite interesting, I think I'll look into it aswell  :Smile: 

I suppose it's a bit off-topic, but since we're not gonna go into a deep discussion about it, I found this.  :Smile: 

http://www.knowplace.org/shaper/

Or just this  :Razz: 

https://forums.gentoo.org/viewtopic-t-225863-highlight-traffic+shape.htmlLast edited by Letharion on Fri Sep 09, 2005 5:33 pm; edited 1 time in total

----------

## taipan67

This is just a progress-report, coz i'm too pleased with what's currently going on to wait until i've tried a few more things...   :Laughing: 

I've re-configured my router along the lines of the various guides at http://www.portforward.com/, & as i write this, the torrent that downloaded 5Mb in azureus over the course of last night is now at 400Mb in qtorrent, & hasn't dipped below 45 to 50k download-speed since i made the adjustment...   :Shocked: 

Once it's complete, i'll see what azureus can do under these conditions (& play with traffic-shaping, of course - thanks for the link, Letharion)...   :Wink: 

----------

## bigfunkymo

Azureus measures speed in bytes per second instead of bits.

and about the speed,

 *Quote:*   

> still-low-but-constant 15 to 20k

 

thats the part that makes it fast and reliable... its very steady most of the time!  Overall, i find torrents very fast.

----------

## taipan67

bigfunkymo, thanks for the clarification.  :Wink: 

Azureus is still fubar'd, & i'm wondering if it might be a java-thing...

So although this is slightly off-topic, can i ask you folks with a satisfactory installation whether you have both a virtual/jre & a virtual/jdk installed?   :Question: 

My reason for this question is that i do have both installed ('sun' version 1.4.2.08-r1), because they were pulled in separately as dependencies of other packages, but as the jdk-package also provides a virtual/jre, i'm not certain which jre is actually being used, or whether they're having a little pissing-contest for the right to reign...   :Shocked: 

...What i'm thinking of trying is re-defining my virtual/jre in /etc/portage/profile/virtuals, so that only the jdk-package ever gets emerged, but i'm not certain if that would cause more problems than it solves - any idea's...   :Confused: 

----------

## Cabbage

When I read your first post i suspected a NAT/firewall problem

It was confirmed with subsequent posts.

 *Quote:*   

> A test of azureus-bin's default listening-port informs me that i have a 'NAT error', which may account for the slow downloads of all the clients

 

To get any Bittorrent client working at full speed you must fix this problem.

We need more information about your internet connection.

I suspect your problems will be in your router set up (port forwarding) and the assignment of the gentoo TCP/IP address. For testing purposes all firewalls need to turned off. Once you fix your "NAT error" you can then work on setting up a firewall for the bittorrent client. 

Are you using DHCP?

Does you gentoo machine have a fixed IP address?

To get portforwarding to work you will need your gentoo machine to have a fixed IP address.

----------

## taipan67

 *Cabbage wrote:*   

> When I read your first post i suspected a NAT/firewall problem...

 

Yeah, so i've been discovering...  :Laughing: 

 *Quote:*   

> I suspect your problems will be in your router set up (port forwarding) and the assignment of the gentoo TCP/IP address. For testing purposes all firewalls need to turned off. Once you fix your "NAT error" you can then work on setting up a firewall for the bittorrent client. 
> 
> Are you using DHCP?
> 
> Does you gentoo machine have a fixed IP address?
> ...

 

The port-forwarding seems to be solved. At least qtorrent thinks so - azureus is still playing up. Once i managed to get admin-privileges on my ISP-supplied router, the port-forwarding was relatively straight-forward, thanks to the website i linked to previously. Although the router's default behaviour is to act as a DHCP-server, i've only got the one box connected to it, so the internal IP-address never changes - i've successfully configured Gentoo to work with it in either way.

I've just gotten most of the essential KDE-packages emerged on a freshly-built parallel-system to this one, & i've configured it to use 'sun-jdk' as both virtual-java packages - i've also unmasked version-1.5.0.04, so once a couple of higher priorities have been emerged, i'll give azureus-bin another chance on that setup, & report back with my findings...

...In the meantime, if anything i've just written sounds suicidally bad, or if anyone has any further suggestions/opinions/preferences, please continue to post 'em.   :Wink: 

Oh & one other thing; I cobbled together an ebuild for 'ktorrent-1.1_rc1', which emerged successfully. It's very pretty, but failed to open a single torrent-file ('dlopen error' or some such), so it got unmerged again because it seemed to upset qtorrent's ability in a similar way...   :Confused: 

----------

## Cabbage

Sounds like your on the right track now.

Unmask azureus-bin-2.3.0.4 and tell us your results.

Azureus isn't the fasted kid on the block (processor wise, download/upload speed not effected) but it has all the bells and whistles.

I've used other bittorent clients but i keep going back to azureus.

Make sure you get your firewall up with the correct ports open.

----------

