145 lines
5.4 KiB
Text
145 lines
5.4 KiB
Text
=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
|
|
interface as well. I haven't personally tried it, but have not heard many
|
|
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 libsqlite3-dev\
|
|
libncursesw5-dev libxml2-dev libglib2.0-dev
|
|
|
|
And then follow the instructions in the README.
|
|
|
|
|
|
=head2 Ncdc uses too much disk space!
|
|
|
|
First, look where this disk space goes to (hint: use
|
|
L<ncdu|http://dev.yorhel.nl/ncdu>). If it's the log files: you can safely
|
|
delete or rotate them (see next question).
|
|
|
|
The I<db.sqlite3> file can also grow quite large in certain situations. If you
|
|
modify or rename a lot of files in your share and ncdc re-hashes them, the old
|
|
hash data associated with the files is not removed from the database, resulting
|
|
in wasted disk space. The C</gc> command in ncdc can be used to clean up this
|
|
unused data. Be warned, however, that this command needs roughly twice the size
|
|
of the old db.sqlite3 file for temporary storage, so make sure you have enough
|
|
space available. (Note that this behaviour is not specific to ncdc, most other
|
|
DC clients do the same.)
|
|
|
|
|
|
=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.
|
|
|
|
|
|
=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<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 (C<rm ~/.ncdc/cert/*>),
|
|
and then start ncdc again.
|
|
|
|
|
|
|
|
=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 C<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>, and a short
|
|
Go program: L<ncdc-share-report|http://p.blicky.net/6yx2d>.
|
|
|