ncdc 1.11 released + install instructions for OS X and OpenIndiana

This commit is contained in:
Yorhel 2012-05-15 14:50:41 +02:00
parent d1f18971cb
commit e82b277935
9 changed files with 120 additions and 24 deletions

View file

@ -10,7 +10,7 @@ ncurses interface.
=item Latest version
1.10 ([dllink ncdc-1.10.tar.gz download]
1.11 ([dllink ncdc-1.11.tar.gz download]
- L<changes|http://dev.yorhel.nl/ncdc/changes>
- L<mirror|https://sourceforge.net/projects/ncdc/files/ncdc/>)
@ -28,8 +28,8 @@ You are also invited to join the development hub at C<adc://dc.blicky.net:2780/>
=item Requirements
The following libraries are required: ncurses, bzip2, sqlite3, glib2, gnutls
and libxml2.
The following libraries are required: ncurses, bzip2, sqlite3, glib2 and
gnutls.
Ncdc is entirely written in C and available under a liberal MIT license.
@ -40,6 +40,7 @@ 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<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
@ -85,13 +86,17 @@ And special features not commonly found in other clients:
=over
=item * Different connection settings for each hub.
=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 * Detecting changes to the TLS certificate of a hub,
=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(),
@ -114,9 +119,9 @@ clients, but which ncdc doesn't do. Yet.
=item * Segmented downloading,
=item * IPv6
=item * IPv6,
=item * NAT Traversal
=item * NAT Traversal,
=item * OP features (e.g. client detection, file list scanning and other useful stuff for OPs),

View file

@ -1,3 +1,15 @@
1.11 - 2012-05-15
- Drop libxml2 in favour of custom XML parser & writer
- Allow using a single listen port for TCP and TLS
- Added support for encrypted UDP messages (ADC SUDP)
- Included 'makeheaders' in the distribution
- Removed GNU-specific extensions from the Makefile
- Fix /disconnect to cancel automatic reconnect
- Fix loading of file lists with invalid UTF-8 sequences
- Fix ncurses detection on OpenIndiana
- Fix use of TLS in passive mode on ADC
- Fix configure warning when git could not be found
1.10 - 2012-05-03
- Rewrote network backend to use plain sockets instead of GIO
- Added GnuTLS as required dependency

View file

@ -30,7 +30,7 @@ full article, and I don't feel like writing that much at this point. >_>
=head2 What protocol features does ncdc support?
For ADC: BASE, RF, TIGR, BZIP, ADCS and KEYP.
For ADC: BASE, RF, TIGR, BZIP, ADCS, KEYP and SUDP.
For NMDC: NoGetINFO, NoHello, UserIP2, MiniSlots, XmlBZList, ADCGet, TTHL and TTHF.
@ -45,6 +45,33 @@ up-to-date client that still uses any of these features.
=head1 Troubleshooting
=head2 This "Generating certificates..." is taking ages!
When starting up ncdc for the first time, it will need to generate a TLS
certificate. If you're on Linux, GnuTLS will use C</dev/random> to obtain
random bytes. Unfortunately, this can be horribly slow, and in extreme cases it
may take up to an hour before the certificate has been generated. GnuTLS does
not provide a way to use a faster but less secure alternative, so here are some
tips to speed it up or cheat a little.
B<Speed it up:> If you're on a desktop, the general advise is to do something
else on the background so that Linux can generate more data. For example, move
your mouse around a bit, go do some web surfing or play a game. Any activity
might help. If you're on a server, you could start transferring some large
data over the network.
B<Cheat:> There is also another way to "generate" randomness without waiting
for too long: You can feed some bytes from C</dev/urandom> back to the system
by running the following command as root: C<dd if=/dev/urandom of=/dev/random
bs=512 count=1>. You might have to run that command multiple times to complete
the certificate generation, but certainly no more than about 5 times or so.
Note that this solution weakens the security of the certificate by a bit. For
ncdc that doesn't matter at all, but if you have other applications reading
from C</dev/random>, then the security of those applications is also affected.
Unless you happen to be running something that absolutely requires ulta-secure
random numbers, this trick should be perfectly fine.
=head2 Ncdc crashes a lot!
Since version 1.10, it shouldn't crash at all. Please report a bug. (If you're

View file

@ -7,7 +7,7 @@ In theory, the following instructions should work everywhere:
=over
=item * Install the required dependencies: ncurses, bzip2, sqlite3, libxml2, glib2 and gnutls,
=item * Install the required dependencies: ncurses, bzip2, sqlite3, glib2 and gnutls,
=item * Download and extract the source tarball from the L<homepage|http://dev.yorhel.nl/ncdc>,
@ -38,9 +38,9 @@ compiling and/or installing it, I also offer statically linked binaries:
=over
=item * L<Linux, 64-bit|http://dev.yorhel.nl/download/ncdc-linux-x86_64-1.10.tar.gz>
=item * L<Linux, 64-bit|http://dev.yorhel.nl/download/ncdc-linux-x86_64-1.11.tar.gz>
=item * L<Linux, 32-bit|http://dev.yorhel.nl/download/ncdc-linux-i386-1.10.tar.gz>
=item * L<Linux, 32-bit|http://dev.yorhel.nl/download/ncdc-linux-i386-1.11.tar.gz>
=back
@ -91,8 +91,42 @@ Ncdc is available in the Portage tree, so installation is trivial:
=head2 Mac OS X
Ncdc does work on Mac OS X, but installation is currently a pain. Get back to
this page in a fews days while I'm working on a solution.
Ncdc works on Snow Leopard (10.6) and any later version. If you still run
Leopard (10.5) or earlier, you're out of luck. I can probably apply some fixes
if you nag me hard enough, but I don't really have a system to test it on so
you're going to have to help me out. :-)
Anyway, assuming you run a recent enough OS X, the easiest way to install ncdc
is to make use of the port at
L<MacPorts|http://www.macports.org/ports.php?by=name&substr=ncdc>. If you
haven't done so yet, follow the L<instructions on installing
MacPorts|http://www.macports.org/install.php>, then open a terminal and run the
following magical command:
sudo port install ncdc
=head2 OpenIndiana
This has been tested on OpenIndiana Build 151a Server, but may work on other
versions as well. Compiling from source is your only option at the moment.
First install some required packages (as root):
pkg install gcc-3 glib2 gnutls gettext header-math perl-510/extra
Then, fetch the ncdc source tarball, extract and build as follows:
wget http://dev.yorhel.nl/download/ncdc-1.11.tar.gz
tar -xf ncdc-1.11.tar.gz
cd ncdc-1.11
export PATH="$PATH:/usr/perl5/5.10.0/bin"
./configure --prefix=/usr LDFLAGS='-L/usr/gnu/lib -R/usr/gnu/lib'
make
And finally, to actually install ncdc, run C<make install> as root. You can
safely revert C<$PATH> back to its previous value if you wish, it was only
necessary in order for C<./configure> and C<make> to find C<pod2man>.
@ -129,13 +163,13 @@ you can also try to compile ncdc from source. To do so, first install the
required libraries:
sudo apt-get install libbz2-dev libsqlite3-dev libncurses5-dev\
libncursesw5-dev libxml2-dev libglib2.0-dev libgnutls-dev
libncursesw5-dev libglib2.0-dev libgnutls-dev
Then run the following commands to download and install ncdc:
wget http://dev.yorhel.nl/download/ncdc-1.10.tar.gz
tar -xf ncdc-1.10.tar.gz
cd ncdc-1.10
wget http://dev.yorhel.nl/download/ncdc-1.11.tar.gz
tar -xf ncdc-1.11.tar.gz
cd ncdc-1.11
./configure --prefix=/usr
make
sudo make install
@ -164,8 +198,6 @@ website|http://cygwin.com/> and use it to install the following packages:
=item * libbz2-devel
=item * libxml2-devel
=item * libglib2.0-devel
=item * libsqlite3-devel
@ -177,8 +209,8 @@ website|http://cygwin.com/> and use it to install the following packages:
Then open a Cygwin terminal and run the following commands to download,
compile, and install ncdc:
wget http://dev.yorhel.nl/download/ncdc-1.10.tar.gz
tar -xf ncdc-1.10.tar.gz
cd ncdc-1.10
wget http://dev.yorhel.nl/download/ncdc-1.11.tar.gz
tar -xf ncdc-1.11.tar.gz
cd ncdc-1.11
./configure --prefix=/usr
make install

View file

@ -325,11 +325,11 @@ Your public IP address for use in active mode. If this is not set, ncdc will try
=item B<active_port> <integer>
The listen port for incoming connections in active mode. Set to `0' to automatically assign a random port. If TLS support is enabled, another TCP port will be opened on the configured port + 1. See the `active_tls_port' setting to change this. This setting is by default also used for the UDP port, see the `active_udp_port' setting for that. If you are behind a router or firewall, make sure that you have configured it to forward and allow these ports.
The listen port for incoming connections in active mode. Set to `0' to automatically assign a random port. This setting is by default also used for the UDP and TLS ports, see the `active_udp_port' and `active_tls_port' settings to change those. If you are behind a router or firewall, make sure that you have configured it to forward and allow these ports.
=item B<active_tls_port> <integer>
The listen port for incoming TLS connections in active mode. Defaults to the `active_port' setting plus one, or to a random number of `active_port' is not set. This setting has no effect when the `tls_policy' setting has been disabled.
The listen port for incoming TLS connections in active mode. Incoming TLS connections by default use the same port as non-TLS connections, but when traffic shaping is in effect it may be beneficial to separate these ports. This setting has no effect when the `tls_policy' setting has been disabled.
=item B<active_udp_port> <integer>

View file

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iQIcBAABCgAGBQJPsj32AAoJEGI5TGmMJzn6/SQQANL4tlpzpQAef55/8w6/evKJ
qtfscdTpuIZlzg38GYuoYiQqtilYrIX0AaEBaMAEugVBazlFrtvpcyaTE4eZaYYn
c1/t5w48V6Vl0DSAUMLrMVl0cC/dp7vdg9rmdWvs5vhqc94wdvHZszLjGXPyU7fj
noKK3+zHp3IfbonDj8Fj6m/moqKeEDjbUC4ebWSto4rf3yGfU7hSFhHw0Dum7i6N
QNt1953O0qwA7a0xRXWc0y+luAqOMZQ/rZNIzpxFCdlg8y5jZKDdUcloVoensu2c
/3d3PSnVV9ettIG2iqysBogThQWNi+s2foyQoaIiv3Bi2r1MZomKlI1hnPy7yiEn
313VErhTO7eGwnE125ZVa7mh0LMiS9iQ9q+6bNwoHr/tusvQAVtQJ21MvT8uraFV
JHRntWL3IalVHgBykS8L7xDoqq85yS6SVZ0+tuBABfVUwBuRXkni+YPl9GFqREm7
wxICtyhgdbCAJx/xyvoXBhuejzLwqO57WkQJywWjETfMpg8KG4xPV/HVNQx1vARs
IZBqyR3L3RvvVFJn7uTFJ0vQCjyJ0/Ykzyte17H8sXJboGlChmfSPWPcYF1cNtMz
2fqt2vseLh901C5rNrXJjh3IqDqwzMh75QYIUHtKzlasTUpZOi9z+uXnXQ+9mXc+
Q/BuqcBd6vHdC3GznErK
=9YFi
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
bcfa3b0e4997ed5f433a5dd26f9a9c7f ncdc-1.11.tar.gz

View file

@ -0,0 +1 @@
b38881c795456696bb71de5a9a494f3e50275f58 ncdc-1.11.tar.gz

View file

@ -12,6 +12,7 @@ BEGIN { ($ROOT = abs_path $0) =~ s{index\.cgi$}{}; }
my @changes = (
[ '2012-05-15', '/ncdc', 'ncdc 1.11 released.' ],
[ '2012-05-03', '/ncdc/install', 'Added installation instructions for ncdc.' ],
[ '2012-05-03', '/ncdc', 'ncdc 1.10 released.' ],
[ '2012-04-10', undef, 'Minor site re-style: ncdu/ncdc/tuwf now have their own menu.' ],