Ncdc 1.8 released + various other changes and fixes

This commit is contained in:
Yorhel 2012-02-13 10:20:13 +01:00
parent 91863fab76
commit 1d24a2c6bb
12 changed files with 129 additions and 62 deletions

View file

@ -97,25 +97,25 @@ documentation.
=over
=item B<accept>
=item B</accept>
Use this command to accept the TLS certificate of a hub. This command is used only in the case the keyprint of the TLS certificate of a hub does not match the keyprint stored in the database.
=item B<browse> [[-f] <user>]
=item B</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 latest version of your list.
With arguments, the file list of the specified user will be downloaded (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.
=item B<clear>
=item B</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.
=item B<close>
=item B</close>
Close the current tab. When closing a hub tab, you will be disconnected from the hub and all related userlist and PM tabs will also be closed. Alt+c is a shortcut for this command.
=item B<connect> [<address>]
=item B</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>'
@ -126,21 +126,21 @@ Note that this command can only be used on hub tabs. If you want to open a new c
See the /open command for more information.
=item B<connections>
=item B</connections>
Open the connections tab.
=item B<disconnect>
=item B</disconnect>
Disconnect from a hub.
=item B<gc>
=item B</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.
=item B<grant> [-list|<user>]
=item B</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.
@ -148,7 +148,7 @@ To get a list of users whom you have granted a slot, use `/grant' without argume
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.
=item B<help> [<command>|set <key>|keys [<section>]]
=item B</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>.
@ -156,19 +156,19 @@ To get information on a configuration setting, use /help set <setting>.
To get help on key bindings, use /help keys.
=item B<hset> [<key> [<value>]]
=item B</hset> [<key> [<value>]]
Get or set per-hub configuration variables. Works equivalent to the `/set' command, but can only be used on hub tabs.
=item B<hunset> [<key>]
=item B</hunset> [<key>]
This command can be used to reset a per-hub configuration variable back to its global value.
=item B<kick> <user>
=item B</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.
=item B<me> <message>
=item B</me> <message>
This allows you to talk in third person. Most clients will display your message as something like:
@ -176,15 +176,15 @@ This allows you to talk in third person. Most clients will display your message
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.
=item B<msg> <user> [<message>]
=item B</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.
=item B<nick> [<nick>]
=item B</nick> [<nick>]
Alias for `/hset nick' on hub tabs, and `/set nick' otherwise.
=item B<open> [-n] <name> [<address>]
=item B</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.
@ -192,37 +192,37 @@ If you have specified an address or have previously connected to a hub from a ta
See /connect for more information on connecting to a hub.
=item B<password> <password>
=item B</password> <password>
This command can be used to send a password to the hub without saving it to the database. If you wish to login automatically without having to type /password every time, use '/hset password <password>'. Be warned, however, that your password will be saved unencrypted in that case.
=item B<pm> <user> [<message>]
=item B</pm> <user> [<message>]
Alias for /msg
=item B<queue>
=item B</queue>
Open the download queue.
=item B<quit>
=item B</quit>
Quit ncdc. You can also just hit ctrl+c, which is equivalent.
=item B<reconnect>
=item B</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.
=item B<refresh> [<path>]
=item B</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.
=item B<say> <message>
=item B</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'.
=item B<search> [options] <query>
=item B</search> [options] <query>
Performs a file search, opening a new tab with the results.
@ -250,7 +250,7 @@ The following file types can be used with the -t option:
Note that file type matching is done using file extensions, and is not very reliable.
=item B<set> [<key> [<value>]]
=item B</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.
@ -258,7 +258,7 @@ See the `/hset' command to manage configuration on a per-hub basis. Changes to t
To get information on a particular setting, use `/help set <key>'.
=item B<share> [<name> <path>]
=item B</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 example, to add a directory with the name `Fun Stuff', you could do the following:
@ -271,29 +271,29 @@ Or:
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.
=item B<ungrant> [<username>|<id>]
=item B</ungrant> [<username>|<id>]
Revoke a granted slot.
=item B<unset> [<key>]
=item B</unset> [<key>]
This command can be used to reset a global configuration variable back to its default value.
=item B<unshare> [<name>]
=item B</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.
=item B<userlist>
=item B</userlist>
Opens the user list of the currently selected hub. Can also be accessed using Alt+u.
=item B<version>
=item B</version>
Display version information.
=item B<whois> <user>
=item B</whois> <user>
This will open the user list and select the given user.
@ -374,6 +374,8 @@ The actual color values displayed by your terminal may vary. Adding the `bold' a
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 downloading 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 connection values (e.g. `DSL' or `Cable') on hubs that require this.
This setting is ignored if `upload_rate' has been set. If it is, that value is broadcasted instead.
=item B<description> <string>
A short public description that will be displayed in the user list of a hub.
@ -388,6 +390,10 @@ When recursively adding a directory to the download queue - by pressing `b' on a
This regex is not checked when adding individual files from either the file list browser or the search results.
=item B<download_rate> <speed>
Maximum combined transfer rate of all downloads. The total download speed will be limited to this value. The suffixes `G', 'M', and 'K' can be used for GiB/s, MiB/s and KiB/s, respectively. Note that, similar to upload_rate, TCP and TLS overhead are not counted towards this limit, so the actual bandwidth usage might be a little higher.
=item B<download_slots> <integer>
Maximum number of simultaneous downloads.
@ -415,6 +421,10 @@ The maximum age of a downloaded file list. If a file list was downloaded longer
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 constantly downloading the same file from you.
=item B<hash_rate> <speed>
Maximum file hashing speed. See the `download_rate' setting for allowed formats for this setting.
=item B<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.
@ -477,10 +487,16 @@ Set the policy for secure client-to-client connections. Setting this to `disable
The use of TLS for client connections usually results in less optimal performance when uploading and downloading, but is quite effective 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.
Enabling TLS may result in less accurate traffic shaping when the `download_rate' or `upload_rate' settings are used.
=item B<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.
=item B<upload_rate> <speed>
Maximum combined transfer rate of all uploads. See the `download_rate' setting for more information on rate limiting. Note that this setting also overrides any `connection' setting.
=back
@ -552,6 +568,7 @@ C</help keys> command, and is reproduced below.
d Disconnect selected connection.
i/Return Toggle information box.
f Find user in user list.
m Send a PM to the selected user.
q Find file in download queue.
=item B<Download queue>