802 lines
38 KiB
Text
802 lines
38 KiB
Text
ncdc(1) ncdc(1)
|
||
|
||
|
||
|
||
NAME
|
||
ncdc - Ncurses Direct Connect Client
|
||
|
||
|
||
SYNOPSIS
|
||
ncdc [option...]
|
||
|
||
|
||
DESCRIPTION
|
||
Ncdc is a modern and lightweight direct connect client with a friendly
|
||
ncurses interface.
|
||
|
||
|
||
GETTING STARTED
|
||
This is a basic introduction for those who are new to ncdc. See the chap‐
|
||
ters below for a more detailed description of the available functionality.
|
||
|
||
What you see when starting up ncdc is an input line where you can input
|
||
commands and a log window where the results are displayed, much like a reg‐
|
||
ular terminal. Commands within ncdc start with a slash (e.g. `/help') and
|
||
have tab completion to help you.
|
||
|
||
The first thing you will want to do after starting ncdc for the first time
|
||
is to setup some basic information and settings:
|
||
/set nick MyNick
|
||
/set description ncdc is awesome!
|
||
/set connection 10
|
||
/share "My Awesome Files" /path/to/files
|
||
|
||
And if you have a direct connection to the internet or if your router
|
||
allows port forwarding, you may also want to enable active mode:
|
||
/set active_ip 13.33.33.7
|
||
/set active_port 34194
|
||
/set active true
|
||
|
||
See the help text for each of the commands and settings for more informa‐
|
||
tion. Of course, all of the above settings are saved to the database and
|
||
will be used again on the next run.
|
||
|
||
To connect to a hub, use /open:
|
||
/open ncdc adc://dc.blicky.net:2780/
|
||
Here `ncdc' is the personal name you give to the hub, and the second argu‐
|
||
ment the URL. This URL will be saved in the database, so the next time you
|
||
want to connect to this hub, you can simply do:
|
||
/open ncdc
|
||
See the help text for '/open' and '/connect' for more information. If you
|
||
want to automatically connect to a hub when ncdc starts up, use the `auto‐
|
||
connect' setting.
|
||
|
||
Ncdc uses a tabbed interface: every hub opens in a new tab, and there are
|
||
several other kinds of tabs available as well. The type of tab is indicated
|
||
in the tab list on the bottom of the screen with a character prefix. Hubs,
|
||
for example, are prefixed with a `#'. If a tab needs your attention, a col‐
|
||
ored exclamation mark is displayed before the tab name, different colors
|
||
are used for different types of activity.
|
||
|
||
Everything else should be fairly self-explanatory: To search for files, use
|
||
the `/search' command. To browse through the user list of a hub, use
|
||
`/userlist' or hit Alt+u. To browse someone's file list, use `/browse' or
|
||
hit the 'b' key in the user list. And to monitor your upload and download
|
||
connections, use `/connections' or hit Alt+n.
|
||
|
||
|
||
OPTIONS
|
||
-c, --session-dir=<dir>
|
||
Use a different session directory. Defaults to the contents of the
|
||
environment variable `$NCDC_DIR' or if this is unset to
|
||
`$HOME/.ncdc'.
|
||
|
||
-h, --help
|
||
Display summary of options.
|
||
|
||
-n, --no-autoconnect
|
||
Don't automatically connect to hubs with the `autoconnect' option
|
||
set.
|
||
|
||
-v, --version
|
||
Display ncdc version.
|
||
|
||
|
||
INTERACTIVE COMMANDS
|
||
The following is the list of commands that can be used within ncdc. The
|
||
/help command can also be used get a list of available commands and to
|
||
access this documentation.
|
||
|
||
/accept
|
||
Use this command to accept the TLS certificate of a hub. This com‐
|
||
mand is used only in the case the keyprint of the TLS certificate of
|
||
a hub does not match the keyprint stored in the database.
|
||
|
||
/browse [[-f] <user>]
|
||
Without arguments, this opens a new tab where you can browse your
|
||
own file list. Note that changes to your list are not immediately
|
||
visible in the browser. You need to re-open the tab to get the lat‐
|
||
est version of your list.
|
||
|
||
With arguments, the file list of the specified user will be down‐
|
||
loaded (if it has not been downloaded already) and the browse tab
|
||
will open once it's complete. The `-f' flag can be used to force the
|
||
file list to be (re-)downloaded.
|
||
|
||
/clear
|
||
Clears the log displayed on the screen. Does not affect the log
|
||
files in any way. Ctrl+l is a shortcut for this command.
|
||
|
||
/close
|
||
Close the current tab. When closing a hub tab, you will be discon‐
|
||
nected from the hub and all related userlist and PM tabs will also
|
||
be closed. Alt+c is a shortcut for this command.
|
||
|
||
/connect [<address>]
|
||
Initiate a connection with a hub. If no address is specified, will
|
||
connect to the hub you last used on the current tab. The address
|
||
should be in the form of `protocol://host:port/' or `host:port'. The
|
||
`:port' part is in both cases optional and defaults to :411. The
|
||
following protocols are recognized: dchub, nmdc, nmdcs, adc, adcs.
|
||
When connecting to an nmdcs or adcs hub and the SHA256 keyprint is
|
||
known, you can attach this to the url as
|
||
`?kp=SHA256/<base32-encoded-keyprint>'
|
||
|
||
Note that this command can only be used on hub tabs. If you want to
|
||
open a new connection to a hub, you need to use /open first. For
|
||
example:
|
||
/open testhub
|
||
/connect dchub://dc.some-test-hub.com/
|
||
See the /open command for more information.
|
||
|
||
/connections
|
||
Open the connections tab.
|
||
|
||
/disconnect
|
||
Disconnect from a hub.
|
||
|
||
/gc
|
||
Cleans up unused data and reorganizes existing data to allow more
|
||
efficient storage and usage. Currently, this commands removes unused
|
||
hash data, does a VACUUM on db.sqlite3, removes unused files in inc/
|
||
and old files in fl/.
|
||
|
||
This command may take some time to complete, and will fully block
|
||
ncdc while it is running. It is recommended to run this command
|
||
every once in a while. Every month is a good interval. Note that
|
||
when ncdc says that it has completed this command, it's lying to
|
||
you. Ncdc will still run a few large queries on the background,
|
||
which may take up to a minute to complete.
|
||
|
||
/grant [-list|<user>]
|
||
Grant someone a slot. This allows the user to download from you even
|
||
if you have no free slots. The slot will be granted for as long as
|
||
ncdc stays open or the /ungrant command is used. If you restart
|
||
ncdc, the user will have to wait for a regular slot. Unless, of
|
||
course, you /grant a slot again.
|
||
|
||
To get a list of users whom you have granted a slot, use `/grant'
|
||
without arguments or with `-list'. Be warned that using `/grant'
|
||
without arguments on a PM tab will grant the slot to the user you
|
||
are talking with. Make sure to use `-list' in that case.
|
||
|
||
Note that a granted slot is specific to a single hub. If the same
|
||
user is also on other hubs, he/she will not be granted a slot on
|
||
those hubs.
|
||
|
||
/help [<command>|set <key>|keys [<section>]]
|
||
To get a list of available commands, use /help without arguments.
|
||
To get information on a particular command, use /help <command>.
|
||
To get information on a configuration setting, use /help set <set‐
|
||
ting>.
|
||
To get help on key bindings, use /help keys.
|
||
|
||
|
||
/hset [<key> [<value>]]
|
||
Get or set per-hub configuration variables. Works equivalent to the
|
||
`/set' command, but can only be used on hub tabs.
|
||
|
||
/hunset [<key>]
|
||
This command can be used to reset a per-hub configuration variable
|
||
back to its global value.
|
||
|
||
/kick <user>
|
||
Kick a user from the hub. This command only works on NMDC hubs, and
|
||
you need to be an OP to be able to use it.
|
||
|
||
/me <message>
|
||
This allows you to talk in third person. Most clients will display
|
||
your message as something like:
|
||
** Nick is doing something
|
||
|
||
Note that this command only works correctly on ADC hubs. The NMDC
|
||
protocol does not have this feature, and your message will be sent
|
||
as-is, including the /me.
|
||
|
||
/msg <user> [<message>]
|
||
Send a private message to a user on the currently opened hub. If no
|
||
message is given, the tab will be opened but no message will be
|
||
sent.
|
||
|
||
/nick [<nick>]
|
||
Alias for `/hset nick' on hub tabs, and `/set nick' otherwise.
|
||
|
||
/open [-n] <name> [<address>]
|
||
Opens a new tab to use for a hub. The name is a (short) personal
|
||
name you use to identify the hub, and will be used for storing hub-
|
||
specific configuration.
|
||
|
||
If you have specified an address or have previously connected to a
|
||
hub from a tab with the same name, /open will automatically connect
|
||
to the hub. Use the `-n' flag to disable this behaviour.
|
||
|
||
See /connect for more information on connecting to a hub.
|
||
|
||
/password <password>
|
||
This command can be used to send a password to the hub without sav‐
|
||
ing it to the database. If you wish to login automatically without
|
||
having to type /password every time, use '/hset password <pass‐
|
||
word>'. Be warned, however, that your password will be saved unen‐
|
||
crypted in that case.
|
||
|
||
/pm <user> [<message>]
|
||
Alias for /msg
|
||
|
||
/queue
|
||
Open the download queue.
|
||
|
||
/quit
|
||
Quit ncdc. You can also just hit ctrl+c, which is equivalent.
|
||
|
||
/reconnect
|
||
Reconnect to the hub. When your nick or the hub encoding have been
|
||
changed, the new settings will be used after the reconnect.
|
||
|
||
This command can also be used on the main tab, in which case all
|
||
connected hubs will be reconnected.
|
||
|
||
/refresh [<path>]
|
||
Initiates share refresh. If no argument is given, the complete list
|
||
will be refreshed. Otherwise only the specified directory will be
|
||
refreshed. The path argument can be either an absolute filesystem
|
||
path or a virtual path within your share.
|
||
|
||
/say <message>
|
||
Sends a chat message to the current hub or user. You normally don't
|
||
have to use the /say command explicitly, any command not staring
|
||
with '/' will automatically imply `/say <command>'. For example,
|
||
typing `hello.' in the command line is equivalent to `/say hello.'.
|
||
Using the /say command explicitly may be useful to send message
|
||
starting with '/' to the chat, for example `/say /help is what you
|
||
are looking for'.
|
||
|
||
/search [options] <query>
|
||
Performs a file search, opening a new tab with the results.
|
||
|
||
Available options:
|
||
-hub Search the current hub only. (default)
|
||
-all Search all connected hubs, except those with `chat_only'
|
||
set.
|
||
-le <s> Size of the file must be less than <s>.
|
||
-ge <s> Size of the file must be larger than <s>.
|
||
-t <t> File must be of type <t>. (see below)
|
||
-tth <h> TTH root of this file must match <h>.
|
||
|
||
File sizes (<s> above) accept the following suffixes: G (GiB), M
|
||
(MiB) and K (KiB).
|
||
|
||
The following file types can be used with the -t option:
|
||
1 any Any file or directory. (default)
|
||
2 audio Audio files.
|
||
3 archive (Compressed) archives.
|
||
4 doc Text documents.
|
||
5 exe Windows executables.
|
||
6 img Image files.
|
||
7 video Video files.
|
||
8 dir Directories.
|
||
Note that file type matching is done using file extensions, and is
|
||
not very reliable.
|
||
|
||
/set [<key> [<value>]]
|
||
Get or set global configuration variables. Use without arguments to
|
||
get a list of all global settings and their current value. Glob-
|
||
style pattern matching on the settings is also possible. Use, for
|
||
example, `/set color*' to list all color-related settings.
|
||
|
||
See the `/hset' command to manage configuration on a per-hub basis.
|
||
Changes to the settings are automatically saved to the database, and
|
||
will not be lost after restarting ncdc.
|
||
|
||
To get information on a particular setting, use `/help set <key>'.
|
||
|
||
/share [<name> <path>]
|
||
Use /share without arguments to get a list of shared directories.
|
||
When called with a name and a path, the path will be added to your
|
||
share. Note that shell escaping may be used in the name. For exam‐
|
||
ple, to add a directory with the name `Fun Stuff', you could do the
|
||
following:
|
||
/share "Fun Stuff" /path/to/fun/stuff
|
||
Or:
|
||
/share Fun\ Stuff /path/to/fun/stuff
|
||
|
||
The full path to the directory will not be visible to others, only
|
||
the name you give it will be public. An initial `/refresh' is done
|
||
automatically on the added directory.
|
||
|
||
/ungrant [<username>|<id>]
|
||
Revoke a granted slot.
|
||
|
||
/unset [<key>]
|
||
This command can be used to reset a global configuration variable
|
||
back to its default value.
|
||
|
||
/unshare [<name>]
|
||
To remove a single directory from your share, use `/unshare <name>',
|
||
to remove all directories from your share, use `/unshare /'.
|
||
|
||
Note that the hash data associated with the removed files will
|
||
remain in the database. This allows you to re-add the files to your
|
||
share without needing to re-hash them. The downside is that the
|
||
database file may grow fairly large with unneeded information. See
|
||
the `/gc' command to clean that up.
|
||
|
||
/userlist
|
||
Opens the user list of the currently selected hub. Can also be
|
||
accessed using Alt+u.
|
||
|
||
/version
|
||
Display version information.
|
||
|
||
/whois <user>
|
||
This will open the user list and select the given user.
|
||
|
||
|
||
|
||
SETTINGS
|
||
The following is a list of configuration settings. These settings can be
|
||
changed and queried using the `/set' command for global settings and
|
||
`/hset' for hub-local settings. All configuration data is stored in the
|
||
db.sqlite3 file in the session directory.
|
||
|
||
active <boolean>
|
||
Enables or disables active mode. Make sure to set `active_ip' and
|
||
`active_port' before enabling active mode.
|
||
|
||
active_bind <string>
|
||
IP address to bind to in active mode. When unset, ncdc will bind to
|
||
all interfaces.
|
||
|
||
active_ip <string>
|
||
Your public IP address for use in active mode. It is important that
|
||
other clients can reach you using this IP address. If you connect to
|
||
a hub on the internet, this should be your internet (WAN) IP. Like‐
|
||
wise, if you connect to a hub on your LAN, this should be your LAN
|
||
IP.
|
||
|
||
Unlike the other connection-related settings, this can be changed on
|
||
a per-hub basis, allowing you to have a different public IP address
|
||
per hub.
|
||
|
||
active_port <integer>
|
||
The listen port for incoming connections in active mode. Set to `0'
|
||
to automatically assign a random port. If TLS support is available,
|
||
another TCP port will be opened on the configured port + 1. Ncdc
|
||
will tell you exactly on which ports it is listening for incoming
|
||
packets. If you are behind a router or firewall, make sure that you
|
||
have configured it to forward and allow these ports.
|
||
|
||
autoconnect <boolean>
|
||
Set to true to automatically connect to the current hub when ncdc
|
||
starts up.
|
||
|
||
autorefresh <interval>
|
||
The time between automatic file refreshes. Recognized suffices are
|
||
's' for seconds, 'm' for minutes, 'h' for hours and 'd' for days.
|
||
Set to 0 to disable automatically refreshing the file list. This
|
||
setting also determines whether ncdc will perform a refresh on
|
||
startup. See the `/refresh' command to manually refresh your file
|
||
list.
|
||
|
||
backlog <integer>
|
||
When opening a hub or PM tab, ncdc can load a certain amount of
|
||
lines from the log file into the log window. Setting this to a posi‐
|
||
tive value enables this feature and configures the number of lines
|
||
to load. Note that, while this setting can be set on a per-hub
|
||
basis, PM windows will use the global value (global.backlog).
|
||
|
||
chat_only <boolean>
|
||
Set to true to indicate that this hub is only used for chatting.
|
||
That is, you won't or can't download from it. This setting affects
|
||
the /search command when it is given the -all option.
|
||
|
||
color_* <color>
|
||
The settings starting with the `color_' prefix allow you to change
|
||
the interface colors. The following is a list of available color
|
||
settings:
|
||
list_default - default item in a list
|
||
list_header - header of a list
|
||
list_select - selected item in a list
|
||
log_default - default log color
|
||
log_time - the time prefix in log messages
|
||
log_nick - default nick color
|
||
log_highlight - nick color of a highlighted line
|
||
log_ownnick - color of your own nick
|
||
log_join - color of join messages
|
||
log_quit - color of quit messages
|
||
separator - the list separator/footer bar
|
||
tabprio_low - low priority tab notification color
|
||
tabprio_med - medium priority tab notification color
|
||
tabprio_high - high priority tab notification color
|
||
title - the title bar
|
||
|
||
The actual color value can be set with a comma-separated list of
|
||
color names and/or attributes. The first color in the list is the
|
||
foreground color, the second color is used for the background. When
|
||
the fore- or background color is not specified, the default colors
|
||
of your terminal will be used.
|
||
The following color names can be used: black, blue, cyan, default,
|
||
green, magenta, red, white and yellow.
|
||
The following attributes can be used: bold, blink, reverse and
|
||
underline.
|
||
The actual color values displayed by your terminal may vary. Adding
|
||
the `bold' attribute usually makes the foreground color appear
|
||
brighter as well.
|
||
|
||
connection <string>
|
||
Set your upload speed. This is just an indication for other users in
|
||
the hub so that they know what speed they can expect when download‐
|
||
ing from you. The actual format you can use here may vary, but it is
|
||
recommended to set it to either a plain number for Mbit/s (e.g. `50'
|
||
for 50 mbit) or a number with a `KiB/s' indicator (e.g. `2300
|
||
KiB/s'). On ADC hubs you must use one of the previously mentioned
|
||
formats, otherwise no upload speed will be broadcasted. This setting
|
||
is broadcasted as-is on NMDC hubs, to allow for using old-style con‐
|
||
nection values (e.g. `DSL' or `Cable') on hubs that require this.
|
||
|
||
description <string>
|
||
A short public description that will be displayed in the user list
|
||
of a hub.
|
||
|
||
download_dir <path>
|
||
The directory where finished downloads are moved to. Finished down‐
|
||
loads are by default stored in <session directory>/dl/. It is possi‐
|
||
ble to set this to a location that is on a different filesystem than
|
||
the incoming directory, but doing so is not recommended: ncdc will
|
||
block when moving the completed files to their final destination.
|
||
|
||
download_exclude <regex>
|
||
When recursively adding a directory to the download queue - by
|
||
pressing `b' on a directory in the file list browser - any item in
|
||
the selected directory with a name that matches this regular expres‐
|
||
sion will not be added to the download queue.
|
||
|
||
This regex is not checked when adding individual files from either
|
||
the file list browser or the search results.
|
||
|
||
download_slots <integer>
|
||
Maximum number of simultaneous downloads.
|
||
|
||
email <string>
|
||
Your email address. This will be displayed in the user list of the
|
||
hub, so only set this if you want it to be public.
|
||
|
||
encoding <string>
|
||
The character set/encoding to use for hub and PM messages. This set‐
|
||
ting is only used on NMDC hubs, ADC always uses UTF-8. Some common
|
||
values are:
|
||
CP1250 (Central Europe)
|
||
CP1251 (Cyrillic)
|
||
CP1252 (Western Europe)
|
||
ISO-8859-7 (Greek)
|
||
KOI8-R (Cyrillic)
|
||
UTF-8 (International)
|
||
|
||
filelist_maxage <interval>
|
||
The maximum age of a downloaded file list. If a file list was down‐
|
||
loaded longer ago than the configured interval, it will be removed
|
||
from the cache (the fl/ directory) and subsequent requests to open
|
||
the file list will result in the list being downloaded from the user
|
||
again. Recognized suffices are 's' for seconds, 'm' for minutes, 'h'
|
||
for hours and 'd' for days. Set to 0 to disable the cache alto‐
|
||
gether.
|
||
|
||
flush_file_cache <none|upload|download|hash>[,...]
|
||
Tell the OS to flush the file (disk) cache for file contents read
|
||
while hashing and/or uploading or written to while downloading. On
|
||
one hand, this will avoid trashing your disk cache with large files
|
||
and thus improve the overall responsiveness of your system. On the
|
||
other hand, ncdc may purge any shared files from the cache, even if
|
||
they are still used by other applications. In general, it is a good
|
||
idea to enable this if you also use your system for other things
|
||
besides ncdc, you share large files (>100MB) and people are not con‐
|
||
stantly downloading the same file from you.
|
||
|
||
hubname <string>
|
||
The name of the currently opened hub tab. This is a user-assigned
|
||
name, and is only used within ncdc itself. This is the same name as
|
||
given to the `/open' command.
|
||
|
||
incoming_dir <path>
|
||
The directory where incomplete downloads are stored. This setting
|
||
can only be changed when the download queue is empty. Also see the
|
||
download_dir setting.
|
||
|
||
log_debug <boolean>
|
||
Log debug messages to stderr.log in the session directory. It is
|
||
highly recommended to enable this setting if you wish to debug or
|
||
hack ncdc. Be warned, however, that this may generate a lot of data
|
||
if you're connected to a large hub.
|
||
|
||
log_downloads <boolean>
|
||
Log downloaded files to transfers.log.
|
||
|
||
log_uploads <boolean>
|
||
Log file uploads to transfers.log.
|
||
|
||
minislots <integer>
|
||
Set the number of available minislots. A `minislot' is a special
|
||
slot that is used when all regular upload slots are in use and some‐
|
||
one is requesting your filelist or a small file. In this case, the
|
||
other client automatically applies for a minislot, and can still
|
||
download from you as long as not all minislots are in use. What con‐
|
||
stitutes a `small' file can be changed with the `minislot_size' set‐
|
||
ting. Also see the `slots' configuration setting and the `/grant'
|
||
command.
|
||
|
||
minislot_size <integer>
|
||
The maximum size of a file that may be downloaded using a `minis‐
|
||
lot', in KiB. See the `minislots' setting for more information.
|
||
|
||
nick <string>
|
||
Your nick. Nick changes are only visible on newly connected hubs,
|
||
use the `/reconnect' command to use your new nick immediately. Note
|
||
that it is highly discouraged to change your nick on NMDC hubs. This
|
||
is because clients downloading from you have no way of knowing that
|
||
you changed your nick, and therefore can't immediately continue to
|
||
download from you.
|
||
|
||
password <string>
|
||
Sets your password for the current hub and enables auto-login on
|
||
connect. If you just want to login to a hub without saving your
|
||
password, use the `/password' command instead. Passwords are saved
|
||
unencrypted in the config file.
|
||
|
||
sendfile <boolean>
|
||
Whether or not to use the sendfile() system call to upload files, if
|
||
supported. Using sendfile() allows less resource usage while upload‐
|
||
ing, but may not work well on all systems.
|
||
|
||
share_exclude <regex>
|
||
Any file or directory with a name that matches this regular expres‐
|
||
sion will not be shared. A file list refresh is required for this
|
||
setting to be effective.
|
||
|
||
share_hidden <boolean>
|
||
Whether to share hidden files and directories. A `hidden' file or
|
||
directory is one of which the file name starts with a dot. (e.g.
|
||
`.bashrc'). A file list refresh is required for this setting to be
|
||
effective.
|
||
|
||
show_joinquit <boolean>
|
||
Whether to display join/quit messages in the hub chat.
|
||
|
||
slots <integer>
|
||
The number of upload slots. This determines for the most part how
|
||
many people can download from you simultaneously. It is possible
|
||
that this limit is exceeded in certain circumstances, see the `min‐
|
||
islots' setting and the `/grant' command.
|
||
|
||
tls_policy <disabled|allow|prefer>
|
||
Set the policy for secure client-to-client connections. Setting this
|
||
to `disabled' disables TLS support for client connections, but still
|
||
allows you to connect to TLS-enabled hubs. `allow' will allow the
|
||
use of TLS if the other client requests this, but ncdc itself will
|
||
not request TLS when connecting to others. Setting this to `prefer'
|
||
tells ncdc to also request TLS when connecting to others.
|
||
|
||
The use of TLS for client connections usually results in less opti‐
|
||
mal performance when uploading and downloading, but is quite effec‐
|
||
tive at avoiding protocol-specific traffic shaping that some ISPs
|
||
may do. Also note that, even if you set this to `prefer', TLS will
|
||
only be used if the connecting party also supports it.
|
||
|
||
ui_time_format <string>
|
||
The format of the time displayed in the lower-left of the screen.
|
||
Set `-' to not display a time at all. The string is passed to the
|
||
Glib g_date_time_format() function, which accepts roughly the same
|
||
formats as strftime(). Check out the strftime(3) man page or the
|
||
Glib documentation for more information. Note that this setting does
|
||
not influence the date/time format used in other places, such as the
|
||
chat window or log files.
|
||
|
||
|
||
|
||
KEY BINDINGS
|
||
On any tab without the text input line, you can press `?' to get the key
|
||
bindings for that tab. The list of key bindings is available through the
|
||
`/help keys' command, and is reproduced below.
|
||
|
||
Global key bindings
|
||
Alt+j Open previous tab.
|
||
Alt+k Open next tab.
|
||
Alt+h Move current tab left.
|
||
Alt+l Move current tab right.
|
||
Alt+<num> Open tab with number <num>.
|
||
Alt+c Close current tab.
|
||
Alt+n Open the connections tab.
|
||
Alt+q Open the download queue tab.
|
||
Alt+o Open own file list.
|
||
Alt+r Refresh file list.
|
||
Ctrl+c Quit ncdc.
|
||
|
||
Keys for tabs with a log window:
|
||
Ctrl+l Clear current log window.
|
||
PgUp Scroll the log backward.
|
||
PgDown Scroll the log forward.
|
||
|
||
Keys for tabs with a text input line:
|
||
Left/Right Move cursor one character left or right.
|
||
End/Home Move cursor to the end / start of the line.
|
||
Up/Down Scroll through the command history.
|
||
Tab Auto-complete current command, nick or argument.
|
||
Alt+b Move cursor one word backward.
|
||
Alt+f Move cursor one word forward.
|
||
Backspace Delete character before cursor.
|
||
Delete Delete character under cursor.
|
||
Ctrl+w Delete to previous space.
|
||
Alt+d Delete to next space.
|
||
Ctrl+k Delete everything after cursor.
|
||
Ctrl+u Delete entire line.
|
||
|
||
File browser
|
||
Up/Down Select one item up/down.
|
||
k/j Select one item up/down.
|
||
PgUp/PgDown Select one page of items up/down.
|
||
End/Home Select last/first item in the list.
|
||
Right/l Open selected directory.
|
||
Left/h Open parent directory.
|
||
o Toggle sorting directories before files.
|
||
s Order by file size.
|
||
n Order by file name.
|
||
d Add selected file/directory to the download queue.
|
||
m Match selected item with the download queue.
|
||
M Match entire file list with the download queue.
|
||
a Search for alternative download sources.
|
||
|
||
Connection list
|
||
Up/Down Select one item up/down.
|
||
k/j Select one item up/down.
|
||
PgUp/PgDown Select one page of items up/down.
|
||
End/Home Select last/first item in the list.
|
||
d Disconnect selected connection.
|
||
i/Return Toggle information box.
|
||
f Find user in user list.
|
||
q Find file in download queue.
|
||
|
||
Download queue
|
||
Up/Down Select one item up/down.
|
||
k/j Select one item up/down.
|
||
PgUp/PgDown Select one page of items up/down.
|
||
End/Home Select last/first item in the list.
|
||
K/J Select one user up/down.
|
||
f Find user in user list.
|
||
c Find connection in the connection list.
|
||
a Search for alternative download sources.
|
||
d Remove selected file from the queue.
|
||
+/- Increase/decrease priority.
|
||
i/Return Toggle user list.
|
||
r Remove selected user for this file.
|
||
R Remove selected user from all files in the download
|
||
queue.
|
||
x Clear error state for the selected user for this file.
|
||
X Clear error state for the selected user for all files.
|
||
|
||
Note: when an item in the queue has `ERR' indicated in the priority
|
||
column, you have two choices: You can remove the item from the queue
|
||
using `d', or attempt to continue the download by increasing its
|
||
priority using `+'.
|
||
|
||
Search results tab
|
||
Up/Down Select one item up/down.
|
||
k/j Select one item up/down.
|
||
PgUp/PgDown Select one page of items up/down.
|
||
End/Home Select last/first item in the list.
|
||
f Find user in user list.
|
||
b/B Browse the selected users' list, B to force a redown‐
|
||
load.
|
||
d Add selected file to the download queue.
|
||
h Toggle hub column visibility.
|
||
u Order by username.
|
||
s Order by file size.
|
||
l Order by free slots.
|
||
n Order by file name.
|
||
m Match selected item with the download queue.
|
||
M Match all search results with the download queue.
|
||
q Match selected users' list with the download queue.
|
||
Q Match all matched users' lists with the download queue.
|
||
a Search for alternative download sources.
|
||
|
||
User list tab
|
||
Up/Down Select one item up/down.
|
||
k/j Select one item up/down.
|
||
PgUp/PgDown Select one page of items up/down.
|
||
End/Home Select last/first item in the list.
|
||
o Toggle sorting OPs before others.
|
||
s/S Order by share size.
|
||
u/U Order by username.
|
||
t/T Toggle visibility / order by tag column.
|
||
e/E Toggle visibility / order by email column.
|
||
c/C Toggle visibility / order by connection column.
|
||
p/P Toggle visibility / order by IP column.
|
||
i/Return Toggle information box.
|
||
m Send a PM to the selected user.
|
||
g Grant a slot to the selected user.
|
||
b/B Browse the selected users' list, B to force a redown‐
|
||
load.
|
||
|
||
|
||
|
||
ENVIRONMENT
|
||
$NCDC_DIR is used to determine the session dir, it is only honoured if -c
|
||
is not set on the command line.
|
||
|
||
|
||
FILES
|
||
$NCDC_DIR corresponds to the session dir set via -c, environment variable
|
||
$NCDC_DIR or $HOME/.ncdc.
|
||
|
||
$NCDC_DIR/cert/
|
||
Directory where the client certificates are stored. Must contain a
|
||
private key file (client.key) and public certificate (client.crt).
|
||
These should be generated automatically when ncdc starts up the
|
||
first time, but can be generated manually using ncdc-gen-cert(1).
|
||
|
||
$NCDC_DIR/db.sqlite3
|
||
The database. This stores all configuration variables, hash data of
|
||
shared files, download queue information and other state informa‐
|
||
tion. Manually editing this file with the `sqlite3' commandline tool
|
||
is possible but discouraged. Any changes made to the database while
|
||
ncdc is running will not be read, and may even get overwritten by
|
||
ncdc.
|
||
|
||
$NCDC_DIR/dl/
|
||
Directory where completed downloads are moved to by default. Can be
|
||
changed with the `download_dir' configuration option.
|
||
|
||
$NCDC_DIR/files.xml.bz2
|
||
Filelist containing a listing of all shared files.
|
||
|
||
$NCDC_DIR/fl/
|
||
Directory where downloaded file lists from other users are stored.
|
||
The names of the files are hex-encoded user IDs that are used inter‐
|
||
nally by ncdc. Old file lists are deleted automatically after a con‐
|
||
figurable interval. See the `filelist_maxage' configuration option.
|
||
|
||
$NCDC_DIR/history
|
||
Command history.
|
||
|
||
$NCDC_DIR/inc/
|
||
Default location for incomplete downloads. Can be changed with the
|
||
`incoming_dir' setting. The file names in this directory are the
|
||
base32-encoded TTH root of the completed file.
|
||
|
||
$NCDC_DIR/logs/
|
||
Directory where all the log files are stored. File names starting
|
||
with `#' are hub logs and `~' are user (PM) logs. Special log files
|
||
are transfers.log and main.log.
|
||
ncdc does not have built-in functionality to rotate or compress log
|
||
files automatically. When rotating log files manually (e.g. via a
|
||
cron job), make sure to send the SIGUSR1 signal afterwards to force
|
||
ncdc to flush the old logs and create or open the new log files.
|
||
|
||
$NCDC_DIR/stderr.log
|
||
Error/debug log. This file is cleared every time ncdc starts up.
|
||
|
||
$NCDC_DIR/version
|
||
Version of the data directory. This file locked while an ncdc
|
||
instance is running, making sure that no two ncdc instances work
|
||
with the same session directory at the same time.
|
||
|
||
|
||
LICENSE
|
||
Copyright (C) 2011-2012 Yoran Heling <projects@yorhel.nl>
|
||
ncdc is distributed under the MIT license, please read the COPYING file for
|
||
more information.
|
||
|
||
|
||
BUGS
|
||
Please report bugs or feature requests to projects@yorhel.nl or connect to
|
||
the development hub at adc://dc.blicky.net:2780/.
|
||
|
||
|
||
AUTHOR
|
||
ncdc is written by Yoran Heling <projects@yorhel.nl>
|
||
Web: http://dev.yorhel.nl/ncdc
|
||
|
||
|
||
SEE ALSO
|
||
ncdc-gen-cert(1), ncdc-db-upgrade(1).
|
||
|
||
|
||
|
||
ncdc-1.7 December 2011 ncdc(1)
|