diff --git a/dat/ncdc-changelog b/dat/ncdc-changelog index 9dd53b2..514913b 100644 --- a/dat/ncdc-changelog +++ b/dat/ncdc-changelog @@ -1,3 +1,23 @@ +1.1 - 2011-09-25 + - Select item in file browser when opened from a search result + - Added active_bind setting + - Added share_exclude setting + - Added download_exclude setting + - Added incoming_dir setting + - Added autocompletion for the previous values of certain settings + - Allow the "connection" setting to be used for ADC as well + - Added IP column to user list + - Allow sorting on description, email, tag and IP columns in user list + - Display upload speeds in the user list of an ADC hub + - Added TLS indication to connection list + - Mark selected items bold in listings + - Allow /reconnect on the main tab to reconnect all hubs + - Added slash to base path in partial file lists + - Added delay of 5 seconds before reconnecting to a hub + - Added recognition of the AP param on ADC + - Added support for UserIP2 on NMDC + - Removed support for unexpected incoming NMDC connections + 1.0 - 2011-09-16 - Added ncdc(1) and ncdc-gen-cert(1) manual pages - Documented settings (/help set ) diff --git a/dat/ncdc-man b/dat/ncdc-man index 21263d6..a2b68eb 100644 --- a/dat/ncdc-man +++ b/dat/ncdc-man @@ -205,18 +205,21 @@ INTERACTIVE COMMANDS 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 con‐ + nected hubs will be reconnected. + /refresh [] - Initiates a refresh. If no argument is given, the complete list will be - refreshed. Otherwise only the specified directory will be refreshed. The + Initiates a 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 - Sends a chat message to the current hub or user. You normally don't have + 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 '. 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, + 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] @@ -230,7 +233,7 @@ INTERACTIVE COMMANDS -t File must be of type . (see below) -tth TTH root of this file must match . - File sizes ( above) accept the following suffixes: G (GiB), M (MiB) + File sizes ( above) accept the following suffixes: G (GiB), M (MiB) and K (KiB). The following file types can be used with the -t option: @@ -242,13 +245,13 @@ INTERACTIVE COMMANDS 6 img Image files. 7 video Video files. 8 dir Directories. - Note that file type matching is done using file extensions, and is not + Note that file type matching is done using file extensions, and is not very reliable. /set [ []] - Get or set configuration variables. Use without arguments to get a list - of all settings and their current value. Changes to the settings are - automatically saved to the config file, and will not be lost after + Get or set configuration variables. Use without arguments to get a list + of all settings and their current value. Changes to the settings are + automatically saved to the config file, and will not be lost after restarting ncdc. To get information on a particular setting, use `/help set '. @@ -256,30 +259,30 @@ INTERACTIVE COMMANDS /share [ ] 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 + 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: /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 automati‐ + 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 automati‐ cally on the added directory. /unset [] - This command can be used to reset a configuration variable back to its + This command can be used to reset a configuration variable back to its default value. /unshare [] - To remove a single directory from your share, use `/unshare ', to + To remove a single directory from your share, use `/unshare ', to remove all directories from your share, use `/unshare /'. - Note that all hash data for the removed directories will be thrown away. + Note that all hash data for the removed directories will be thrown away. All files will have to be re-hashed again when the directory is later re- added. /userlist - Opens the user list of the currently selected hub. Can also be accessed + Opens the user list of the currently selected hub. Can also be accessed using Alt+u. /version @@ -292,13 +295,17 @@ INTERACTIVE COMMANDS SETTINGS The following is a list of configuration settings. These settings can be changed - and queried using the `/set' command, and are stored in the config.ini file in + and queried using the `/set' command, and are stored in the config.ini file in the session directory. active - Enables or disables active mode. Make sure to set `active_ip' and + Enables or disables active mode. Make sure to set `active_ip' and `active_port' before enabling active mode. + active_bind + IP address to bind to in active mode. When unset, ncdc will bind to all + interfaces. + active_ip 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 @@ -363,33 +370,45 @@ SETTINGS well. connection - Set your upload speed. The actual format you can use here may vary, but - in general you can 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'). - This is only used when connecting to NMDC hubs, and is just an indication - for other users in the hub so that they know what speed they can expect - when downloading from you. + 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. description - A short public description that will be displayed in the user list of a + A short public description that will be displayed in the user list of a hub. download_dir - The directory where finished downloads are moved to. Finished downloads - are by default stored in /dl/. It is possible to set - this to a location that is on a different filesystem than the session - directory, but doing so is not recommended: ncdc will block when moving + The directory where finished downloads are moved to. Finished downloads + are by default stored in /dl/. It is possible 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 + 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 expression 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 Maximum number of simultaneous downloads. email - Your email address. This will be displayed in the user list of the hub, + 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 - The character set/encoding to use for hub and PM messages. This setting + The character set/encoding to use for hub and PM messages. This setting is only used on NMDC hubs, ADC always uses UTF-8. Some common values are: CP1250 (Central Europe) CP1251 (Cyrillic) @@ -399,13 +418,18 @@ SETTINGS UTF-8 (International) hubname - 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 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 + The directory where incomplete downloads are stored. This setting can + only be changed when the download queue is empty. Also see the down‐ + load_dir setting. + log_debug - 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 + 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. @@ -416,33 +440,38 @@ SETTINGS Log file uploads to transfers.log. minislots - Set the number of available minislots. A `minislot' is a special slot - that is used when all regular upload slots are in use and someone 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 + Set the number of available minislots. A `minislot' is a special slot + that is used when all regular upload slots are in use and someone 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 constitutes a `small' file can be changed with the `minislot_size' setting. Also see the `slots' config‐ uration setting and the `/grant' command. minislot_size - The maximum size of a file that may be downloaded using a `minislot', in + The maximum size of a file that may be downloaded using a `minislot', in KiB. See the `minislots' setting for more information. nick 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 + `/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 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 con‐ + If you just want to login to a hub without saving your password, use the + `/password' command instead. Passwords are saved unencrypted in the con‐ fig file. + share_exclude + Any file or directory with a name that matches this regular expression + will not be shared. A file list refresh is required for this setting to + be effective. + share_hidden - Whether to share hidden files and directories. A `hidden' file or direc‐ + Whether to share hidden files and directories. A `hidden' file or direc‐ tory 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. @@ -450,30 +479,30 @@ SETTINGS Whether to display join/quit messages in the hub chat. slots - 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 `minislots' setting + 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 `minislots' setting and the `/grant' command. tls_policy - 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 + 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 optimal - performance when uploading and downloading, but is quite effective at - avoiding protocol-specific traffic shaping that some ISPs may do. Also + 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. KEY BINDINGS - On any tab without the text input line, you can press `?' to get the key bind‐ - ings for that tab. The list of key bindings is available through the `/help + On any tab without the text input line, you can press `?' to get the key bind‐ + ings for that tab. The list of key bindings is available through the `/help keys' command, and is reproduced below. Global key bindings @@ -537,8 +566,8 @@ KEY BINDINGS d Remove selected file from the queue. +/- Increase/decrease priority. - Note: when an item in the queue has `ERR' indicated in the priority col‐ - umn, you have two choices: You can remove the item from the queue using + Note: when an item in the queue has `ERR' indicated in the priority col‐ + umn, 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 `+'. @@ -560,12 +589,13 @@ KEY BINDINGS 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. - s Order by share size. - u Order by username. o Toggle sorting OPs before others. - t Toggle tag column visibility. - e Toggle email column visibility. - c Toggle connection column visibility. + 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. @@ -579,22 +609,22 @@ ENVIRONMENT FILES - $NCDC_DIR corresponds to the session dir set via -c, environment variable + $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 pri‐ - vate key file (client.key) and public certificate (client.crt). These + Directory where the client certificates are stored. Must contain a pri‐ + vate 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/config.ini - Main configuration file. It is recommended to use commands within ncdc - instead of editing this file manually. In particular, do not edit this + Main configuration file. It is recommended to use commands within ncdc + instead of editing this file manually. In particular, do not edit this file while ncdc is running, otherwise you will lose your changes. $NCDC_DIR/dl/ - Directory where completed downloads are moved to by default. Can be + Directory where completed downloads are moved to by default. Can be changed with the `download_dir' configuration option. $NCDC_DIR/dl.dat @@ -604,8 +634,8 @@ FILES 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 internally by + Directory where downloaded file lists from other users are stored. The + names of the files are hex-encoded user IDs that are used internally by ncdc. Old file lists are deleted automatically after one week. $NCDC_DIR/hashdata.dat @@ -615,8 +645,9 @@ FILES Command history. $NCDC_DIR/inc/ - Location for incomplete downloads. File names are the base32-encoded TTH - root of the completed file. + 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 @@ -657,4 +688,4 @@ SEE ALSO -ncdc-1.0 September 2011 ncdc(1) +ncdc-1.1 September 2011 ncdc(1) diff --git a/index.cgi b/index.cgi index 02df50d..c5dbc89 100755 --- a/index.cgi +++ b/index.cgi @@ -53,6 +53,7 @@ sub home { E; end; h2 'Updates'; + b '2011-09-25'; txt ' ncdc 1.1 released!'; br; b '2011-09-16'; txt ' ncdc 1.0 released!'; br; b '2011-09-15'; txt ' Added some screenshots for ncdu.'; br; b '2011-09-03'; txt ' ncdc 0.9 released!'; br; @@ -226,8 +227,8 @@ sub ncdc { h2 'Get ncdc!'; p; - b 'Latest version:'; txt ' 1.0 ('; - a href => '/download/ncdc-1.0.tar.gz', 'download'; + b 'Latest version:'; txt ' 1.1 ('; + a href => '/download/ncdc-1.1.tar.gz', 'download'; txt ' - '; a href => '/ncdc/changes', 'changes'; txt ' - '; a href => '/download/ncdc.md5', 'md5'; txt ' - '; a href => '/download/ncdc.sha1', 'sha1'; @@ -372,11 +373,30 @@ sub ncdcfaq { 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, MiniSlots, XmlBZList, ADCGet, TTHL and TTHF.
+ 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