diff --git a/dat/ncdc b/dat/ncdc index 51efdcd..9286b25 100644 --- a/dat/ncdc +++ b/dat/ncdc @@ -10,10 +10,13 @@ ncurses interface. =item Latest version -1.9 ([dllink ncdc-1.9.tar.gz download] +1.10 ([dllink ncdc-1.10.tar.gz download] - L - L) +Statically linked binaries for Linux are also available with the +L. + =item Development version The latest development version is available from git and can be cloned using @@ -25,9 +28,8 @@ You are also invited to join the development hub at C =item 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. +The following libraries are required: ncurses, bzip2, sqlite3, glib2, gnutls +and libxml2. Ncdc is entirely written in C and available under a liberal MIT license. @@ -40,14 +42,14 @@ L - L - L -The L -has some as well: - -[html]É +I also have a few packages on the L. =back +=cut + +[html]É =head2 Features diff --git a/dat/ncdc-changelog b/dat/ncdc-changelog index 7e1eaf8..deadcc5 100644 --- a/dat/ncdc-changelog +++ b/dat/ncdc-changelog @@ -1,3 +1,24 @@ +1.10 - 2012-05-03 + - Rewrote network backend to use plain sockets instead of GIO + - Added GnuTLS as required dependency + - Removed GIO and glib-networking dependencies + - Removed 'ncdc-gen-cert' utility - ncdc can now generate certs by itself + - Enable client-to-client TLS by default + - Added 'tls_priority' setting + - Added 'reconnect_timeout' setting + - Don't quit ncdc on Ctrl+C + - Display age of file list in the title bar + - Don't build the 'ncdc-db-upgrade' tool by default + - Switched to a single top-level Makefile + - Fix '/browse user -f' ('-f' argument after username) + - Fix hub login when it checks for public hubs = 0 + - Fix overflow of long tab titles + - Fix loading of microdc2-generated file lists + - Fix loading of file lists with an invalid character + - Fix occasional crash when TLS is enabled + - Fix transfer rate indication and limiting with TLS connections + - Fix small memory leak when 'upload_rate' is set + 1.9 - 2012-03-14 - Allow all 'active_' settings to be changed on a per-hub basis - Allow 'active_ip' to be unset and automatically get IP from hub diff --git a/dat/ncdc-faq b/dat/ncdc-faq index 88cd026..5e432c8 100644 --- a/dat/ncdc-faq +++ b/dat/ncdc-faq @@ -45,31 +45,10 @@ up-to-date client that still uses any of these features. =head1 Troubleshooting -=head2 How do I install ncdc on Ubuntu? - -Try the package from the L -and follow those instructions. - -Alternatively, you can also build directly from the source. To do so, run the -following command: - - sudo apt-get install libbz2-dev libsqlite3-dev\ - libncursesw5-dev libxml2-dev libglib2.0-dev - -And then follow the instructions in the README. - - =head2 Ncdc crashes a lot! -Make sure client-to-client TLS is disabled: - - /set tls_policy disabled - -If that doesn't fix it, please report a bug. You may also wish to debug the -problem a bit further yourself, in which case the L will have some valuable -information. +Since version 1.10, it shouldn't crash at all. Please report a bug. (If you're +running an older version, please upgrade!) =head2 Ncdc uses too much disk space! @@ -96,15 +75,6 @@ L, which is run as a monthly cron job. -=head2 I'm getting the error "No PEM-encoded private key found" on startup - -(This issue should be fixed since 1.6) Most likely this is caused by a -L. To -get around it, install the "certtool" utility that comes with gnutls (package -"gnutls-bin" on Ubuntu), delete the old certificates (C), -and then start ncdc again. - - =head1 Can ncdc... @@ -125,26 +95,6 @@ L, L or L. -=head2 Does ncdc support TLS? - -Yes! To make use of this, however, you need to have a relatively new version of -glib2. If you're still working with an outdated system, an alternative is to -use L to connect to TLS-enabled hubs. This -trick does not allow encrypted client-to-client connections, so your file -transfers will remain unencrypted. - -The following example stunnel configuration is what I used to connect to -the DC Development hub before ncdc had native TLS support: - - [dcdev] - client = yes - accept = 127.0.0.1:16591 - connect = hub.dcbase.org:16591 - -The URL C can then be used to connect to the hub from -within ncdc. - - =head2 Does ncdc support UPnP? Not natively. However, it is possible to use L, + +=item * C<./configure> + +=item * C + +=item * And then run C with superuser permissions. + +=back + +In practice, however, this does not always work and may not always be the +prefered method of installation. On this page I try to collect instructions for +each OS and distribution to make the installation process a bit easier for +everyone. + +If your system is missing from this page or if you're still having trouble, +don't hesitate to join the support hub at C or send me a +mail at L. Contributions to this +page are of course highly welcomed as well. :-) + + + +=head2 Statically linked binaries + +If you just want to get ncdc running without going through the trouble of +compiling and/or installing it, I also offer statically linked binaries: + +=over + +=item * L + +=item * L + +=back + +To use them, simply download and extract the tarball, and then run C<./ncdc> on +the command line. + +The binaries include all the required dependencies and are linked against +L, so they should run on any Linux machine +with the right architecture. If you want binaries for an other OS or +architecture , please bug me and I'll see what I can do. + + + +=head1 System-specific instructions + +=head2 Arch Linux + +Ncdc is available on L, to +install it you can use your favorite AUR-installer. If you don't have a +favorite, go for the manual approach: + + wget https://aur.archlinux.org/packages/nc/ncdc/ncdc.tar.gz + tar -xf ncdc.tar.gz + cd ncdc + makepkg -si + + + +=head2 FreeBSD + +Ncdc is available in the Ports Collection. To install, L +and install the Port as any other: + + cd /usr/ports/net-p2p/ncdc + make install clean + + + +=head2 Gentoo + +Ncdc is available in the Portage tree, so installation is trivial: + + emerge ncdc + + + +=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. + + + +=head2 OpenSUSE + +Get the package from L: +Select your openSUSE release and hit the "1 click install" button. + +Alternatively, I also have packages on the L, +but I suspect their quality isn't really on the same level as those on PackMan +because I am not an openSUSE developer. :-) + + + +=head2 Ubuntu & Debian + +The preferred way of installing ncdc on Ubuntu or Debian is to use the packages +provided on the L. +Select your distribution and follow the instructions. The listed commands +should be run with superuser privileges; To get a root shell on Ubuntu type +C. When installing the package, you may get a warning about how the +package is not authenticated or verified, this can be safely ignored. Just +confirm the installation when prompted whether it should continue or not. + +You only have to follow the above steps once, newer versions will be installed +automatically with regular system updates. + +=head3 Building from source + +In the event that there is no up-to-date package available for your version, +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 + +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 + ./configure --prefix=/usr + make + sudo make install + + + +=head2 Windows (Cygwin) + +Surprisingly enough, ncdc can be used even on Windows, thanks to Cygwin. If +you haven't done so already, get C from the L and use it to install the following packages: + +=over + +=item * make + +=item * gcc4 + +=item * perl + +=item * pkg-config + +=item * wget + +=item * libncursesw-devel + +=item * libbz2-devel + +=item * libxml2-devel + +=item * libglib2.0-devel + +=item * libsqlite3-devel + +=item * gnutls-devel + +=back + +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 + ./configure --prefix=/usr + make install diff --git a/dat/ncdc-man b/dat/ncdc-man index b6c8ff3..d8d2229 100644 --- a/dat/ncdc-man +++ b/dat/ncdc-man @@ -210,7 +210,7 @@ Open the download queue. =item B -Quit ncdc. You can also just hit ctrl+c, which is equivalent. +Quit ncdc. =item B @@ -402,7 +402,7 @@ This regex is not checked when adding individual files from either the file list =item B -Maximum combined transfer rate of all downloads. The total download speed will be limited to this value. The suffixes `G', 'M', and 'K' can be used for GiB/s, MiB/s and KiB/s, respectively. Note that, similar to upload_rate, TCP and TLS overhead are not counted towards this limit, so the actual bandwidth usage might be a little higher. +Maximum combined transfer rate of all downloads. The total download speed will be limited to this value. The suffixes `G', 'M', and 'K' can be used for GiB/s, MiB/s and KiB/s, respectively. Note that, similar to upload_rate, TCP overhead are not counted towards this limit, so the actual bandwidth usage might be a little higher. =item B @@ -475,6 +475,10 @@ Your nick. Nick changes are only visible on newly connected hubs, use the `/rec Sets your password for the current hub and enables auto-login on connect. If you just want to login to a hub without saving your password, use the `/password' command instead. Passwords are saved unencrypted in the config file. +=item B + +The time to wait before automatically reconnecting to a hub. Set to 0 to disable automatic reconnect. + =item B Whether or not to use the sendfile() system call to upload files, if supported. Using sendfile() allows less resource usage while uploading, but may not work well on all systems. @@ -501,7 +505,9 @@ Set the policy for secure client-to-client connections. Setting this to `disable The use of TLS for client connections usually results in less optimal performance when uploading and downloading, but is quite effective at avoiding protocol-specific traffic shaping that some ISPs may do. Also note that, even if you set this to `prefer', TLS will only be used if the connecting party also supports it. -Enabling TLS may result in less accurate traffic shaping when the `download_rate' or `upload_rate' settings are used. +=item B + +Set the GnuTLS priority string used for all TLS-enabled connections. See the "Priority strings" section in the GnuTLS manual for details on what this does and how it works. Currently it is not possible to set a different priority string for different types of connections (e.g. hub or incoming/outgoing client connections). =item B @@ -536,7 +542,6 @@ C command, and is reproduced below. Alt+q Open the download queue tab. Alt+o Open own file list. Alt+r Refresh file list. - Ctrl+c Quit ncdc. Keys for tabs with a log window: Ctrl+l Clear current log window. @@ -667,9 +672,8 @@ $NCDC_DIR or $HOME/.ncdc. =item $NCDC_DIR/cert/ Directory where the client certificates are stored. Must contain a private key -file (client.key) and public certificate (client.crt). These should be -generated automatically when ncdc starts up the first time, but can be -generated manually using L. +file (client.key) and public certificate (client.crt). These will be generated +automatically when ncdc starts up the first time. =item $NCDC_DIR/db.sqlite3 @@ -750,4 +754,4 @@ Web: L =head1 SEE ALSO -L, L. +L. diff --git a/dat/ncdu b/dat/ncdu index ac91295..2154314 100644 --- a/dat/ncdu +++ b/dat/ncdu @@ -54,7 +54,7 @@ L - L - L - Mac OS X (L - L - L) - -L - +L - L - Solaris (L - L) - Slackware (L - L) - diff --git a/download/ncdc-1.10.tar.gz.asc b/download/ncdc-1.10.tar.gz.asc new file mode 100644 index 0000000..2797d17 --- /dev/null +++ b/download/ncdc-1.10.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iQIcBAABCgAGBQJPoqDdAAoJEGI5TGmMJzn6BnoP/jvDd5KfnQ4kHqq5jzm1XOc5 +ncUhUqrb5S9VAT4IkDbiZ2ICop9tgiEws9q9sgHLq+HN9qaZgGCoCNBS+QhYWqPB +sDrSWJt74Vp3M0cXMrDllybC6OTbO1SQhseuC0o/239VdPOjB7XYNFnd5Ra7Q+iK +K9GQ2lpzo3C95cHNJbMotW0x1R9o/It/UGfeDdT3m5xTMStes3QhE1rifcnl14hM +SY2WnTJ+xOGz/l3tu774yFU1IggkImq6xVVI3zoD92ygUSSasntADPK+xHp5pf5T +gDJ0ySnLlfZEn4rO52zmvsPBhD7lfylaWVVppg7Aeh72R6IbNwfBkboeYQacoPzm +IJrx7OJDPPSKvVWVdCGR/Rg3mcf8mTYKp8l3eQ3m3cAXWsA6x9BCj+WBEapQUsrx +2NRpDeDa28dxHlQ+kskZkYKSOh41IRQX3omO/2rK0ChRde/2sTDeIGLRYwIZy4o+ +lHG3tYEhKAWQKUK/cf/q6nlkfQtis6goI6iXuZOML4oe3ZrgGcTlAeeMQ4uSr1nL +8kygyZOEAkCRNW4xPLEnrB4sjaiR/q+2WueopLs6gEIKbSAGIUCQI1gLul8WTKn5 +k7XPNoDd5ZuwKyGHb5Xc5+7X+VKeH27cZlFzcFuvyiT16eaRaHRMjLyvwBvZeWjK ++FxibLfoqqhqjBJ/aFgl +=6H5t +-----END PGP SIGNATURE----- diff --git a/download/ncdc-1.10.tar.gz.md5 b/download/ncdc-1.10.tar.gz.md5 new file mode 100644 index 0000000..9423cd2 --- /dev/null +++ b/download/ncdc-1.10.tar.gz.md5 @@ -0,0 +1 @@ +a56c5b16d2fd98157a70ab7eb0aea24d ncdc-1.10.tar.gz diff --git a/download/ncdc-1.10.tar.gz.sha1 b/download/ncdc-1.10.tar.gz.sha1 new file mode 100644 index 0000000..76d131f --- /dev/null +++ b/download/ncdc-1.10.tar.gz.sha1 @@ -0,0 +1 @@ +06e3ad1de0353711b217ae9f1a456d9d0c3e403b ncdc-1.10.tar.gz diff --git a/index.cgi b/index.cgi index 9c544a2..5c70a13 100755 --- a/index.cgi +++ b/index.cgi @@ -12,6 +12,8 @@ BEGIN { ($ROOT = abs_path $0) =~ s{index\.cgi$}{}; } my @changes = ( + [ '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.' ], [ '2012-03-30', '/dump', 'Updated ncdc-share-report for Go 1' ], [ '2012-03-24', '/ncdu/bug', 'Moved ncdu bug tracker from sourceforge to this site' ], @@ -65,6 +67,7 @@ TUWF::register( qr{ncdc/faq} => sub { podpage(shift, 'ncdc-faq', 'ncdc', 'faq', 'Ncdc Q&A', 1) }, qr{ncdc/scr} => sub { podpage(shift, 'ncdc-scr', 'ncdc', 'scr', 'Ncdc Screenshots') }, qr{ncdc/man} => sub { podpage(shift, 'ncdc-man', 'ncdc', 'man', 'Ncdc Manual', 1) }, + qr{ncdc/install} => sub { podpage(shift, 'ncdc-install', 'ncdc', 'install', 'Ncdc Installation Instructions', 1) }, qr{ncdc/changes} => sub { changelog(shift, 'ncdc-changelog', 'ncdc', 'ncdc', 'changes', 'Ncdc Changelog') }, qr{tuwf} => sub { podpage(shift, 'tuwf', 'tuwf', '', 'The Ultimate Website Framework') }, qr{tuwf/man(?:/(db|misc|request|response|xml))?} => \&tuwfmanual, @@ -441,6 +444,7 @@ sub htmlMenu { $m->('/ncdu/bug', 'Bug tracker', $o{sec} eq 'bug'); } elsif($o{page} eq 'ncdc') { $m->('/ncdc', 'Info', !$o{sec}); + $m->('/ncdc/install', 'Installation',$o{sec} eq 'install'); $m->('/ncdc/faq', 'Q&A', $o{sec} eq 'faq'); $m->('/ncdc/man', 'Manual', $o{sec} eq 'man'); $m->('/ncdc/changes', 'Changelog', $o{sec} eq 'changes');