Inside BitComet - Issue 02.
The first month of the year has gone past - January. On my latitudes, it's Winter, but we've had no snow yet.
I hope you've had a good new year, and I wish for you 2008 will be one of the best years.
Welcome to this second issue of Inside BitComet.
Firstly, I want to thank all visitors for their inputs and questions! Keep them coming! Thank you for your interest.
This month has been a eventful month for BitComet - with a new release introduced: V.0.98 which fixed a couple of urgent bugs.
However, BitComet is not bug-free yet unfortunately.
In the BitComet Announcement about BitComet 0.98, I write: "BitComet still has two important problems - The wrong "announce wire" it sends to the tracker, where it announces itself as Browser instead of a BitTorrent client."
That triggered some questions, and I understand that. One who was a bit confused was the member umai.
I explained the issue to him, but umai wasn't the only one who wanted some info regarding this, so I decided to post the answer along Inside BitComet.
I try to explain it as untechnically as possible, so everybody can understand it:
The wrong "Announce Wire" is formally speaking not a "bug", since the BitTorrent specs. dosn't specify that a client has to report as a BitTorrent client in it's user-agent. It's a bit technically, but every network application has an "user-agent". This "user-agent" tells the server which kind of software you're using, e.g. if you're using a browser, your user-agent would be "Mozilla/4.0 (IE Compatible)" (no matter if you use Internet Explorer, Firefox or a whole different browser.) If you use a BitTorrent application, no matter which application you use, the user-agent will be: "BitTorrent 3.4.2" or "BitTorrent x.x.x" (Where "x" refers to the version number.). When a BitTorrent application sends a user-agent called: "BitTorrent....", it tells the server: -"Hello! I am a BitTorrent application, and want to be granted access to the tracker."
The server will then respond: "Hi! BitTorrent application? What kind?
And BitComet will respond: "BitComet V.x.xx" If BitComet isn't banned, the tracker will respond: "Welcome BitComet! Access granted!" But BitComet (V.0.91, 92,93,94,95,96,97,98) does something different. It tells the server (1st. announce): "Hello! I am a Browser, and want to be granted access to the tracker"
The server will then respond, if it has an anti-cheat module installed: "Browser?! You're a ratio-cheater! Access denied connection closed!" . What is the reason to why BitComet is announcing with a different user-agent?
Well, it's an excellent way to "cheat" your ISP to believe you aren't using a BitTorrent application - but a browser.
That way, your ISP wont suspect you're using a P2P application, just a HTTP/FTP download manager - and it wont block the client, and in some instances your ISP wont throttle your bandwidth. Therefore, this is a good feature - but it causes problems on the private trackers, as explained above.
Now, I reported this directly to the developers (Translated my bug report to Chinese) before the release of V. 0.96, since nothing seemed to happen with my English report (The English administrator (TheUnusualSuspect) did forward my report, but still nothing happened). They fixed this problem by making a "Hybrid Announce".
So the conversation would look like this:
"Hello! I am a Browser, and want to be granted access to the tracker" The server will then respond, if it has an anti-cheat module installed: "Browser?! You're a ratio-cheater! Access denied connection closed!" 10 sec. later, BitComet will say: "Woops! Did I say a browser? I meant a BitTorrent client." And the tracker will respond: "Sounds better. Access granted!"
But the server has still reported BitComet as a ratio cheater on its first announce, and this might do, so the tracker "thinks" you're a ratio cheater. This only complies with trackers which have an anti-cheating module installed (many trackers which have banned BitComet do have an anti-cheating module installed). With any other tracker, it dosn't matter that much.
That is why BitComet is conflicting with many private torrent sites because of the rather unusual announcing - the developers say that they might do so it's selectable how BitComet should announce in a later version. That's perfect.
Inside BitComet - Rumors And Newly discovered corebugs:
BitComet has some minor problems with it's "STOPPED"-message to the tracker. (Reported by funchords on BitComet official English forums) The Tech Staff and the developers are solving the issues. Shortly explained, BitComet fails to send a "stop-message" if a running task is deleted, thus BitComet fails to inform the tracker about down/upload statistics and won’t count the downloaded and uploaded bytes since the last time BitComet announced. The second issue is that BitComet fails to send a "Stopped"-message on all active torrents, if BitComet is shut down using the "Exit" option or "X". (It'll send a "stopped"-message on 5 out of 6 active tasks. However, on the sixth task, it fails to inform the tracker about the task is stopped.)
However, that is far from the biggest topic on the BitTorrent scene regarding BitComet. If you've looked at the article about BitComet on Wikipedia, you've probably noticed a new "topic": "Hash Reporting". This "Hash Reporting" issue is being discussed and much wrong information is given on Wikipedia. I've corrected a few things there, and I'll keep an eye on the article.
BitComet has a feature that sends informations about running tasks to a BitComet server - it's for building a huge database of mirrors and for improving BitComet. BitComet has also two different features, which are using the hash-table from the running tasks: The "Comments" feature and the "Screenshots" feature. In the settings, you can disable the statistical reporting - but even though you disable that statistical reporting, BitComet will still send hash-tables to the server. That is not something "dangerous" in any matter and it's for improving BitComet only. Still this concerns many users.
On the forums for the client µTorrent, this is being discussed.
I decided to test if that was true - and yes, the "accusation" was true. I sent the data to funchords and he formulated a report while TheUnusualSuspect (The respected administrator that has contact to the Chinese developers) informed the developers. A response from the developers was; "The only info that is collected is relating to torrent comments, but since there could be misunderstanding regarding this, future versions won't make any outbound connections if the option to submit statistical data is not checked." That is suberb. Let us hope it gets fixed in V. 0.99, so we can close this case.
The BitComet development group makes a new initiative: Apphit
It's a download site, and this site will be introduced in BitComet V. 0.99. It will (if you enable the option) automatically keep all your applications up-to-date. An interesting new feature.
Inside BitComet - The Client.
All right - BitComet has just recently released a new BETA version of the client. BitComet: V. 0.99 BETA. This BETA version might fix the problem regarding the hash reporting! My testing shows that this BETA version has solved this issue, but it has to be confirmed by funchords on the forums. (Keep an eye here.)
The Apphit feature is introduced in this BETA version bytheway!
Inside BitComet - Tweaks!
Easy ways to improve the download and/or the stability of BitComet.
1. (Thanks go to funchords for this tweak!): The eMule plug-in loads a bad server list. If you update its server list manually, you'll get improved download speeds and a bigger database of files! How to do it is simple:
Go to the folder where BitComet is installed and go to plugin_emule\config\
Find the file called: preferences.ini and open it in "Notepad".
Click on the thumpnail to enlarge the picture.
change:
[eMule]
Serverlist=0
to
[eMule]
Serverlist=1
Create a new file called: addresses.dat (using Notepad) in the same folder (\config\) as preferences.ini is present.
Insert these URLs in "addresses.dat" using notepad:
http://peerates.net/servers.php
http://www.gruk.org/server.met
http://www.emule-inside.net/server.met
http://www.emule.it/guida_emule/files/emule.it_server.met.gz
http://www.emule-security.net/serverlist/server.met
http://home.arcor.de/ge-emule-mods/server.met
http://www.server-met.de/dl.php?load=gz
and save the file.
Now BitComet will load the the current server lists.
(If you have problems with this tweak, then just ask for help.)
I think that's it for this issue of Inside BitComet. I hope you found it useful.
I'll of course keep you updated regarding BitComet news and updates!
Also remember that you can always ask a question, if you have one on mind.
Oh, and of course: Happy Chinese New Year.
- KJ, XSTREM. Unoffical BitComet ambassador, Bugreporter and user.
(spell-checked February 3rd.)