NCurses Direct Connect
Ncdc is a modern and lightweight direct connect client with a friendly ncurses interface.
Get ncdc!
- Latest version
- Development version
-
The latest development version is available from git and can be cloned using
git clone git://g.blicky.net/ncdc.git. The repository is available for online browsing.You are also invited to join the development hub at
adc://dc.blicky.net:2780/. - Requirements
-
The following libraries are required: ncurses, bzip2, sqlite3, glib2 and libxml2. For TLS support, you will need at least glib2 version 2.28.0 and glib-networking installed.
Ncdc is entirely written in C and available under a liberal MIT license.
- Packages and ports
-
Are available for the following systems: Arch Linux - FreeBSD - Frugalware - Gentoo - OpenSUSE
The Open Build Service has some as well:
Features
Common features all modern DC clients (should) have:
- Connecting to multiple hubs at the same time,
- Support for both ADC and NMDC protocols,
- Chatting and private messaging,
- Browsing the user list of a connected hub,
- Share management and file uploading,
- Connections and download queue management,
- File list browsing,
- Multi-source and TTH-checked file downloading,
- Searching for files,
- Secure hub (adcs:// and nmdcs://) and client connections on both protocols,
- Bandwidth throttling.
And special features not commonly found in other clients:
- Subdirectory refreshing,
- Nick notification and highlighting in chat windows,
- Detecting changes to the TLS certificate of a hub,
- Efficient file uploads using sendfile(),
- Large file lists are opened in a background thread,
- Doesn't trash your OS file cache (with the flush_file_cache option enabled),
- (Relatively...) low memory usage.
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.
- Segmented downloading,
- OP features (e.g. client detection, file list scanning and other useful stuff for OPs),
- SOCKS support.
Of course, there are many more features that could be implemented or improved. These will all be addressed in later versions (hopefully :).