yhdev/dat/ncdc.md
2021-11-09 09:14:25 +01:00

3.8 KiB

% NCurses Direct Connect

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

Get ncdc!

Latest version
1.22.1 (ncdc-1.22.1.tar.gz - changes)

Convenient static binaries for Linux: x86-64 - i486 - ARM - AArch64. Check the installation instructions for more info.

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.
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.

Community
  • Bug tracker - For bugs reports, feature requests and patches.
  • adcs://dc.blicky.net:2780/ - For real-time chat.
Packages and ports
Are available for the following systems: Arch Linux - Debian - Fedora - FreeBSD - Frugalware - GNU Guix - Gentoo - Homebrew - OpenSUSE - Source Mage - Ubuntu - Void Linux.

A convenient installer is available for Android as well.

Features

Common features all non-ancient 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,
  • TTH-checked, multi-source and segmented file downloading,
  • Searching for files,
  • Secure hub (adcs:// and nmdcs://) and client connections on both protocols,
  • Bandwidth throttling,
  • IPv6 support.

And special features not commonly found in other clients:

  • Different connection settings for each hub,
  • Encrypted UDP messages (ADC SUDP),
  • Subdirectory refreshing,
  • Nick notification and highlighting in chat windows,
  • Trust on First Use for TLS-enabled hubs,
  • A single listen port for both TLS and TCP connections,
  • 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.

  • NAT Traversal,
  • 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 :).