ncdc 1.15 released

This commit is contained in:
Yorhel 2013-03-02 14:49:06 +01:00
parent 94ae88d4b9
commit c99ea0d9fc
10 changed files with 83 additions and 74 deletions

View file

@ -45,7 +45,7 @@ On Debian and Ubuntu, that boils down to the following:
And for Arch Linux:
pacman -S base-devel perl-net-dbus
pacman -S base-devel git perl-net-dbus
I've only tested things on Linux (glibc and L<musl|http://www.musl-libc.org>),
but I intent to support more kinda-sane POSIX systems in the future as well.

View file

@ -10,21 +10,17 @@ ncurses interface.
=item Latest version
1.14 ([dllink ncdc-1.14.tar.gz download]
1.15 ([dllink ncdc-1.15.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.14.tar.gz> -
L<32-bit|http://dev.yorhel.nl/download/ncdc-linux-i486-1.14.tar.gz> -
L<ARM|http://dev.yorhel.nl/download/ncdc-linux-arm-1.14.tar.gz>.
L<64-bit|http://dev.yorhel.nl/download/ncdc-linux-x86_64-1.15.tar.gz> -
L<32-bit|http://dev.yorhel.nl/download/ncdc-linux-i486-1.15.tar.gz> -
L<ARM|http://dev.yorhel.nl/download/ncdc-linux-arm-1.15.tar.gz>.
Check the L<installation instructions|http://dev.yorhel.nl/ncdc/install> for
more info.
B<Note:> Compilation against glib versions older than 2.26.0 is broken in the
1.14 release. Use the binaries above, compile the git version, or apply L<this
patch|http://g.blicky.net/ncdc.git/commit?id=e6e0bc4> if you are affected.
=item Development version
The latest development version is available from git and can be cloned using
@ -86,7 +82,9 @@ Common features all modern DC clients (should) have:
=item * Secure hub (adcs:// and nmdcs://) and client connections on both protocols,
=item * Bandwidth throttling.
=item * Bandwidth throttling,
=item * IPv6 support.
=back
@ -127,8 +125,6 @@ clients, but which ncdc doesn't do. Yet.
=item * Segmented/parallel downloading,
=item * IPv6,
=item * NAT Traversal,
=item * OP features (e.g. client detection, file list scanning and other useful stuff for OPs),

View file

@ -1,3 +1,24 @@
1.15 - 2013-03-02
- IPv6 support
- Significantly shorten certificate creation time with old GnuTLS versions
- Always enable tls_policy and sudp_policy by default
- Link against libgcrypt if detected GnuTLS is older than 3.0
- Add color_tab_active setting
- Remove active_tls_port setting
- Allow '-', '.' and '_' characters in hub names
- Allow spaces before a command
- Add Alt+backspace as alias for Ctrl+w
- Add throttle for 'CGET tthl' requests
- Don't throw away PMs from unknown users
- Recognize mode field in $MyINFO without tag
- Fix possible crash with C-C TLS and old GnuTLS versions
- Fix old references to the removed ncdc-db-upgrade utility
- Fix loading of file lists from Shareaza 2.6.0.0 and earlier
- Fix handling of tab and carriage return in log window
- Fix changing of download_dir/incoming_dir if either dir has been deleted
- Fix compilation against glib < 2.26
- Fix unclean C-C TLS disconnect on timeout
1.14 - 2012-11-04
- Added BLOM support for ADC ('/hset adc_blom true' to enable it)
- Added section on connection settings to man page

View file

@ -79,43 +79,20 @@ press and release the 'Esc' key as a replacement for Alt-something. If you're
on OS X, L<this stackoverflow answer|http://stackoverflow.com/a/438892>
may be helpful.
=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, older versions of GnuTLS may use
C</dev/random> to obtain random bytes. Unfortunately, this can be horribly
slow, and in extreme cases it may take several hours 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 try transferring some large data
over the network.
B<Cheat:> If you have root access, you can probably trick GnuTLS by temporarily
replacing C</dev/random> with something else. For example, run C<mv /dev/random
/dev/random.old && ln /dev/urandom /dev/random> as root, then start ncdc as you
normally would, let it generate the certificates, and then restore your
modifications with C<mv /dev/random.old /dev/random>.
If you're on Linux with ncdc 1.14 or older and a GnuTLS older than 3.0, then
creating the certificates required access to C</dev/random> to obtain random
data. This could take a while to complete, especially on headless servers and
low-end devices. Updating to ncdc 1.15 should fix this.
=head2 Ncdc crashes a lot!
Since version 1.13, the following crash is still possible:
=over
=item * You're using an old GnuTLS version (< 3.0, you can check this with
C<ncdc --version>), and you have tls_policy enabled. To fix this, upgrade
GnuTLS or use C</set tls_policy disabled>. (Bug
L<#11|http://dev.yorhel.nl/ncdc/bug/11>).
=back
If you're running an older version of ncdc, please upgrade! If your ncdc is up
to date and you still have a crash not described here, please report a bug.
Ncdc 1.15 has no known bugs that may cause a crash. If you're running an older
version of ncdc, please upgrade. If your ncdc is up to date and you still have
a crash, please report a bug.
=head2 Ncdc uses too much disk space!

View file

@ -38,11 +38,11 @@ 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.14.tar.gz>
=item * L<Linux, 64-bit|http://dev.yorhel.nl/download/ncdc-linux-x86_64-1.15.tar.gz>
=item * L<Linux, 32-bit|http://dev.yorhel.nl/download/ncdc-linux-i486-1.14.tar.gz>
=item * L<Linux, 32-bit|http://dev.yorhel.nl/download/ncdc-linux-i486-1.15.tar.gz>
=item * L<Linux, ARM|http://dev.yorhel.nl/download/ncdc-linux-arm-1.14.tar.gz>
=item * L<Linux, ARM|http://dev.yorhel.nl/download/ncdc-linux-arm-1.15.tar.gz>
=back
@ -119,9 +119,9 @@ First install some required packages (as root):
Then, fetch the ncdc source tarball, extract and build as follows:
wget http://dev.yorhel.nl/download/ncdc-1.14.tar.gz
tar -xf ncdc-1.14.tar.gz
cd ncdc-1.14
wget http://dev.yorhel.nl/download/ncdc-1.15.tar.gz
tar -xf ncdc-1.15.tar.gz
cd ncdc-1.15
export PATH="$PATH:/usr/perl5/5.10.0/bin"
./configure --prefix=/usr LDFLAGS='-L/usr/gnu/lib -R/usr/gnu/lib'
make
@ -169,9 +169,9 @@ required libraries:
Then run the following commands to download and install ncdc:
wget http://dev.yorhel.nl/download/ncdc-1.14.tar.gz
tar -xf ncdc-1.14.tar.gz
cd ncdc-1.14
wget http://dev.yorhel.nl/download/ncdc-1.15.tar.gz
tar -xf ncdc-1.15.tar.gz
cd ncdc-1.15
./configure --prefix=/usr
make
sudo make install
@ -213,8 +213,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.14.tar.gz
tar -xf ncdc-1.14.tar.gz
cd ncdc-1.14
wget http://dev.yorhel.nl/download/ncdc-1.15.tar.gz
tar -xf ncdc-1.15.tar.gz
cd ncdc-1.15
./configure --prefix=/usr
make install

View file

@ -113,13 +113,11 @@ automatically, but in the event that this fails, you can also set it yourself:
/set active_ip 13.33.33.7
If you are behind a NAT or firewall, you have to ensure that the port you
configured is somehow allowed and/or forwarded. You have a lot of freedom in
configuring ports within ncdc: The C<active_udp_port> setting is used for
incoming UDP messages, the C<active_tls_port> setting is used for incoming
encrypted TCP connections, and the C<active_port> setting is used as a default
for the other two and for all incoming and unencrypted connections. Unlike
other currently available Direct Connect clients, ncdc allows the TLS and TCP
port to be the same, which tends to ease NAT configuration.
configured is somehow allowed and/or forwarded. The C<active_port> setting is
used for incoming TCP connections and UDP messages. You can configure a
different UDP port with the C<active_udp_port> setting. Contrary to many toher
Direct Connect clients, ncdc only uses a single port for incoming TCP and TLS
connections; There is no separate port for TLS.
The C</listen> command can tell you which ports it expects to be forwarded, and
for which hubs these ports will be used. It only lists hubs on which you are
@ -374,15 +372,13 @@ Enables or disables active mode. You may have to configure your router and/or fi
=item B<active_ip> <string>
Your public IP address for use in active mode. If this is not set, ncdc will try to automatically get your IP address from the hub. If you do set this manually, it is important that other clients can reach you using this IP address. If you connect to a hub on the internet, this should be your internet (WAN) IP. Likewise, if you connect to a hub on your LAN, this should be your LAN IP.
Your public IP address for use in active mode. If this is not set or set to '0.0.0.0' for IPv4 or '::' for IPv6, then ncdc will try to automatically get your IP address from the hub. If you do set this manually, it is important that other clients can reach you using this IP address. If you connect to a hub on the internet, this should be your internet (WAN) IP. Likewise, if you connect to a hub on your LAN, this should be your LAN IP.
Both an IPv4 and an IPv6 address are set by providing two IP addresses separated with a comma. When unset, '0.0.0.0,::' is assumed. Only the IP version used to connect to the hub is used. That is, if you connect to an IPv6 hub, then the configured IPv6 address is used and the IPv4 address is ignored.
=item B<active_port> <integer>
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. 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.
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 port, see the `active_tls_port' settings to change that. If you are behind a router or firewall, make sure that you have configured it to forward and allow these ports.
=item B<active_udp_port> <integer>
@ -423,6 +419,7 @@ The settings starting with the `color_' prefix allow you to change the interface
log_join - color of join messages
log_quit - color of quit messages
separator - the list separator/footer bar
tab_active - the active tab in the tab list
tabprio_low - low priority tab notification color
tabprio_med - medium priority tab notification color
tabprio_high - high priority tab notification color
@ -502,7 +499,9 @@ The directory where incomplete downloads are stored. This setting can only be ch
=item B<local_address> <string>
Specifies the address of the local network interface to use for connecting to the outside and for accepting incoming connections in active mode. When unset, ncdc will use the default gateway interface to connect to the outside world, and will bind to all interfaces (address 0.0.0.0) for incoming connections in active mode.
Specifies the address of the local network interface to use for connecting to the outside and for accepting incoming connections in active mode. Both an IPv4 and an IPv6 address are set by providing two IP addresses separated with a comma. When unset, '0.0.0.0,::' is assumed.
If no IPv4 address is specified, '0.0.0.0' is added automatically. Similarly, if no IPv6 address is specified, '::' is added automatically. The address that is actually used depends on the IP version actually used. That is, if you're on an IPv6 hub, then ncdc will listen on the specified IPv6 address. Note that, even if the hub you're on is on IPv6, ncdc may still try to connect to another client over IPv4, at which point the socket will be bound to the configured IPv4 address.
=item B<log_debug> <boolean>
@ -818,7 +817,7 @@ directory at the same time.
=head1 LICENSE
Copyright (C) 2011-2012 Yoran Heling <projects@yorhel.nl>
Copyright (C) 2011-2013 Yoran Heling <projects@yorhel.nl>
ncdc is distributed under the MIT license, please read the COPYING file for
more information.
@ -833,7 +832,3 @@ development hub at adc://dc.blicky.net:2780/.
ncdc is written by Yoran Heling <projects@yorhel.nl>
Web: L<http://dev.yorhel.nl/ncdc>
=head1 SEE ALSO
L<ncdc-db-upgrade(1)>.