=pod

Ncdc is a modern and lightweight direct connect client with a friendly
ncurses interface.


=head2 Get ncdc!

=over

=item Latest version

1.16.1 ([dllink ncdc-1.16.1.tar.gz download]
- L<changes|http://dev.yorhel.nl/ncdc/changes>
- L<mirror|https://sourceforge.net/projects/ncdc/files/ncdc/>)

Convenient static binaries for Linux:
L<64-bit|http://dev.yorhel.nl/download/ncdc-linux-x86_64-1.16.1.tar.gz> -
L<32-bit|http://dev.yorhel.nl/download/ncdc-linux-i486-1.16.1.tar.gz> -
L<ARM|http://dev.yorhel.nl/download/ncdc-linux-arm-1.16.1.tar.gz>.
Check the L<installation instructions|http://dev.yorhel.nl/ncdc/install> for
more info.

=item Development version

The latest development version is available from git and can be cloned using
C<git clone git://g.blicky.net/ncdc.git>. The repository is available for
L<online browsing|http://g.blicky.net/ncdc.git/> and mirrored on
L<github|https://github.com/yorhel/ncdc>.

You are also invited to join the development hub at C<adc://dc.blicky.net:2780/>.

=item Requirements

The following libraries are required: ncurses, zlib, bzip2, sqlite3, glib2 and
gnutls.

Ncdc is entirely written in C and available under a liberal MIT license.

=item Packages and ports

Are available for the following systems:
L<Arch Linux|http://aur.archlinux.org/packages.php?ID=50949> -
L<FreeBSD|http://www.freshports.org/net-p2p/ncdc/> -
L<Frugalware|http://frugalware.org/packages/136807> -
L<Gentoo|http://packages.gentoo.org/package/net-p2p/ncdc> -
L<Homebrew|http://braumeister.org/formula/ncdc> -
L<MacPorts|http://www.macports.org/ports.php?by=name&substr=ncdc> -
L<OpenSUSE|http://packman.links2linux.org/package/ncdc>

I also have a few packages on the L<Open Build
Service|https://build.opensuse.org/package/show?package=ncdc&project=home%3Ayorhel>.

=back

=cut

[html]<iframe src="http://software.opensuse.org/download/package.iframe?project=home:yorhel&package=ncdc" style="width: 560px; height: 200px; border: 1px dashed #aaa"></iframe>É

=head2 Features

Common features all modern DC clients (should) have:

=over

=item * Connecting to multiple hubs at the same time,

=item * Support for both ADC and NMDC protocols,

=item * Chatting and private messaging,

=item * Browsing the user list of a connected hub,

=item * Share management and file uploading,

=item * Connections and download queue management,

=item * File list browsing,

=item * TTH-checked file downloading,

=item * Searching for files,

=item * Secure hub (adcs:// and nmdcs://) and client connections on both protocols,

=item * Bandwidth throttling,

=item * IPv6 support.

=back

And special features not commonly found in other clients:

=over

=item * Different connection settings for each hub,

=item * Encrypted UDP messages (ADC SUDP),

=item * Subdirectory refreshing,

=item * Nick notification and highlighting in chat windows,

=item * Trust on First Use for TLS-enabled hubs,

=item * A single listen port for both TLS and TCP connections,

=item * Efficient file uploads using sendfile(),

=item * Large file lists are opened in a background thread,

=item * Doesn't trash your OS file cache (with the flush_file_cache option enabled),

=item * (Relatively...) low memory usage.

=back


=head2 What doesn't ncdc do?

Since the above list is getting larger and larger every time, it may be more
interesting to list a few features that are (relatively) common in other DC
clients, but which ncdc doesn't do. Yet.

=over

=item * Segmented/parallel downloading,

=item * NAT Traversal,

=item * OP features (e.g. client detection, file list scanning and other useful stuff for OPs),

=item * SOCKS support.

=back

Of course, there are many more features that could be implemented or improved.
These will all be addressed in later versions (hopefully :).
