ncdc: added screenshots, updated FAQ, ncdu: updated package list

ncdc's FAQ is now in a pod file, which is somewhat easier to maintain.
Also added the signature files for the last ncdc and ncdu releases,
which I forgot to commit previously.
This commit is contained in:
Yorhel 2011-11-18 11:01:18 +01:00
parent 11b3f1be5a
commit 291c0ea142
13 changed files with 233 additions and 128 deletions

193
index.cgi
View file

@ -17,8 +17,9 @@ TUWF::register(
qr{ncdu/scr} => \&ncduscr,
qr{ncdc} => \&ncdc,
qr{ncdc/faq} => \&ncdcfaq,
qr{ncdc/man} => \&ncdcmanual,
qr{ncdc/changes} => \&ncdcchangelog,
qr{ncdc/man} => \&ncdcmanual,
qr{ncdc/scr} => \&ncdcscr,
qr{tuwf} => \&tuwf,
qr{tuwf/man(?:/(db|misc|request|response|xml))?}
=> \&tuwfmanual,
@ -116,6 +117,9 @@ sub ncdu {
h2 'Packages and ports';
p 'ncdu has been packaged for various systems already, here\'s a list of the ones I am aware of:';
a href => 'http://packages.agilialinux.ru/search.php?tag=sys-fs', 'AgiliaLinux';txt ' - ';
a href => 'http://www.perzl.org/aix/index.php?n=Main.Ncdu', 'AIX'; txt ' - ';
a href => 'http://sisyphus.ru/en/srpm/Sisyphus/ncdu', 'ALT Linux'; txt ' - ';
a href => 'http://www.archlinux.org/packages/?q=ncdu', 'Arch Linux'; txt ' - ';
a href => 'http://crux.nu/portdb/?q=ncdu&a=search', 'CRUX'; txt ' - ';
a href => 'http://cygwin.com/packages/ncdu/', 'Cygwin'; txt ' - ';
@ -124,27 +128,34 @@ sub ncdu {
a href => 'http://www.freshports.org/sysutils/ncdu/', 'FreeBSD'; txt ' - ';
a href => 'http://frugalware.org/packages/?op=pkg&srch=ncdu&arch=all&ver=all', 'Frugalware'; txt ' - ';
a href => 'http://packages.gentoo.org/package/sys-fs/ncdu', 'Gentoo'; txt ' - ';
a href => 'http://www.ipcopaddons.org/addondb.php?action=detail&addonid=67', 'IPCop'; txt ' - ';
a href => 'http://www.ipadd.de/binary-v2.html', 'IPCop'; txt ' - ';
a href => 'http://www.openbsd.org/cgi-bin/cvsweb/ports/sysutils/ncdu/', 'OpenBSD'; txt ' - ';
a href => 'http://packman.links2linux.de/package/ncdu/', 'OpenSUSE'; txt ' - ';
txt 'Mac OS X (';
a href => 'http://ncdu.darwinports.com/', 'Darwin Ports'; txt '-';
a href => 'http://pdb.finkproject.org/pdb/package.php/ncdu', 'Fink';
a href => 'http://pdb.finkproject.org/pdb/package.php/ncdu', 'Fink'; txt '-';
a href => 'http://mxcl.github.com/homebrew/', 'Homebrew'; txt '-';
a href => 'http://www.macports.org/ports.php?by=name&substr=ncdu', 'MacPorts';
txt ') - ';
a href => 'http://paketler.pardus.org.tr/info/2009/stable/source/ncdu.html', 'Pardus'; txt ' - ';
a href => 'http://packages.pardus.org.tr/info/2011/devel/source/ncdu.html', 'Pardus'; txt ' - ';
a href => 'http://www.murga-linux.com/puppy/viewtopic.php?t=35024', 'Puppy Linux';txt ' - ';
txt 'Solaris (';
a href => 'http://www.opencsw.org/packages/ncdu', 'CSW'; txt '-';
a href => 'http://www.sunfreeware.com/', 'sunfreeware';
txt ') - ';
a href => 'http://slackbuilds.org/repository/13.37/system/ncdu/', 'Slackware'; txt ' - ';
txt 'Slackware (';
a href => 'http://slackbuilds.org/repository/13.37/system/ncdu/', 'Slackbuilds'; txt '-';
a href => 'http://www.slackers.it/repository/ncdu/', 'Slackers.it';
txt ') - ';
a href => 'http://packages.ubuntu.com/search?searchon=sourcenames&keywords=ncdu', 'Ubuntu'; txt ' - ';
a href => 'http://zur.zenwalk.org/view/package/name/ncdu', 'Zenwalk';
br;
txt 'ncdu is also available on the ';
a href => 'https://build.opensuse.org/package/show?package=ncdu&project=utilities', 'Open Build Service';
txt ', which provides packages for a variaty of Linux distributions.';
br; br;
txt 'Subscribe to ';
a href => 'http://freecode.com/projects/ncdu', 'freecode';
txt ' or to ';
a href => 'https://sourceforge.net/api/file/index/project-id/200175/mtime/desc/rss', 'this RSS feed at sf.net';
txt ' to receive notifications for new releases.';
h2 'Development access';
@ -155,11 +166,18 @@ sub ncdu {
end;
h2 'Similar projects';
a href => 'http://gt5.sourceforge.net/', 'gt5'; txt " - Quite similar to ncdu, but a different approach."; br;
a href => 'http://webonastick.com/tdu/', 'tdu'; txt " - Another small ncurses-based disk usage visualization utility."; br;
a href => 'http://treesize.sourceforge.net/', 'TreeSize'; txt " - Same goal, but in GTK this time."; br;
a href => 'http://www.marzocca.net/linux/baobab.html', 'Baobab'; txt " - Another GTK disk usage analyzer, comes with GNOME."; br;
a href => 'http://www.methylblue.com/filelight/', 'Filelight'; txt " - And one for KDE."; br;
a href => 'http://gt5.sourceforge.net/', 'gt5'; txt ' - Quite similar to ncdu, but a different approach.'; br;
a href => 'http://webonastick.com/tdu/', 'tdu'; txt ' - Another small ncurses-based disk usage visualization utility.'; br;
a href => 'http://treesize.sourceforge.net/', 'TreeSize'; txt ' - GTK, using a treeview.'; br;
a href => 'http://www.marzocca.net/linux/baobab.html', 'Baobab'; txt ' - GTK, using pie-charts, a treeview and a treemap. Comes with GNOME.'; br;
a href => 'http://gdmap.sourceforge.net/', 'GdMap'; txt ' - GTK, with a treemap display.'; br;
a href => 'http://www.methylblue.com/filelight/', 'Filelight'; txt ' - KDE, using pie-charts.'; br;
a href => 'http://kdirstat.sourceforge.net/', 'KDirStat'; txt ' - KDE, with a treemap display.'; br;
a href => 'http://qt-apps.org/content/show.php/QDiskUsage?content=107012', 'QDiskUsage'; txt ' - Qt, using pie-charts.'; br;
a href => 'http://xdiskusage.sourceforge.net/', 'xdiskusage';txt ' - FLTK, with a treemap display.'; br;
a href => 'http://fsv.sourceforge.net/', 'fsv'; txt ' - 3D visualization.'; br;
a href => 'http://zevv.nl/play/code/philesight/', 'Philesight';txt ' - Web-based clone of Filelight.'; br;
a href => 'http://www.jgoodies.com/freeware/jdiskreport/','JDiskReport';txt ' - Java, using pie-charts and a treeview.';
$s->htmlFooter;
}
@ -191,22 +209,22 @@ sub ncduscr {
txt 'Note: While these screenshots are from version 1.7, the latest version has only little visible changes.';
br; br;
txt 'Scanning...';
img src => '/img/ncduscan.png', style => 'margin: 5px 0 0 0; border: 1px solid #999', alt => 'Ncdu scanning a large directory.';
img src => '/img/ncduscan.png', class => 'scr', alt => 'Ncdu scanning a large directory.';
br;br;
txt 'Done scanning';
img src => '/img/ncdudone.png', style => 'margin: 5px 0 0 0; border: 1px solid #999', alt => 'Ncdu done scanning a large directory.';
img src => '/img/ncdudone.png', class => 'scr', alt => 'Ncdu done scanning a large directory.';
br;br;
txt 'Directory information';
img src => '/img/ncduinfo.png', style => 'margin: 5px 0 0 0; border: 1px solid #999', alt => 'Ncdu displaying directory information.';
img src => '/img/ncduinfo.png', class => 'scr', alt => 'Ncdu displaying directory information.';
br;br;
txt 'Delete confirmation';
img src => '/img/ncduconfirm.png', style => 'margin: 5px 0 0 0; border: 1px solid #999', alt => 'Ncdu asking for confirmation to delete a file.';
img src => '/img/ncduconfirm.png', class => 'scr', alt => 'Ncdu asking for confirmation to delete a file.';
br;br;
txt 'Help screen';
img src => '/img/ncduhelp1.png', style => 'margin: 5px 0 0 0; border: 1px solid #999', alt => 'Ncdu help screen.';
img src => '/img/ncduhelp1.png', class => 'scr', alt => 'Ncdu help screen.';
br;br;
txt 'About screen';
img src => '/img/ncduhelp2.png', style => 'margin: 5px 0 0 0; border: 1px solid #999', alt => 'Ncdu about screen.';
img src => '/img/ncduhelp2.png', class => 'scr', alt => 'Ncdu about screen.';
end;
$s->htmlFooter;
}
@ -240,9 +258,12 @@ sub ncdc {
txt '. The README includes instructions to build ncdc. Check out the ';
a href => '/ncdc/man', 'manual'; txt ' to get started.';
br;br;
txt 'Packages/ports are available for the following systems: ';
txt 'Packages/ports are available for the following systems: '; br;
a href => 'http://aur.archlinux.org/packages.php?ID=50949', 'Arch Linux'; txt ' - ';
a href => 'http://packages.gentoo.org/package/net-p2p/ncdc', 'Gentoo'; txt ' - ';
txt 'Mac OS X (';
a href => 'http://www.macports.org/ports.php?by=name&substr=ncdc', 'MacPorts';
txt ') - ';
a href => 'http://packman.links2linux.org/package/ncdc', 'OpenSUSE'; txt '.';
end;
@ -309,112 +330,8 @@ sub ncdcfaq {
p 'On this page I collect several questions that people may have and try to
answer them. If you have a question that is not covered here, don\'t hesitate
to ask!';
div class => 'pod';
h2 'What about other text-mode clients?';
p;
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;
txt 'LDCC - Uses DCTC as backend and an interface based on TurboVision.
All mentioned projects are dead: neither LDCC, DCTC nor TurboVision are
seeing any recent development.'; br;
a href => 'http://shakespeer.bzero.se/', 'ShakesPeer';
txt ' - Appears to have a commandline inter-face as well. I haven\'t
personally tried it, but have not heard much positive things about it.
Has not seen any recent development, either.';
end;
h2 'Why did you start from scratch? Why not use the DC++ core?';
p;
lit <<' E;';
There are many reasons why I chose not to use code from existing projects,
but all of them boil down to the following two: 1) I am a control freak,
and 2) personal preferences.<br />
That is the short answer. The long answer will require a full article,
and I don't feel like writing that much at this point. &gt;_&gt;
E;
end;
h2 'Can ncdc use the hash data or configuration from an existing DC++ installation?';
p '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.';
h2 'Can ncdc run in the background / as a daemon?';
p;
lit <<' E;';
As with most ncurses applications: no. At least, it does not have this
functionality built-in. Ncdc is designed to be used in combination with a
separate terminal multiplexer or detach utility to handle this. Have a look
at <a href="http://www.gnu.org/s/screen/">GNU screen</a>,
<a href="http://tmux.sourceforge.net/">tmux</a> or
<a href="http://dtach.sourceforge.net/">dtach</a>.
E;
end;
h2 'Does ncdc support TLS?';
p;
lit <<' E;';
Yes! To make use of this, however, you need to have relatively new version
of glib2. If you're still working with an outdated system, an alternative
is to use <a href="http://www.stunnel.org/">stunnel</a> to connect to
TLS-enabled hubs. This trick does not allow encrypted client-to-client
connections, so your file transfers will remain unencrypted.<br />
The following example stunnel configuration is what I used to connect to
the DC Development hub before ncdc had native TLS support:</p>
<pre>[dcdev]<br />client = yes<br />accept = 127.0.0.1:16591<br />connect = hub.dcbase.org:16591</pre>
<p>The URL `adc://127.0.0.1:16591/' can then be used to connect to the hub
from within ncdc.
E;
end;
h2 'Does ncdc support UPnP?';
p;
lit <<' E;';
Not natively. However, it is possible to use <a
href="http://www.howtoforge.com/administrating-your-gateway-device-via-upnp">this
script</a> and manually keep a port open using a cron job. I have no
experience with this myself, though. I just run ncdc directly on my router. :-)
E;
end;
h2 'Are there any programs available for analyzing the transfers.log file?';
p;
lit <<' E;';
Nothing like that is included in the release yet, but there is a simple
Perl script available: <a
href="http://p.blicky.net/agolr">ncdc-transfer-stats</a>.
E;
end;
h2 'Why doesn\'t ncdc rotate log files automatically?';
p;
lit <<' E;';
Because you can easily do that yourself. You can either use logrotate or a
simple script that runs from a cron. For an example of the latter option,
<a href="http://p.blicky.net/s7132">this is the script I use</a>, which is
run as a monthly cron job.
E;
end;
h2 'What protocol features does ncdc support?';
p;
lit <<' E;';
For ADC: BASE, RF, TIGR, BZIP, ADCS and KEYP.<br />
For NMDC: NoGetINFO, NoHello, UserIP2, MiniSlots, XmlBZList, ADCGet, TTHL and TTHF.<br />
That is pretty much everything you'd expect any modern client to have. Note
that ncdc does not support some of the older NMDC protocol features, like $Get,
$GetZBlock, $CHUNK, $Cancel or non-XML file lists. I am not aware of an
other up-to-date client that still uses any of these features.
E;
end;
end 'div';
br; br;
$s->htmlPOD("$ROOT/dat/ncdc-faq");
$s->htmlFooter;
}
@ -439,6 +356,26 @@ sub ncdcchangelog {
}
sub ncdcscr {
my $s = shift;
$s->htmlHeader(title => 'Screenshots', page => 'ncdc', tab => 'scr');
p;
txt 'Main chat';
img src => '/img/ncdchub.png', class => 'scr', alt => 'Ncdc in the mainchat.';
br;br;
txt 'File browser';
img src => '/img/ncdcbrowse.png', class => 'scr', alt => 'Simple file list browser.';
br;br;
txt 'User list';
img src => '/img/ncdcusers.png', class => 'scr', alt => 'Ncdc displaying the userlist of a hub.';
br;br;
txt 'Built-in help';
img src => '/img/ncdchelp.png', class => 'scr', alt => 'Ncdc built-in help.';
end;
$s->htmlFooter;
}
# T U W F
@ -928,8 +865,8 @@ sub htmlHeader {
if($o{page} eq 'ncdu') {
div id => 'mtabs';
a href => '/ncdu', !$o{tab} ? (class => 'sel') : (), 'main'; txt ' ';
a href => '/ncdu/changes', $o{tab} eq 'changes' ? (class => 'sel') : (), 'changelog'; txt ' ';
a href => '/ncdu/man', $o{tab} eq 'man' ? (class => 'sel') : (), 'manual'; txt ' ';
a href => '/ncdu/changes', $o{tab} eq 'changes' ? (class => 'sel') : (), 'changelog'; txt ' ';
a href => '/ncdu/scr', $o{tab} eq 'scr' ? (class => 'sel') : (), 'screenshots'; txt ' ';
a href => 'http://sourceforge.net/tracker/?group_id=200175', 'bug tracker (sf)';
end;
@ -940,6 +877,7 @@ sub htmlHeader {
a href => '/ncdc/faq', $o{tab} eq 'faq' ? (class => 'sel') : (), 'Q&A'; txt ' ';
a href => '/ncdc/man', $o{tab} eq 'man' ? (class => 'sel') : (), 'manual'; txt ' ';
a href => '/ncdc/changes', $o{tab} eq 'changes' ? (class => 'sel') : (), 'changelog'; txt ' ';
a href => '/ncdc/scr', $o{tab} eq 'scr' ? (class => 'sel') : (), 'screenshots'; txt ' ';
end;
}
if($o{page} eq 'tuwf') {
@ -1062,6 +1000,7 @@ sub css {
#footer, #footer a { color: #444; margin-bottom: 10px }
.sig { vertical-align: super; padding-left: 3px; color: #666!important }
.sig, .sig a { font-size: 10px; color: #ccc }
.scr { margin: 5px 0 0 0; border: 1px solid #999 }
h1 { font-size: 19px; color: #888; margin-bottom: 5px; }
h2 { font-size: 16px; color: #888; margin-top: 25px; margin-bottom: 1px; }
b { font-weight: bold; color: #fff }