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

128
dat/ncdc-faq Normal file
View file

@ -0,0 +1,128 @@
=head1 About ncdc
=head2 What about other text-mode clients?
L<microdc2|http://corsair626.no-ip.org/microdc/> - 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.
L<nanodc|http://sourceforge.net/projects/nanodc/> - Can't comment much on this,
except maybe that rocket science is perhaps easier than getting nanodc to
compile.
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.
L<ShakesPeer|http://shakespeer.bzero.se/> - 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.
=head2 Why did you start from scratch? Why not use the DC++ core?
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. 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. >_>
=head2 What protocol features does ncdc support?
For ADC: BASE, RF, TIGR, BZIP, ADCS and KEYP.
For NMDC: NoGetINFO, NoHello, UserIP2, MiniSlots, XmlBZList, ADCGet, TTHL and TTHF.
ncdc also support TLS-enabled connections for both hub connections and
client-to-client connections on both ADC and NMDC protocols. 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.
=head1 Troubleshooting
=head2 How do I install ncdc on Ubuntu?
This is for Ubuntu 11.10, but may work for other versions as well. Run the
following command:
sudo apt-get install libbz2-dev libgdbm-dev\
libncursesw5-dev libxml2-dev libglib2.0-dev gnutls-bin
And then follow the instructions in the README.
=head2 I'm getting the error "No PEM-encoded private key found" on startup
Most likely this is caused by a L<bug in
glib-networking|https://bugzilla.gnome.org/show_bug.cgi?id=664321>. To get
around it, install the "certtool" utility that comes with gnutls (package
"gnutls-bin" on Ubuntu), delete the old certificates ("rm ~/.ncdc/cert/*"), and
then start ncdc again.
=head2 Why doesn't ncdc rotate log files automatically?
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,
L<this is the script I use|http://p.blicky.net/s7132>, which is run as a
monthly cron job.
=head1 Can ncdc...
=head2 Can ncdc use the hash data or configuration from an existing DC++ installation?
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.
=head2 Can ncdc run in the background / as a daemon?
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
L<GNU screen|http://www.gnu.org/s/screen/>,
L<tmux|http://tmux.sourceforge.net/> or L<dtach|http://dtach.sourceforge.net/>.
=head2 Does ncdc support TLS?
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 L<stunnel|http://www.stunnel.org/> 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 `adc://127.0.0.1:16591/' 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<this
script|http://www.howtoforge.com/administrating-your-gateway-device-via-upnp>
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. :-)
=head2 Are there any programs available for analyzing the transfers.log file?
Nothing like that is included in the release yet, but there is a simple
Perl script available: L<ncdc-transfer-stats|http://p.blicky.net/agolr>.

View file

@ -1,7 +1,7 @@
1.8 - 2011-11-03 1.8 - 2011-11-03
- Use hash table to speed up hard link detection - Use hash table to speed up hard link detection
- Added read-only option (-r) - Added read-only option (-r)
- Use KiB instead of kiB (#3399279 - Use KiB instead of kiB (#3399279)
1.7 - 2010-08-13 1.7 - 2010-08-13
- List the detected hard links in file info window - List the detected hard links in file info window

View file

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABCgAGBQJOsoWrAAoJEGI5TGmMJzn6AEQP/jFI01geLkZNfA6SZP/zl7+l
VJiYZqO/6L/EaS5LHRlvCbi1y86KhrHOO/p7JwGUYDp0j3BKLEY+NkmiU8kS89ZA
vusvLRyByjBBe1O0JZ5l+QRIIEcWqD5zkhNlRLQQF29Af5DWvOzX3TgROlbzcrRQ
sXtD3zWOQDJrIxFo607jG1fFoXeU6vsS8YcM+xbdjacPLpwLG0NiC0xVQQpM7eaJ
Ng+Nh1wnPskJCVw+4DXRdZLrnsudVqbsncWrQh8cGx/HHQwX5sLUPJxwBCoSXRot
u4GhenS44MbyWQraNHYcNkXSXK7dSQ6DsROh+rFWxKFnTj7e73pXhl1BzqjdXCUB
FZDsrqp/CVPPOq9h3Sg/EU+nwPx/Ax7m6gkaTSvPAzkswuJFWl5EgVVX9OEIWl5R
SP6kJeEkFre2BmWyquBS2sZuQA/oDbNPplIDxFy2C/k6mgakLLoVB7YiVoswb0Pv
8ET2rAzKar30NtpFBX4JljE51OA/otzjhEUMnB/w2bSOrvuT5KZX4YIeKCYvA5LA
fmn+qFLiEYJQ5Mt007vxj6ht2A2UeONlBBPJeSzBkmxNs5Qc8IMVV5j20nyTmVqj
TzCnVOBqG9l8qs0qMEW6fGXfG1CB4/x9Vtx+8BDK3V7JLj79jzpjIaEXBBfcBVnW
dm5lWaS0yfuMKFivA3W8
=ZogD
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
fbd49a2551d22fb9f41f77b118d01461 ncdc-1.5.tar.gz

View file

@ -0,0 +1 @@
a6a5cbc222e6846e6976a27610968442cc9a4851 ncdc-1.5.tar.gz

View file

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABCgAGBQJOsoW7AAoJEGI5TGmMJzn6L/AQALq2I9ate0L0T8k33nPufTR3
Tg0UpUYHJqziklIUTV/AiXYSay70iehWYSnYA153FD4z9sq16IugOdI1sjy3AxCP
bY7JvsrgaskJJOlro3E9JRHM+bH4NRAb1qqTpdxWrtsqSkaVHr3Ba6vr4vRB+o/F
5SiA04ijTYkXKbebrR7kOgjD/DM959Qpoi35xX/EpdBzJxoInmq7LRIuP/WE9DqP
x9CyZi/1T1hKuw00SSUIIpkvywWHnNAG/qRNQSTlaVDzGFB1DxkBzJR+2wIZJqjA
XOlsMh6pAq/4TKOyUfL2zEFp6/Sz166u+guoY3w0hsfD7gx2i41SdFFpDkqXEQyf
YpeviOs4j4UbE22tWWcB7ZA8M1dyruWETvHNxOipZafnTVbGZ43g5NyJwKpICJ80
rFQfewKkZRKdrVj0zsOZo6AJb/9bJ8T6skvs0eAAHdSIDbHUFVWzNk56LDfLlDPv
YBjN82lIA+5faQNqzh2Jdlkwh5AV9CoNdsFW6gxyt9LF+BxJ4NYU4NXlCXnzlObI
pWfO1ILtSQeG0lHkyhONrqyhpyXVxkbsCTgIVO+bsxFvnhKRsXxsLQo47joDFBkV
64CW97jn8BdEWIPABWYbSfH9N9P8foaM3HHCrSWcKuxfrXC+yVO4/29QBh9UOoAp
kfRGuMdKGMKvgm0JJ8z6
=aXX3
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
94d7a821f8a0d7ba8ef3dd926226f7d5 ncdu-1.8.tar.gz

View file

@ -0,0 +1 @@
3d98e78cf7035e32333d263d301d12e9b4352598 ncdu-1.8.tar.gz

BIN
img/ncdcbrowse.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
img/ncdchelp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
img/ncdchub.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
img/ncdcusers.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

193
index.cgi
View file

@ -17,8 +17,9 @@ TUWF::register(
qr{ncdu/scr} => \&ncduscr, qr{ncdu/scr} => \&ncduscr,
qr{ncdc} => \&ncdc, qr{ncdc} => \&ncdc,
qr{ncdc/faq} => \&ncdcfaq, qr{ncdc/faq} => \&ncdcfaq,
qr{ncdc/man} => \&ncdcmanual,
qr{ncdc/changes} => \&ncdcchangelog, qr{ncdc/changes} => \&ncdcchangelog,
qr{ncdc/man} => \&ncdcmanual,
qr{ncdc/scr} => \&ncdcscr,
qr{tuwf} => \&tuwf, qr{tuwf} => \&tuwf,
qr{tuwf/man(?:/(db|misc|request|response|xml))?} qr{tuwf/man(?:/(db|misc|request|response|xml))?}
=> \&tuwfmanual, => \&tuwfmanual,
@ -116,6 +117,9 @@ sub ncdu {
h2 'Packages and ports'; h2 'Packages and ports';
p 'ncdu has been packaged for various systems already, here\'s a list of the ones I am aware of:'; 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://www.archlinux.org/packages/?q=ncdu', 'Arch Linux'; txt ' - ';
a href => 'http://crux.nu/portdb/?q=ncdu&a=search', 'CRUX'; txt ' - '; a href => 'http://crux.nu/portdb/?q=ncdu&a=search', 'CRUX'; txt ' - ';
a href => 'http://cygwin.com/packages/ncdu/', 'Cygwin'; 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://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://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://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://www.openbsd.org/cgi-bin/cvsweb/ports/sysutils/ncdu/', 'OpenBSD'; txt ' - ';
a href => 'http://packman.links2linux.de/package/ncdu/', 'OpenSUSE'; txt ' - '; a href => 'http://packman.links2linux.de/package/ncdu/', 'OpenSUSE'; txt ' - ';
txt 'Mac OS X ('; txt 'Mac OS X (';
a href => 'http://ncdu.darwinports.com/', 'Darwin Ports'; txt '-'; a href => 'http://pdb.finkproject.org/pdb/package.php/ncdu', 'Fink'; txt '-';
a href => 'http://pdb.finkproject.org/pdb/package.php/ncdu', 'Fink'; a href => 'http://mxcl.github.com/homebrew/', 'Homebrew'; txt '-';
a href => 'http://www.macports.org/ports.php?by=name&substr=ncdu', 'MacPorts';
txt ') - '; 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 ('; txt 'Solaris (';
a href => 'http://www.opencsw.org/packages/ncdu', 'CSW'; txt '-'; a href => 'http://www.opencsw.org/packages/ncdu', 'CSW'; txt '-';
a href => 'http://www.sunfreeware.com/', 'sunfreeware'; a href => 'http://www.sunfreeware.com/', 'sunfreeware';
txt ') - '; 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://packages.ubuntu.com/search?searchon=sourcenames&keywords=ncdu', 'Ubuntu'; txt ' - ';
a href => 'http://zur.zenwalk.org/view/package/name/ncdu', 'Zenwalk'; 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; br; br;
txt 'Subscribe to '; txt 'Subscribe to ';
a href => 'http://freecode.com/projects/ncdu', 'freecode'; 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.'; txt ' to receive notifications for new releases.';
h2 'Development access'; h2 'Development access';
@ -155,11 +166,18 @@ sub ncdu {
end; end;
h2 'Similar projects'; h2 'Similar projects';
a href => 'http://gt5.sourceforge.net/', 'gt5'; txt " - Quite similar to ncdu, but a different approach."; 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://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://treesize.sourceforge.net/', 'TreeSize'; txt ' - GTK, using a treeview.'; 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.marzocca.net/linux/baobab.html', 'Baobab'; txt ' - GTK, using pie-charts, a treeview and a treemap. Comes with GNOME.'; br;
a href => 'http://www.methylblue.com/filelight/', 'Filelight'; txt " - And one for KDE."; 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; $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.'; txt 'Note: While these screenshots are from version 1.7, the latest version has only little visible changes.';
br; br; br; br;
txt 'Scanning...'; 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; br;br;
txt 'Done scanning'; 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; br;br;
txt 'Directory information'; 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; br;br;
txt 'Delete confirmation'; 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; br;br;
txt 'Help screen'; 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; br;br;
txt 'About screen'; 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; end;
$s->htmlFooter; $s->htmlFooter;
} }
@ -240,9 +258,12 @@ sub ncdc {
txt '. The README includes instructions to build ncdc. Check out the '; txt '. The README includes instructions to build ncdc. Check out the ';
a href => '/ncdc/man', 'manual'; txt ' to get started.'; a href => '/ncdc/man', 'manual'; txt ' to get started.';
br;br; 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://aur.archlinux.org/packages.php?ID=50949', 'Arch Linux'; txt ' - ';
a href => 'http://packages.gentoo.org/package/net-p2p/ncdc', 'Gentoo'; 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 '.'; a href => 'http://packman.links2linux.org/package/ncdc', 'OpenSUSE'; txt '.';
end; end;
@ -309,112 +330,8 @@ sub ncdcfaq {
p 'On this page I collect several questions that people may have and try to 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 answer them. If you have a question that is not covered here, don\'t hesitate
to ask!'; to ask!';
div class => 'pod'; br; br;
$s->htmlPOD("$ROOT/dat/ncdc-faq");
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';
$s->htmlFooter; $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 # T U W F
@ -928,8 +865,8 @@ sub htmlHeader {
if($o{page} eq 'ncdu') { if($o{page} eq 'ncdu') {
div id => 'mtabs'; div id => 'mtabs';
a href => '/ncdu', !$o{tab} ? (class => 'sel') : (), 'main'; txt ' '; 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/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 => '/ncdu/scr', $o{tab} eq 'scr' ? (class => 'sel') : (), 'screenshots'; txt ' ';
a href => 'http://sourceforge.net/tracker/?group_id=200175', 'bug tracker (sf)'; a href => 'http://sourceforge.net/tracker/?group_id=200175', 'bug tracker (sf)';
end; end;
@ -940,6 +877,7 @@ sub htmlHeader {
a href => '/ncdc/faq', $o{tab} eq 'faq' ? (class => 'sel') : (), 'Q&A'; txt ' '; 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/man', $o{tab} eq 'man' ? (class => 'sel') : (), 'manual'; txt ' ';
a href => '/ncdc/changes', $o{tab} eq 'changes' ? (class => 'sel') : (), 'changelog'; 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; end;
} }
if($o{page} eq 'tuwf') { if($o{page} eq 'tuwf') {
@ -1062,6 +1000,7 @@ sub css {
#footer, #footer a { color: #444; margin-bottom: 10px } #footer, #footer a { color: #444; margin-bottom: 10px }
.sig { vertical-align: super; padding-left: 3px; color: #666!important } .sig { vertical-align: super; padding-left: 3px; color: #666!important }
.sig, .sig a { font-size: 10px; color: #ccc } .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; } h1 { font-size: 19px; color: #888; margin-bottom: 5px; }
h2 { font-size: 16px; color: #888; margin-top: 25px; margin-bottom: 1px; } h2 { font-size: 16px; color: #888; margin-top: 25px; margin-bottom: 1px; }
b { font-weight: bold; color: #fff } b { font-weight: bold; color: #fff }