README file for KLibido - the KDE Linux Binaries Downloader 

Version 0.2.0 - 16/Nov/2004

* What it is:
KLibido is a KDE program to download encoded articles from the usenet news
service, using the nntp protocol. It supports multiple servers, multiple
download threads per server, automatic joining and decoding of articles.

* What it's not:
KLibido is not a NewsReader. It doesn't let you easily display the articles -
only their subject, and it discards all non-binary posts. If you want a nice
newsreader for KDE, try KNode.

* What works:
 - Getting the group list and subscribe to newsgroups
 - Getting headers, sorting, filtering by subject, state and "completeness" 
 - downloading and decoding of binary posts (including yEnc).
 - Queue management: it's possible to drag and drop items around in the download
   queue to change the order of download, pause the queue, pause and cancel the
   items in the queue.
 - Server priorities and balancing
 - Requeueing: if an article fails on a server, it is automatically tried on
   the other servers.
 - Viewing nfo's, covers, et al inside the program using kparts.
 - Group categories and aliases

* What doesn't work:
 - Not many options
 - No documentation :)
 - There are probably a lot of bugs. Having said that, it quite works, and I've
   used it to download tens of gigabytes.

 
* How does it do it:
 - KLibido uses kde and the kde libraries for the interface, Berkeley DB for
   storing the newsgroups' headers, and UUDeview for decoding the posts.
 
Requirements:
 - Kde/Qt 3.2 or greater
 - Berkeley Db 4.x (http://www.sleepycat.com/products/db.shtml) with C++
   support. If you compile it from source, remember to  pass the "--enable-cxx"
   option to configure.
 - UUdeview library version 0.5.20 (http://www.fpx.de/fp/Software/UUDeview/). 
   If you're a Gentoo user, emerge dev-libs/uulib. 

* How to compile:

- Current release is 0.2.0, that you can grab from sourceforge (go to
http://www.sf.net/projects/klibido). The source compiles as usual:

./configure --prefix=<your favorite prefix>
make
make install

PLEASE NOTE: Lots of problems/crashes have been reported when using 
optimizations. Please be conservative.

If you want to grab the source from CVS, go to
http://sourceforge.net/cvs/?group_id=114928 and follow the instructions. 

PLEASE NOTE: I try to commit only working code, but the CVS can be very
unstable at times. Always read the Changelog before compiling/using.

* Binary Packages:

The following binary packages are available:

- Fedora Core 2: to use them, you may need to install the uudeview .rpm, 
  that can be found on Dag's repository: http://dag.wieers.com/apt. 
  To compile the .src.rpm, you need also uudeview-devel, available from
  the same site. There are maintened by me.
- Debian: thanks to Gonéri Le Bouder, there is a debian/ dir in the source,
  and Debian packages are usually available shortly after the source 
  release 
- Suse 9.1/9.2: please look at
  http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=/Network/klibido


* Getting started:

 Type "klibido" to start the program. Sorry, no fancy wizards at the moment. To
get it working:
  - Configure the directories (a default is provided)
  - Add your servers (Server->new server)
  - Get the group list (Server->get list of groups)
  - Subscribe to some groups (newsgroup->subscribe to newsgroup)
  - NewsGroup->update subscribed groups
  - Enjoy :)
   
* The story behind it:
 
The main goals I had in mind while writing it were:
 - Keeping memory usage as low as possible. Update/load/browse large groups
   (groups with over one million of articles) without using 1 Gb of RAM and
   swapping for days.
 - Multiple server support
 - Multiple download threads support
 - Fine-grained manipulation of the download queue.

I hope to have succeeded.

* Who am I:
 - Does anyone care? :-]

* Credits
 - KNode and Pan developers for letting me steal their icons :)
 - Sleepycat for the great Berkeley Db
 - Frank Pilhofer for the UUDeview Library.  
 - The KDevelop team for the great IDE they've made.
 - The KDE developers for the great GUI. 


* Related software you will find on the 'net:
 - nget - http://nget.sourceforge.net/ - The *best* command-line nntp grabber.
 - BNR - http://www.bnr2.org/ - Multi-platform nntp grabber, available for Linux
   and Windows.
 - Pan - http://pan.rebelbase.com/ - Great newsreader with binary skills :).
   
 (C) 2004 Alessandro "Bauno" Bonometti, <bauno_at_inwind.it>
