yhdev/dat/ncdc.md
Yorhel de0227cdbd Add file download information window + SHA-256 + more checksums
I'm not the biggest fan of how the info window works, but it works
anyway, and it's easy to apply to *all* the download links.

Also decided to sign & checksum static binaries. Those are just as
important (if not more so) than the source tarballs.

Yes, I did verify that my copies of all the files were still in line
with the other checksums before creating the SHA256 checksums. :)

And I think I'm done fiddling with the site now; This is the last of my
planned changes. ...except that the site kinda sucks in text-mode
browsers now. Hmm. But how do I improve that?
2019-03-26 19:05:20 +01:00

93 lines
3.6 KiB
Markdown

% NCurses Direct Connect
Ncdc is a modern and lightweight direct connect client with a friendly ncurses
interface.
## Get ncdc!
Latest version
: 1.21 ([ncdc-1.21.tar.gz](/download/ncdc-1.21.tar.gz)
\- [changes](https://dev.yorhel.nl/ncdc/changes))
Convenient static binaries for Linux:
[64-bit](/download/ncdc-linux-x86_64-1.21.tar.gz) -
[32-bit](/download/ncdc-linux-i486-1.21.tar.gz) -
[ARM](/download/ncdc-linux-arm-1.21.tar.gz). Check the
[installation instructions](/ncdc/install) 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](https://g.blicky.net/ncdc.git/).
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](https://dev.yorhel.nl/ncdc/bug) - 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](https://aur.archlinux.org/packages/ncdc/) -
[Fedora](https://apps.fedoraproject.org/packages/ncdc/overview/) -
[FreeBSD](http://www.freshports.org/net-p2p/ncdc/) -
[Frugalware](http://frugalware.org/packages?srch=ncdc&op=pkg&arch=all&ver=all) -
[Gentoo](http://packages.gentoo.org/package/net-p2p/ncdc) -
[GNU Guix](https://www.gnu.org/software/guix/package-list.html) -
[Homebrew](http://braumeister.org/formula/ncdc) -
[OpenSUSE](http://packman.links2linux.org/package/ncdc) -
[Source Mage](http://download.sourcemage.org/grimoire/codex/test/ftp/ncdc/)
I have a few old packages on the [Open Build
Service](https://build.opensuse.org/package/show/home:yorhel/ncdc), but
these are unmaintained. The static binaries are preferred.
A convenient installer is available for
[Android](http://code.ivysaur.me/ncdcinstaller.html).
## 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,
- 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 :).