diff --git a/dat/ncdc-faq b/dat/ncdc-faq
new file mode 100644
index 0000000..03ac7c4
--- /dev/null
+++ b/dat/ncdc-faq
@@ -0,0 +1,128 @@
+=head1 About ncdc
+
+
+=head2 What about other text-mode clients?
+
+L - 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 - 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 - 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. 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, 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,
+L or L.
+
+
+=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 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
+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.
+
diff --git a/dat/ncdu-changelog b/dat/ncdu-changelog
index 405b6bf..f5b95c2 100644
--- a/dat/ncdu-changelog
+++ b/dat/ncdu-changelog
@@ -1,7 +1,7 @@
1.8 - 2011-11-03
- Use hash table to speed up hard link detection
- Added read-only option (-r)
- - Use KiB instead of kiB (#3399279
+ - Use KiB instead of kiB (#3399279)
1.7 - 2010-08-13
- List the detected hard links in file info window
diff --git a/download/ncdc-1.5.tar.gz.asc b/download/ncdc-1.5.tar.gz.asc
new file mode 100644
index 0000000..72d67fd
--- /dev/null
+++ b/download/ncdc-1.5.tar.gz.asc
@@ -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-----
diff --git a/download/ncdc-1.5.tar.gz.md5 b/download/ncdc-1.5.tar.gz.md5
new file mode 100644
index 0000000..c3279b5
--- /dev/null
+++ b/download/ncdc-1.5.tar.gz.md5
@@ -0,0 +1 @@
+fbd49a2551d22fb9f41f77b118d01461 ncdc-1.5.tar.gz
diff --git a/download/ncdc-1.5.tar.gz.sha1 b/download/ncdc-1.5.tar.gz.sha1
new file mode 100644
index 0000000..b77dcc1
--- /dev/null
+++ b/download/ncdc-1.5.tar.gz.sha1
@@ -0,0 +1 @@
+a6a5cbc222e6846e6976a27610968442cc9a4851 ncdc-1.5.tar.gz
diff --git a/download/ncdu-1.8.tar.gz.asc b/download/ncdu-1.8.tar.gz.asc
new file mode 100644
index 0000000..93decb9
--- /dev/null
+++ b/download/ncdu-1.8.tar.gz.asc
@@ -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-----
diff --git a/download/ncdu-1.8.tar.gz.md5 b/download/ncdu-1.8.tar.gz.md5
new file mode 100644
index 0000000..8a03ff1
--- /dev/null
+++ b/download/ncdu-1.8.tar.gz.md5
@@ -0,0 +1 @@
+94d7a821f8a0d7ba8ef3dd926226f7d5 ncdu-1.8.tar.gz
diff --git a/download/ncdu-1.8.tar.gz.sha1 b/download/ncdu-1.8.tar.gz.sha1
new file mode 100644
index 0000000..88ebe48
--- /dev/null
+++ b/download/ncdu-1.8.tar.gz.sha1
@@ -0,0 +1 @@
+3d98e78cf7035e32333d263d301d12e9b4352598 ncdu-1.8.tar.gz
diff --git a/img/ncdcbrowse.png b/img/ncdcbrowse.png
new file mode 100644
index 0000000..e6c0641
Binary files /dev/null and b/img/ncdcbrowse.png differ
diff --git a/img/ncdchelp.png b/img/ncdchelp.png
new file mode 100644
index 0000000..38d048d
Binary files /dev/null and b/img/ncdchelp.png differ
diff --git a/img/ncdchub.png b/img/ncdchub.png
new file mode 100644
index 0000000..820b05b
Binary files /dev/null and b/img/ncdchub.png differ
diff --git a/img/ncdcusers.png b/img/ncdcusers.png
new file mode 100644
index 0000000..ba4e5ce
Binary files /dev/null and b/img/ncdcusers.png differ
diff --git a/index.cgi b/index.cgi
index 1359b83..c34667d 100755
--- a/index.cgi
+++ b/index.cgi
@@ -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.
- 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. >_>
- 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 GNU screen,
- tmux or
- dtach.
- 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 stunnel 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.
- E;
- end;
-
- h2 'Does ncdc support UPnP?';
- p;
- lit <<' E;';
- Not natively. However, it is possible to use this
- script 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: ncdc-transfer-stats.
- 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,
- this is the script I use, 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.
- For NMDC: NoGetINFO, NoHello, UserIP2, MiniSlots, XmlBZList, ADCGet, TTHL and TTHF.
- 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 }