Added page for ncdc

This commit is contained in:
Yorhel 2011-06-04 12:09:44 +02:00
parent f534c91225
commit 5a7b371353

View file

@ -14,6 +14,7 @@ TUWF::register(
qr{ncdu} => \&ncdu,
qr{ncdu/changes} => \&ncduchangelog,
qr{ncdu/man} => \&ncdumanual,
qr{ncdc} => \&ncdc,
qr{tuwf} => \&tuwf,
qr{tuwf/man(?:/(db|misc|request|response|xml))?}
=> \&tuwfmanual,
@ -47,6 +48,7 @@ sub home {
E;
end;
h2 'Updates';
b '2011-06-03'; txt ' Added my latest project: ncdc'; br;
b '2011-02-07'; txt ' TUWF 0.1 released and now also available on CPAN'; br;
b '2011-01-27'; txt ' Documented and uploaded one of my older projects: TUWF'; br;
b '2011-01-09'; txt ' Added my json.mll OCaml library to code dump'; br;
@ -165,6 +167,93 @@ sub ncdumanual {
# N C D C
sub ncdc {
my $s = shift;
$s->htmlHeader(title => 'NCurses Direct Connect', page => 'ncdc');
p;
lit <<' E;';
<b>2003 called. They wanted me to write a text-mode alternative to DC++.</b><br />
ncdc is a modern and lightweight direct connect client with a friendly
ncurses interface.
E;
end;
h2 'Requirements';
p;
lit <<' E;';
The following libraries are required: ncurses, bzip2, gdbm, glib2 and libxml2.<br />
These dependencies should be easy to satisfy. Depending on your system, you
may have all of these installed already.<br />
<br />
ncdc has been developed on a recent Arch Linux installation and has been
tested on Debian Squeeze. It should be fairly trivial to port to other
POSIX-like systems.<br />
<br />
ncdc is entirely written in C and available under a liberal MIT license.
E;
end;
h2 'Current Status';
p 'ncdc is currently still in development, and still lacks many of the
features one would expect from a DC client. The following is a list of
features that have been implemented so far:';
ul;
li 'Connecting to multiple hubs at the same time,';
li 'Chatting and private messaging,';
li 'Browsing the user list of a connected hub,';
li 'Share management (file list generation, hashing, refreshing, etc),';
li 'File uploading in passive mode,';
li 'Replying to search requests from other clients.';
end;
h2 'Try it out';
p;
txt 'The current version might be slightly awkward to use and is not really
suited for serious use. Nonetheless, it\'s not entirely useless. You can get
the latest development version of ncdc from ';
a href => 'http://g.blicky.net/ncdc.git/', 'this git repository';
txt '. The README includes instructions to build ncdc.';
end;
h2 'Quick Q&A';
ul;
li; txt 'What about other text-mode clients?'; br;
a href => 'http://corsair626.no-ip.org/microdc/', 'microdc2';
txt ' - A rather nice client, yet not exactly there. It\'s limited to
connecting to a single hub, hasn\'t been updated since 2006, and the
readline interface is slightly awkward to use.';br;
a href => 'http://sourceforge.net/projects/nanodc/', 'nanodc';
txt ' - Can\'t comment much on this, except maybe that rocket science is
perhaps easier than getting nanodc to compile.'; br;br;
end;
li; txt 'Can ncdc connect to ADC hubs?'; br;
txt 'Not yet. My initial focus is to get a working client for the old NMDC
protocol, since, unfortunately, that is still the most widely used. Support
for ADC is planned.'; br;br;
end;
li; txt 'Can ncdc use the hash data or configuration from an existing DC++ installation?'; br;
txt 'No, ncdc uses its own configuration and hash storage directory.
However, on popular demand I could write a conversion utility to transfer
the hash data from other clients to ncdc\'s format.'; br;br;
end;
li; txt 'What protocol features does ncdc support?'; br;
txt 'Hub: NoGetINFO and NoHello.'; br;
txt 'Client: MiniSlots, XmlBZList, ADCGet, TTHL and TTHF.'; br;
txt q|That is pretty much everything you'd expect any modern client to
have. Note that ncdc does not support some of the older protocol
features, like $Get, $GetZBlock, $CHUNK and $Cancel. I am not aware of
any other up-to-date client that requires these.|;
end;
end;
$s->htmlFooter;
}
# T U W F
@ -569,6 +658,7 @@ sub htmlHeader {
div id => 'menu';
a href => '/', !$o{page} ? (class => 'sel') : (), 'home'; txt ' ';
a href => '/ncdu', $o{page} eq 'ncdu' ? (class => 'sel') : (), 'ncdu'; txt ' ';
a href => '/ncdc', $o{page} eq 'ncdc' ? (class => 'sel') : (), 'ncdc'; txt ' ';
a href => '/tuwf', $o{page} eq 'tuwf' ? (class => 'sel') : (), 'tuwf'; txt ' ';
a href => '/dump', $o{page} eq 'dump' ? (class => 'sel') : (), 'code dump';
end;