Also this started as a IRC framework a few years ago, I decided to move to a topic more to my liking: Bittorrent
The (basic) protocol is simple enough and is already supported by my "framework". The actual API is still in constant flux.
After some threading woes I'm now using an event system. It's working quite well now, the SampleClient class (non-interactive) downloaded (and uploaded) content successfully.
One of the major performance challenges is the search for pieces to request. I think even that is working quite well - missing mostly the order, the pieces should be downloaded.
Next step will be a basic command line based client, then improvements:
- A scoring system
- Better uploader
- Better download strategy
- Extensions (DHT and the like)
CVS and the downloadable client are obsolete.
SVN contains a large part of the new framework, which doesn't use pircbot anymore.
All parsing is done by my code and all network traffic is handled by Apache's Mina.
Development of the client will be started once I'm happy with the overall framework.
I added all java files. There are 3 directories, but they have dependencies so you might want to copy them alltogether for a quick compile. You will also currently need PircBot ( http://www.jibble.org/ ) in your classpath for it to run. I'm using a JGoodies L&F so if you don't have their "looks" in your classpath you will get an exception (which is just a printer StackTrace, the program will run anyway).
* Multiserver support
* sending and receiving DCC filetransfers
* Autojoin channels
* DCCQueuer (XDCC bot helper)
* Logger (logs all conversation, cannot be deactivated while running)
It will create a folder "yaircc" in your home directory and it will place a "yaircc.xml" config file in there.