I tried to compile the client part of GSTorrent with MinGW for Windows. Apart from the Qt libs for Windows, it needs openssl. The compilation succeeded without any problems. And the client runs fine under Windows XP. I never tried to compile the server part. There should be no problems, but it makes more sense to run it on a *nix flavour anyways.
Of course, I would not upload a worse server, but what is the important difference? GSTorrent is based on the torrent example in the Trolltech Qt code. As an example this code is great, but as an actual usable bittorrent client it is lacking. Though it implements most of the official protocol, there are a few enhancements, which may not be in the official specs, but are absolutely necessary. One of those enhancements is the multitracker capability. The official specs allow one tracker per torrent file. The multitracker enhancement allows to add a list of different trackers for backup or load balancing purposes. How important this feature is can be seen, when someone downloads a torrent file and GSTorrent version < 14 remains in 'searching' forever. The torrent is broken? The tracker is down? So why is everybody on the community boards is so happy about fast downloads? Has GSTorrent been banned? Blocks the provider the connection? No, the explanation is much easier. The primary tracker was offline, perhaps permanently, and everybody was using a backup tracker. With version 14 GSTorrent has this ability, too. In a way it can be said, that GSTorrent 'grew up' since it now possesses at least the absolute minimum of features a usable bittorrent client must have.
I just uploaded a new server version (0012). And I have hidden all earlier versions. Why? *sic* They did not report their upload/download to the tracker. Under certain circumstances this could be used to leech. So if one wants to risk a quick ban from ones favorite private tracker, use server < v0012. Else please upgrade.
Short documentation added to web page. Not the necessary client/server authorisation, but a viable workaround until I can implement something better.
Ok, not such a big surprise here, using Qt almost guarantees it. However, believing and knowing are still two different things. I successfully compiled and installed the client and the server on a PowerPC MacMini. At least this shows that there are no endian problems in my code.
So, The first version is feature complete. The server is working and the client usable. Now it is time to cleanup and to remove as many bugs as possible. I changed the state of GSTorrent and GSTorrentClient to 'alpha'. This means for now no new features.
Ok, there are still important features missing. I personally need the option to select single files from a multi file torrent. And of course the secure client/server connection is missing. ... read more
No, it really isn't finishd, yet. However, it has reached a certain stability. The worst bug, which was a real show stopper: (http://sourceforge.net/tracker/index.php?func=detail&aid=1771933&group_id=202213&atid=980682) is definitely fixed. The other bugs are only mildly annoying. Much more annoying is the lack of a at least half-decent client. My experimental hack does not really invite to use it. So my next time will be spend to improve the client.
The bittorrent protocol is not particularly difficult to implement, but still it goes much faster with a good base to 'jump start' ones own project compared with a start from scratch.
Trolltech provides in their Qt source examples a fully working bittorrent client. And even better, they license it under the GPL 2.0. Thank you Trolltech!
GSTorrent forks their torrent handling code and just removes their GUI and replaces it with code to accept external connections from GUI clients.
Yes. Maybe the 1001st, but I don't care. The few I know do not have a key feature I like and love: The separation of the actual client and it GUI. Azureus is great, but what if I want to run my client on a router without X? Bittornado is fine, I am currently using it, but either I have to use the ncurses interface or I have to use X forwarding. Ok, but not perfect. Especially if I want to control my download over a slow line.... read more