Lots of changes
- ncdc 1.6 released - ncdc FAQ updates - 3 new images for /dump/nccol - added my final report to /doc - added ncdc-transfer-stats and ncdc-share-report to /dump
This commit is contained in:
parent
f1f08a5fe0
commit
0a8812e31a
11 changed files with 316 additions and 213 deletions
|
|
@ -1,135 +1,158 @@
|
||||||
|
1.6 - 2011-12-07
|
||||||
|
- Use SQLite3 for storage instead of GDBM
|
||||||
|
- Converted config.ini to SQLite3 database
|
||||||
|
- Added ncdc-db-upgrade utility
|
||||||
|
- Session directory is architecture-independent
|
||||||
|
- All data is safe against crashes and power failures
|
||||||
|
- Added support for removing/adding directories without rehashing
|
||||||
|
- Always match every file list on 'Q' key on TTH search
|
||||||
|
- Immediately flush log entries to the kernel
|
||||||
|
- Faster start-up
|
||||||
|
- Added support for per-hub 'active_ip' settings
|
||||||
|
- Allow interval notation when setting autorefresh
|
||||||
|
- Broadcast SF (number of shared files) on ADC hubs
|
||||||
|
- Combine TTH data for downloaded files to blocks of at least 1MiB
|
||||||
|
- Increased hash buffer size (10KiB -> 512KiB)
|
||||||
|
- Fix case-insensitivity of search results
|
||||||
|
- Fix reporting of user state in pm tabs at hub disconnect
|
||||||
|
- Fix generation of client certificates with openssl
|
||||||
|
- Fix segfault with duplicate users on an ADC hub
|
||||||
|
- Fix segfault when opening of a filelist fails
|
||||||
|
- Fix base32 decoding bug (fixes login sequence on some ADC hubs)
|
||||||
|
|
||||||
1.5 - 2011-11-03
|
1.5 - 2011-11-03
|
||||||
- Added filelist_maxage setting
|
- Added filelist_maxage setting
|
||||||
- Added flush_file_cache setting
|
- Added flush_file_cache setting
|
||||||
- Added /ungrant and improved /grant management
|
- Added /ungrant and improved /grant management
|
||||||
- Added key to download queue to clear user state for all files
|
- Added key to download queue to clear user state for all files
|
||||||
- Added keys to search results to download file list and match queue
|
- Added keys to search results to download file list and match queue
|
||||||
- Select the right user when using the 'q' key in connection tab
|
- Select the right user when using the 'q' key in connection tab
|
||||||
- Fixed possible crash when opening file list from search results
|
- Fixed possible crash when opening file list from search results
|
||||||
- Fixed detection of incompatible session directory version
|
- Fixed detection of incompatible session directory version
|
||||||
|
|
||||||
1.4 - 2011-10-26
|
1.4 - 2011-10-26
|
||||||
- Added sorting functionality to file list
|
- Added sorting functionality to file list
|
||||||
- Added color settings: title, separator, list_default, list_header and list_select
|
- Added color settings: title, separator, list_default, list_header and
|
||||||
- Added "blink" color attribute
|
list_select
|
||||||
- Allow /disconnect to be used on the main tab
|
- Added "blink" color attribute
|
||||||
- Display number of matched and added items when using match queue feature
|
- Allow /disconnect to be used on the main tab
|
||||||
- Use git-describe to create a version string, if available
|
- Display number of matched and added items when using match queue feature
|
||||||
- Decreased memory usage for large file lists
|
- Use git-describe to create a version string, if available
|
||||||
- Handle duplicate filenames in other users' file list
|
- Decreased memory usage for large file lists
|
||||||
- Fixed incorrect setting of the "Incomplete" flag in files.xml.bz2
|
- Handle duplicate filenames in other users' file list
|
||||||
- Fixed handling of the PM param in MSG commands on ADC
|
- Fixed incorrect setting of the "Incomplete" flag in files.xml.bz2
|
||||||
- Fixed user change notifications for PM tabs
|
- Fixed handling of the PM param in MSG commands on ADC
|
||||||
|
- Fixed user change notifications for PM tabs
|
||||||
|
|
||||||
1.3 - 2011-10-14
|
1.3 - 2011-10-14
|
||||||
- Added multi-source downloading
|
- Added multi-source downloading
|
||||||
- Added user information view and management keys to download queue tab
|
- Added user information view and management keys to download queue tab
|
||||||
- Added "search for alternative" key to queue, file browser and search tabs
|
- Added "search for alternative" key to queue, file browser and search tabs
|
||||||
- Added "match queue" key to file browser and search tabs
|
- Added "match queue" key to file browser and search tabs
|
||||||
- Added ui_time_format setting
|
- Added ui_time_format setting
|
||||||
- Added chat_only setting
|
- Added chat_only setting
|
||||||
- Changed default value of color_log_time to dark grey
|
- Changed default value of color_log_time to dark grey
|
||||||
- Improved tracking of a parent for each tab
|
- Improved tracking of a parent for each tab
|
||||||
- Improved portability for Solaris
|
- Improved portability for Solaris
|
||||||
- Fixed crash when closing a hub tab while it is connecting
|
- Fixed crash when closing a hub tab while it is connecting
|
||||||
- Fixed crash when auto-completing settings without auto-completion
|
- Fixed crash when auto-completing settings without auto-completion
|
||||||
- Fixed bug with file name display if download_dir ends with a slash
|
- Fixed bug with file name display if download_dir ends with a slash
|
||||||
- Fixed bug with uploading chunks larger than 2GiB
|
- Fixed bug with uploading chunks larger than 2GiB
|
||||||
- Fixed handling of directory search results on ADC
|
- Fixed handling of directory search results on ADC
|
||||||
|
|
||||||
1.2 - 2011-09-25
|
1.2 - 2011-09-25
|
||||||
- Fixed incorrect handling of outgoing NMDC connections
|
- Fixed incorrect handling of outgoing NMDC connections
|
||||||
|
|
||||||
1.1 - 2011-09-25
|
1.1 - 2011-09-25
|
||||||
- Select item in file browser when opened from a search result
|
- Select item in file browser when opened from a search result
|
||||||
- Added active_bind setting
|
- Added active_bind setting
|
||||||
- Added share_exclude setting
|
- Added share_exclude setting
|
||||||
- Added download_exclude setting
|
- Added download_exclude setting
|
||||||
- Added incoming_dir setting
|
- Added incoming_dir setting
|
||||||
- Added autocompletion for the previous values of certain settings
|
- Added autocompletion for the previous values of certain settings
|
||||||
- Allow the "connection" setting to be used for ADC as well
|
- Allow the "connection" setting to be used for ADC as well
|
||||||
- Added IP column to user list
|
- Added IP column to user list
|
||||||
- Allow sorting on description, email, tag and IP columns in 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
|
- Display upload speeds in the user list of an ADC hub
|
||||||
- Added TLS indication to connection list
|
- Added TLS indication to connection list
|
||||||
- Mark selected items bold in listings
|
- Mark selected items bold in listings
|
||||||
- Allow /reconnect on the main tab to reconnect all hubs
|
- Allow /reconnect on the main tab to reconnect all hubs
|
||||||
- Added slash to base path in partial file lists
|
- Added slash to base path in partial file lists
|
||||||
- Added delay of 5 seconds before reconnecting to a hub
|
- Added delay of 5 seconds before reconnecting to a hub
|
||||||
- Added recognition of the AP param on ADC
|
- Added recognition of the AP param on ADC
|
||||||
- Added support for UserIP2 on NMDC
|
- Added support for UserIP2 on NMDC
|
||||||
- Removed support for unexpected incoming NMDC connections
|
- Removed support for unexpected incoming NMDC connections
|
||||||
|
|
||||||
1.0 - 2011-09-16
|
1.0 - 2011-09-16
|
||||||
- Added ncdc(1) and ncdc-gen-cert(1) manual pages
|
- Added ncdc(1) and ncdc-gen-cert(1) manual pages
|
||||||
- Documented settings (/help set <setting>)
|
- Documented settings (/help set <setting>)
|
||||||
- Documented key bindings (/help keys)
|
- Documented key bindings (/help keys)
|
||||||
- Improved line wrapping algorithm for the log window
|
- Improved line wrapping algorithm for the log window
|
||||||
- Added support for client-to-client TLS on NMDC
|
- Added support for client-to-client TLS on NMDC
|
||||||
- Added support for the CGFI command on ADC
|
- Added support for the CGFI command on ADC
|
||||||
- Throttle GET requests on the same file + offset
|
- Throttle GET requests on the same file + offset
|
||||||
- Fixed glib assertion failure when disabling active mode
|
- Fixed glib assertion failure when disabling active mode
|
||||||
- Fixed downloading from clients using $ADCSND with -1 bytes
|
- Fixed downloading from clients using $ADCSND with -1 bytes
|
||||||
- Fixed race condition in file uploading code
|
- Fixed race condition in file uploading code
|
||||||
- Fixed idle time calculation while connecting to another client
|
- Fixed idle time calculation while connecting to another client
|
||||||
- Properly include unistd.h in dl.c
|
- Properly include unistd.h in dl.c
|
||||||
|
|
||||||
0.9 - 2011-09-03
|
0.9 - 2011-09-03
|
||||||
- Added TLS support (adcs://, nmdcs://, and ADC client-to-client)
|
- Added TLS support (adcs://, nmdcs://, and ADC client-to-client)
|
||||||
- Added tls_policy setting
|
- Added tls_policy setting
|
||||||
- Added KEYP support for ADC
|
- Added KEYP support for ADC
|
||||||
- Added warning when a hub changes TLS certificate
|
- Added warning when a hub changes TLS certificate
|
||||||
- Display exact listen ports when enabling active mode
|
- Display exact listen ports when enabling active mode
|
||||||
|
|
||||||
0.8 - 2011-08-26
|
0.8 - 2011-08-26
|
||||||
- Added transfer log
|
- Added transfer log
|
||||||
- Added log_downloads and log_uploads settings
|
- Added log_downloads and log_uploads settings
|
||||||
- Added day changed indicators to the log windows
|
- Added day changed indicators to the log windows
|
||||||
- Added common readline keys to the text input box
|
- Added common readline keys to the text input box
|
||||||
- Changed /refresh shortcut from Ctrl+e/u to Alt+r
|
- Changed /refresh shortcut from Ctrl+e/u to Alt+r
|
||||||
- Allow join messages to work even when the join completion detection fails
|
- Allow join messages to work even when the join completion detection fails
|
||||||
- Select parent tab when closing a userlist, PM or filelist tab
|
- Select parent tab when closing a userlist, PM or filelist tab
|
||||||
- Re-open log files when receiving SIGUSR1
|
- Re-open log files when receiving SIGUSR1
|
||||||
- Perform a clean shutdown when the terminal is closed
|
- Perform a clean shutdown when the terminal is closed
|
||||||
- Fixed bug in formatting the title of a /search tab
|
- Fixed bug in formatting the title of a /search tab
|
||||||
- Fixed log indent for non-ASCII nicks
|
- Fixed log indent for non-ASCII nicks
|
||||||
- Fixed log highlighting and indenting for /me messages
|
- Fixed log highlighting and indenting for /me messages
|
||||||
|
|
||||||
0.7 - 2011-08-17
|
0.7 - 2011-08-17
|
||||||
- Added word wrapping for the log window
|
- Added word wrapping for the log window
|
||||||
- Added basic colors and nick highlighting to the log window
|
- Added basic colors and nick highlighting to the log window
|
||||||
- Allow colors to be changed with the /set command
|
- Allow colors to be changed with the /set command
|
||||||
- Added backlog feature and setting
|
- Added backlog feature and setting
|
||||||
- Added silent building to the configure script
|
- Added silent building to the configure script
|
||||||
- Automatically re-open log files when they are moved/truncated externally
|
- Automatically re-open log files when they are moved/truncated externally
|
||||||
- Accept 'nmdc://' URLs as alternative to 'dchub://'
|
- Accept 'nmdc://' URLs as alternative to 'dchub://'
|
||||||
- Fixed spamming of useless $MyINFO and BINF commands every 5 minutes
|
- Fixed spamming of useless $MyINFO and BINF commands every 5 minutes
|
||||||
- Fixed minor memory leak when closing/clearing the log window
|
- Fixed minor memory leak when closing/clearing the log window
|
||||||
|
|
||||||
0.6 - 2011-08-08
|
0.6 - 2011-08-08
|
||||||
- Added file searching, through a /search command
|
- Added file searching, through a /search command
|
||||||
- Added tab to display the search results
|
- Added tab to display the search results
|
||||||
- Listen for incoming messages on UDP in active mode
|
- Listen for incoming messages on UDP in active mode
|
||||||
- Allow specifying a hub address with /open
|
- Allow specifying a hub address with /open
|
||||||
- Fixed case-sensitivity of shared files
|
- Fixed case-sensitivity of shared files
|
||||||
- Various bugfixes and other improvements
|
- Various bugfixes and other improvements
|
||||||
|
|
||||||
0.5 - 2011-08-02
|
0.5 - 2011-08-02
|
||||||
- Downloaded files are now TTH-checked
|
- Downloaded files are now TTH-checked
|
||||||
- Added download queue priorities
|
- Added download queue priorities
|
||||||
- Download queue items are automatically disabled on error
|
- Download queue items are automatically disabled on error
|
||||||
- Improved error handling and reporting for downloads
|
- Improved error handling and reporting for downloads
|
||||||
- Added download_slots setting
|
- Added download_slots setting
|
||||||
- Use a separate thread to load other users' file list
|
- Use a separate thread to load other users' file list
|
||||||
- Improved /gc to also clean up download queue related data
|
- Improved /gc to also clean up download queue related data
|
||||||
- Decreased memory usage for large file lists
|
- Decreased memory usage for large file lists
|
||||||
- Improved error handling with sendfile()
|
- Improved error handling with sendfile()
|
||||||
- Fixed downloading in passive mode on ADC hubs
|
- Fixed downloading in passive mode on ADC hubs
|
||||||
- Fixed adding a dir to the download queue while connected to the user
|
- Fixed adding a dir to the download queue while connected to the user
|
||||||
- Fixed segfault when the userlist is open while disconnecting from a hub
|
- Fixed segfault when the userlist is open while disconnecting from a hub
|
||||||
|
|
||||||
0.4 - 2011-07-23
|
0.4 - 2011-07-23
|
||||||
- Added file downloading support.
|
- Added file downloading support
|
||||||
WARNING: Downloaded files are not TTH checked at this moment.
|
WARNING: Downloaded files are not TTH checked at this moment.
|
||||||
- Added persistent download queue
|
- Added persistent download queue
|
||||||
- Added busy indicators on start-up and with /gc
|
- Added busy indicators on start-up and with /gc
|
||||||
|
|
|
||||||
37
dat/ncdc-faq
37
dat/ncdc-faq
|
|
@ -50,19 +50,26 @@ up-to-date client that still uses any of these features.
|
||||||
This is for Ubuntu 11.10, but may work for other versions as well. Run the
|
This is for Ubuntu 11.10, but may work for other versions as well. Run the
|
||||||
following command:
|
following command:
|
||||||
|
|
||||||
sudo apt-get install libbz2-dev libgdbm-dev\
|
sudo apt-get install libbz2-dev libsqlite3-dev\
|
||||||
libncursesw5-dev libxml2-dev libglib2.0-dev gnutls-bin
|
libncursesw5-dev libxml2-dev libglib2.0-dev
|
||||||
|
|
||||||
And then follow the instructions in the README.
|
And then follow the instructions in the README.
|
||||||
|
|
||||||
|
|
||||||
=head2 I'm getting the error "No PEM-encoded private key found" on startup
|
=head2 Ncdc uses too much disk space!
|
||||||
|
|
||||||
Most likely this is caused by a L<bug in
|
First, look where this disk space goes to (hint: use
|
||||||
glib-networking|https://bugzilla.gnome.org/show_bug.cgi?id=664321>. To get
|
L<ncdu|http://dev.yorhel.nl/ncdu>). If it's the log files: you can safely
|
||||||
around it, install the "certtool" utility that comes with gnutls (package
|
delete or rotate them (see next question).
|
||||||
"gnutls-bin" on Ubuntu), delete the old certificates (C<rm ~/.ncdc/cert/*>),
|
|
||||||
and then start ncdc again.
|
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?
|
=head2 Why doesn't ncdc rotate log files automatically?
|
||||||
|
|
@ -73,6 +80,15 @@ L<this is the script I use|http://p.blicky.net/s7132>, which is run as a
|
||||||
monthly cron job.
|
monthly cron job.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 I'm getting the error "No PEM-encoded private key found" on startup
|
||||||
|
|
||||||
|
(This issue should have been fixed in 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...
|
=head1 Can ncdc...
|
||||||
|
|
||||||
|
|
@ -123,6 +139,7 @@ myself, though. I just run ncdc directly on my router. :-)
|
||||||
|
|
||||||
=head2 Are there any programs available for analyzing the transfers.log file?
|
=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
|
Nothing like that is included in the release yet, but there is a simple Perl
|
||||||
Perl script available: L<ncdc-transfer-stats|http://p.blicky.net/agolr>.
|
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>.
|
||||||
|
|
||||||
|
|
|
||||||
160
dat/ncdc-man
160
dat/ncdc-man
|
|
@ -38,13 +38,13 @@ GETTING STARTED
|
||||||
/set active true
|
/set active true
|
||||||
|
|
||||||
See the help text for each of the commands and settings for more information.
|
See the help text for each of the commands and settings for more information.
|
||||||
Of course, all of the above settings are saved to the configuration file and
|
Of course, all of the above settings are saved to the database and will be used
|
||||||
will be used again on the next run.
|
again on the next run.
|
||||||
|
|
||||||
To connect to a hub, use /open:
|
To connect to a hub, use /open:
|
||||||
/open ncdc adc://dc.blicky.net:2780/
|
/open ncdc adc://dc.blicky.net:2780/
|
||||||
Here `ncdc' is the personal name you give to the hub, and the second argument
|
Here `ncdc' is the personal name you give to the hub, and the second argument
|
||||||
the URL. This URL will be saved in the config file, so the next time you want to
|
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:
|
connect to this hub, you can simply do:
|
||||||
/open ncdc
|
/open ncdc
|
||||||
See the help text for '/open' and '/connect' for more information. If you want
|
See the help text for '/open' and '/connect' for more information. If you want
|
||||||
|
|
@ -88,7 +88,7 @@ INTERACTIVE COMMANDS
|
||||||
/accept
|
/accept
|
||||||
Use this command to accept the TLS certificate of a hub. This command is
|
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
|
used only in the case the keyprint of the TLS certificate of a hub does
|
||||||
not match the keyprint stored in the configuration file.
|
not match the keyprint stored in the database.
|
||||||
|
|
||||||
/browse [[-f] <user>]
|
/browse [[-f] <user>]
|
||||||
Without arguments, this opens a new tab where you can browse your own
|
Without arguments, this opens a new tab where you can browse your own
|
||||||
|
|
@ -133,22 +133,27 @@ INTERACTIVE COMMANDS
|
||||||
|
|
||||||
/gc
|
/gc
|
||||||
Cleans up unused data and reorganizes existing data to allow more effi‐
|
Cleans up unused data and reorganizes existing data to allow more effi‐
|
||||||
cient storage and usage. Currently, this commands cleans up hashdata.dat
|
cient storage and usage. Currently, this commands removes unused hash
|
||||||
and dl.dat, removes unused files in inc/ and old files in fl/.
|
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
|
This command may take some time to complete, and will fully block ncdc
|
||||||
while it is running. You won't have to perform this command very often.
|
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 com‐
|
||||||
|
plete.
|
||||||
|
|
||||||
/grant [-list|<user>]
|
/grant [-list|<user>]
|
||||||
Grant someone a slot. This allows the user to download from you even if
|
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
|
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
|
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
|
will have to wait for a regular slot. Unless, of course, you /grant a
|
||||||
slot again.
|
slot again.
|
||||||
|
|
||||||
To get a list of users whom you have granted a slot, use `/grant' without
|
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 argu‐
|
arguments or with `-list'. Be warned that using `/grant' without argu‐
|
||||||
ments on a PM tab will grant the slot to the user you are talking with.
|
ments on a PM tab will grant the slot to the user you are talking with.
|
||||||
Make sure to use `-all' in that case.
|
Make sure to use `-all' in that case.
|
||||||
|
|
||||||
Note that a granted slot is specific to a single hub. If the same user is
|
Note that a granted slot is specific to a single hub. If the same user is
|
||||||
|
|
@ -162,20 +167,20 @@ INTERACTIVE COMMANDS
|
||||||
|
|
||||||
|
|
||||||
/kick <user>
|
/kick <user>
|
||||||
Kick a user from the hub. This command only works on NMDC hubs, and you
|
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.
|
need to be an OP to be able to use it.
|
||||||
|
|
||||||
/me <message>
|
/me <message>
|
||||||
This allows you to talk in third person. Most clients will display your
|
This allows you to talk in third person. Most clients will display your
|
||||||
message as something like:
|
message as something like:
|
||||||
** Nick is doing something
|
** Nick is doing something
|
||||||
|
|
||||||
Note that this command only works correctly on ADC hubs. The NMDC proto‐
|
Note that this command only works correctly on ADC hubs. The NMDC proto‐
|
||||||
col does not have this feature, and your message will be sent as-is,
|
col does not have this feature, and your message will be sent as-is,
|
||||||
including the /me.
|
including the /me.
|
||||||
|
|
||||||
/msg <user> [<message>]
|
/msg <user> [<message>]
|
||||||
Send a private message to a user on the currently opened hub. If no mes‐
|
Send a private message to a user on the currently opened hub. If no mes‐
|
||||||
sage is given, the tab will be opened but no message will be sent.
|
sage is given, the tab will be opened but no message will be sent.
|
||||||
|
|
||||||
/nick [<nick>]
|
/nick [<nick>]
|
||||||
|
|
@ -183,19 +188,19 @@ INTERACTIVE COMMANDS
|
||||||
|
|
||||||
/open [-n] <name> [<address>]
|
/open [-n] <name> [<address>]
|
||||||
Opens a new tab to use for a hub. The name is a (short) personal name you
|
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 con‐
|
use to identify the hub, and will be used for storing hub-specific con‐
|
||||||
figuration.
|
figuration.
|
||||||
|
|
||||||
If you have specified an address or have previously connected to a hub
|
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
|
from a tab with the same name, /open will automatically connect to the
|
||||||
hub. Use the `-n' flag to disable this behaviour.
|
hub. Use the `-n' flag to disable this behaviour.
|
||||||
|
|
||||||
See /connect for more information on connecting to a hub.
|
See /connect for more information on connecting to a hub.
|
||||||
|
|
||||||
/password <password>
|
/password <password>
|
||||||
This command can be used to send a password to the hub without saving it
|
This command can be used to send a password to the hub without saving it
|
||||||
to the config file. If you wish to login automatically without having to
|
to the database. If you wish to login automatically without having to
|
||||||
type /password every time, use '/set password <password>'. Be warned,
|
type /password every time, use '/set password <password>'. Be warned,
|
||||||
however, that your password will be saved unencrypted in that case.
|
however, that your password will be saved unencrypted in that case.
|
||||||
|
|
||||||
/pm <user> [<message>]
|
/pm <user> [<message>]
|
||||||
|
|
@ -208,24 +213,24 @@ INTERACTIVE COMMANDS
|
||||||
Quit ncdc. You can also just hit ctrl+c, which is equivalent.
|
Quit ncdc. You can also just hit ctrl+c, which is equivalent.
|
||||||
|
|
||||||
/reconnect
|
/reconnect
|
||||||
Reconnect to the hub. When your nick or the hub encoding have been
|
Reconnect to the hub. When your nick or the hub encoding have been
|
||||||
changed, the new settings will be used after the reconnect.
|
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‐
|
This command can also be used on the main tab, in which case all con‐
|
||||||
nected hubs will be reconnected.
|
nected hubs will be reconnected.
|
||||||
|
|
||||||
/refresh [<path>]
|
/refresh [<path>]
|
||||||
Initiates share refresh. If no argument is given, the complete list will
|
Initiates share refresh. If no argument is given, the complete list will
|
||||||
be refreshed. Otherwise only the specified directory will be refreshed.
|
be refreshed. Otherwise only the specified directory will be refreshed.
|
||||||
The path argument can be either an absolute filesystem path or a virtual
|
The path argument can be either an absolute filesystem path or a virtual
|
||||||
path within your share.
|
path within your share.
|
||||||
|
|
||||||
/say <message>
|
/say <message>
|
||||||
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
|
to use the /say command explicitly, any command not staring with '/' will
|
||||||
automatically imply `/say <command>'. For example, typing `hello.' in the
|
automatically imply `/say <command>'. For example, typing `hello.' in the
|
||||||
command line is equivalent to `/say hello.'. Using the /say command
|
command line is equivalent to `/say hello.'. Using the /say command
|
||||||
explicitly may be useful to send message starting with '/' to the chat,
|
explicitly may be useful to send message starting with '/' to the chat,
|
||||||
for example `/say /help is what you are looking for'.
|
for example `/say /help is what you are looking for'.
|
||||||
|
|
||||||
/search [options] <query>
|
/search [options] <query>
|
||||||
|
|
@ -239,7 +244,7 @@ INTERACTIVE COMMANDS
|
||||||
-t <t> File must be of type <t>. (see below)
|
-t <t> File must be of type <t>. (see below)
|
||||||
-tth <h> TTH root of this file must match <h>.
|
-tth <h> TTH root of this file must match <h>.
|
||||||
|
|
||||||
File sizes (<s> above) accept the following suffixes: G (GiB), M (MiB)
|
File sizes (<s> above) accept the following suffixes: G (GiB), M (MiB)
|
||||||
and K (KiB).
|
and K (KiB).
|
||||||
|
|
||||||
The following file types can be used with the -t option:
|
The following file types can be used with the -t option:
|
||||||
|
|
@ -251,13 +256,13 @@ INTERACTIVE COMMANDS
|
||||||
6 img Image files.
|
6 img Image files.
|
||||||
7 video Video files.
|
7 video Video files.
|
||||||
8 dir Directories.
|
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.
|
very reliable.
|
||||||
|
|
||||||
/set [<key> [<value>]]
|
/set [<key> [<value>]]
|
||||||
Get or set configuration variables. Use without arguments to get a list
|
Get or set configuration variables. Use without arguments to get a list
|
||||||
of all settings and their current value. Changes to the settings are
|
of all settings and their current value. Changes to the settings are
|
||||||
automatically saved to the config file, and will not be lost after
|
automatically saved to the config file, and will not be lost after
|
||||||
restarting ncdc.
|
restarting ncdc.
|
||||||
|
|
||||||
To get information on a particular setting, use `/help set <key>'.
|
To get information on a particular setting, use `/help set <key>'.
|
||||||
|
|
@ -265,33 +270,35 @@ INTERACTIVE COMMANDS
|
||||||
/share [<name> <path>]
|
/share [<name> <path>]
|
||||||
Use /share without arguments to get a list of shared directories.
|
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.
|
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:
|
directory with the name `Fun Stuff', you could do the following:
|
||||||
/share "Fun Stuff" /path/to/fun/stuff
|
/share "Fun Stuff" /path/to/fun/stuff
|
||||||
Or:
|
Or:
|
||||||
/share Fun\ Stuff /path/to/fun/stuff
|
/share Fun\ Stuff /path/to/fun/stuff
|
||||||
|
|
||||||
The full path to the directory will not be visible to others, only the
|
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‐
|
name you give it will be public. An initial `/refresh' is done automati‐
|
||||||
cally on the added directory.
|
cally on the added directory.
|
||||||
|
|
||||||
/ungrant [<username>|<id>]
|
/ungrant [<username>|<id>]
|
||||||
Revoke a granted slot.
|
Revoke a granted slot.
|
||||||
|
|
||||||
/unset [<key>]
|
/unset [<key>]
|
||||||
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.
|
default value.
|
||||||
|
|
||||||
/unshare [<name>]
|
/unshare [<name>]
|
||||||
To remove a single directory from your share, use `/unshare <name>', to
|
To remove a single directory from your share, use `/unshare <name>', to
|
||||||
remove all directories from your share, use `/unshare /'.
|
remove all directories from your share, use `/unshare /'.
|
||||||
|
|
||||||
Note that all hash data for the removed directories will be thrown away.
|
Note that the hash data associated with the removed files will remain in
|
||||||
All files will have to be re-hashed again when the directory is later re-
|
the database. This allows you to re-add the files to your share without
|
||||||
added.
|
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
|
/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.
|
using Alt+u.
|
||||||
|
|
||||||
/version
|
/version
|
||||||
|
|
@ -304,46 +311,45 @@ INTERACTIVE COMMANDS
|
||||||
|
|
||||||
SETTINGS
|
SETTINGS
|
||||||
The following is a list of configuration settings. These settings can be changed
|
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 db.sqlite3 file in
|
||||||
the session directory.
|
the session directory.
|
||||||
|
|
||||||
active <boolean>
|
active <boolean>
|
||||||
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_port' before enabling active mode.
|
||||||
|
|
||||||
active_bind <string>
|
active_bind <string>
|
||||||
IP address to bind to in active mode. When unset, ncdc will bind to all
|
IP address to bind to in active mode. When unset, ncdc will bind to all
|
||||||
interfaces.
|
interfaces.
|
||||||
|
|
||||||
active_ip <string>
|
active_ip <string>
|
||||||
Your public IP address for use in active mode. It is important that other
|
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
|
clients can reach you using this IP address. If you connect to a hub on
|
||||||
the internet, this should be your internet (WAN) IP. Likewise, if you
|
the internet, this should be your internet (WAN) IP. Likewise, if you
|
||||||
connect to a hub on your LAN, this should be your LAN IP.
|
connect to a hub on your LAN, this should be your LAN IP.
|
||||||
|
|
||||||
Note that this setting is global for ncdc: it is currently not possible
|
Unlike the other connection-related settings, this can be changed on a
|
||||||
to use a single instance of ncdc to connect to both internet and LAN
|
per-hub basis, allowing you to have a different public IP address per
|
||||||
hubs, if you are not reachable on the same IP with both networks. In that
|
hub.
|
||||||
case you can either use passive mode or run two separate instances of
|
|
||||||
ncdc.
|
|
||||||
|
|
||||||
active_port <integer>
|
active_port <integer>
|
||||||
The listen port for incoming connections in active mode. Set to `0' to
|
The listen port for incoming connections in active mode. Set to `0' to
|
||||||
automatically assign a random port. If TLS support is available, another
|
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
|
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
|
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
|
behind a router or firewall, make sure that you have configured it to
|
||||||
forward and allow these ports.
|
forward and allow these ports.
|
||||||
|
|
||||||
autoconnect <boolean>
|
autoconnect <boolean>
|
||||||
Set to true to automatically connect to the current hub when ncdc starts
|
Set to true to automatically connect to the current hub when ncdc starts
|
||||||
up.
|
up.
|
||||||
|
|
||||||
autorefresh <integer>
|
autorefresh <interval>
|
||||||
The time between automatic file refreshes, in minutes. Set to 0 to dis‐
|
The time between automatic file refreshes. Recognized suffices are 's'
|
||||||
able automatically refreshing the file list. This setting also determines
|
for seconds, 'm' for minutes, 'h' for hours and 'd' for days. Set to 0 to
|
||||||
whether ncdc will perform a refresh on startup. See the `/refresh' com‐
|
disable automatically refreshing the file list. This setting also deter‐
|
||||||
mand to manually refresh your file list.
|
mines whether ncdc will perform a refresh on startup. See the `/refresh'
|
||||||
|
command to manually refresh your file list.
|
||||||
|
|
||||||
backlog <integer>
|
backlog <integer>
|
||||||
When opening a hub or PM tab, ncdc can load a certain amount of lines
|
When opening a hub or PM tab, ncdc can load a certain amount of lines
|
||||||
|
|
@ -683,18 +689,17 @@ FILES
|
||||||
should be generated automatically when ncdc starts up the first time, but
|
should be generated automatically when ncdc starts up the first time, but
|
||||||
can be generated manually using ncdc-gen-cert(1).
|
can be generated manually using ncdc-gen-cert(1).
|
||||||
|
|
||||||
$NCDC_DIR/config.ini
|
$NCDC_DIR/db.sqlite3
|
||||||
Main configuration file. It is recommended to use commands within ncdc
|
The database. This stores all configuration variables, hash data of
|
||||||
instead of editing this file manually. In particular, do not edit this
|
shared files, download queue information and other state information.
|
||||||
file while ncdc is running, otherwise you will lose your changes.
|
Manually editing this file with the `sqlite3' commandline tool is possi‐
|
||||||
|
ble but discouraged. Any changes made to the database while ncdc is run‐
|
||||||
|
ning will not be read, and may even get overwritten by ncdc.
|
||||||
|
|
||||||
$NCDC_DIR/dl/
|
$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.
|
changed with the `download_dir' configuration option.
|
||||||
|
|
||||||
$NCDC_DIR/dl.dat
|
|
||||||
Stores information about the download queue.
|
|
||||||
|
|
||||||
$NCDC_DIR/files.xml.bz2
|
$NCDC_DIR/files.xml.bz2
|
||||||
Filelist containing a listing of all shared files.
|
Filelist containing a listing of all shared files.
|
||||||
|
|
||||||
|
|
@ -704,9 +709,6 @@ FILES
|
||||||
ncdc. Old file lists are deleted automatically after a configurable
|
ncdc. Old file lists are deleted automatically after a configurable
|
||||||
interval. See the `filelist_maxage' configuration option.
|
interval. See the `filelist_maxage' configuration option.
|
||||||
|
|
||||||
$NCDC_DIR/hashdata.dat
|
|
||||||
File information and hash data for shared files.
|
|
||||||
|
|
||||||
$NCDC_DIR/history
|
$NCDC_DIR/history
|
||||||
Command history.
|
Command history.
|
||||||
|
|
||||||
|
|
@ -750,8 +752,8 @@ AUTHOR
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
ncdc-gen-cert(1).
|
ncdc-gen-cert(1), ncdc-db-upgrade(1).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ncdc-1.5 November 2011 ncdc(1)
|
ncdc-1.6 December 2011 ncdc(1)
|
||||||
|
|
|
||||||
17
download/ncdc-1.6.tar.gz.asc
Normal file
17
download/ncdc-1.6.tar.gz.asc
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||||
|
|
||||||
|
iQIcBAABCgAGBQJO34UeAAoJEGI5TGmMJzn6wBkP/jZvIr0ylFoTwgSVEA9yaePk
|
||||||
|
OcafdIaAuhJxk5b66cohmYSO5kkSWY9FtPtJYitdocLvzmLL5EkrOvY+WHCcBDcB
|
||||||
|
kJa31ScqgfwXGIHbpaZU9aAwoU9uoAjzxoRalxCvQ3PHAp/l5i5NJMNxH2IpByRn
|
||||||
|
Jr8Ufb6lj8Nkek9USl4NmYeK2LMQH/7q9FHr6gS82K1lJ0tNsYPYiBNF7eGjr1Bw
|
||||||
|
pxoOthEtCbFeTIfJj2crM8UbQfXMsDFJHTbMmnh8dsAixIIpvT4CDR4Opaubp0Vc
|
||||||
|
XdM+52W5EPPwGE8GdGc+r2X82LePB8zsjNmWoe7gGWH9nlMbH+IPDzsUj/oA+bj/
|
||||||
|
L3T8/Uxs+uh/Jq3IX8v0WxMVcHVDIa8AE4yIRAs5apJwd9635V3CdDwGwIubHGXS
|
||||||
|
GSSe7UjxZZ9sAIxwsmwgxamtW1+GjLEjzieuHQedVJNW2ObE8/pmpZfJBBDc0LqB
|
||||||
|
wlpQsOzFH8R7y0HmB0VTnjerkbbaGKPOFVtYVFi04bjEc0J/XSXGWmHGT45Y0v7a
|
||||||
|
Gs0ibEPjgTAZUQMjhj0U1qvv9cVmxJfsWwI9e48K1alCQy8rdwf+pF9PQYrzrlaB
|
||||||
|
Sz90KQEuRM54H8VHWZg60Ba2YPv0S+xSqH8gbihdbxr6IEBLcUfkCmexzrudE5TV
|
||||||
|
xMIJUXseGiv0A/C6K5pB
|
||||||
|
=Z7Rl
|
||||||
|
-----END PGP SIGNATURE-----
|
||||||
1
download/ncdc-1.6.tar.gz.md5
Normal file
1
download/ncdc-1.6.tar.gz.md5
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
99d5f58029c2676c38d417bf50632c3e ncdc-1.6.tar.gz
|
||||||
1
download/ncdc-1.6.tar.gz.sha1
Normal file
1
download/ncdc-1.6.tar.gz.sha1
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
e84831f08aa406134e14c5d14bce158d79b152dd ncdc-1.6.tar.gz
|
||||||
BIN
img/nccol-osx-iterm2.png
Normal file
BIN
img/nccol-osx-iterm2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
BIN
img/nccol-osx-terminal.png
Normal file
BIN
img/nccol-osx-terminal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
BIN
img/nccol-ubuntu.png
Normal file
BIN
img/nccol-ubuntu.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
71
index.cgi
71
index.cgi
|
|
@ -56,6 +56,7 @@ sub home {
|
||||||
E;
|
E;
|
||||||
end;
|
end;
|
||||||
h2 'Updates';
|
h2 'Updates';
|
||||||
|
b '2011-12-07'; txt ' ncdc 1.6 released!'; br;
|
||||||
b '2011-11-26'; txt ' Added article section and the article on SQLite.'; br;
|
b '2011-11-26'; txt ' Added article section and the article on SQLite.'; br;
|
||||||
b '2011-11-03'; txt ' ncdc 1.5 and ncdu 1.8 released!'; br;
|
b '2011-11-03'; txt ' ncdc 1.5 and ncdu 1.8 released!'; br;
|
||||||
b '2011-10-26'; txt ' ncdc 1.4 released!'; br;
|
b '2011-10-26'; txt ' ncdc 1.4 released!'; br;
|
||||||
|
|
@ -251,13 +252,14 @@ sub ncdc {
|
||||||
|
|
||||||
h2 'Get ncdc!';
|
h2 'Get ncdc!';
|
||||||
p;
|
p;
|
||||||
b 'Latest version:'; txt ' 1.5 (';
|
b 'Latest version:'; txt ' 1.6 (';
|
||||||
$s->htmlDLLink('ncdc-1.5.tar.gz', 'download');
|
$s->htmlDLLink('ncdc-1.6.tar.gz', 'download');
|
||||||
txt ' - '; a href => '/ncdc/changes', 'changes';
|
txt ' - '; a href => '/ncdc/changes', 'changes';
|
||||||
txt ' - '; a href => 'https://sourceforge.net/projects/ncdc/files/ncdc/', 'mirror';
|
txt ' - '; a href => 'https://sourceforge.net/projects/ncdc/files/ncdc/', 'mirror';
|
||||||
txt ')'; br;
|
txt ')'; br;
|
||||||
txt 'You can also get the latest development version from ';
|
txt 'The latest development version can be fetched from the git repository
|
||||||
a href => 'http://g.blicky.net/ncdc.git/', 'this git repository';
|
at '; code 'git://g.blicky.net/ncdc.git'; txt ' and is available for ';
|
||||||
|
a href => 'http://g.blicky.net/ncdc.git/', 'online browsing';
|
||||||
txt '. The README includes instructions to build ncdc. Check out the ';
|
txt '. The README includes instructions to build ncdc. Check out the ';
|
||||||
a href => '/ncdc/man', 'manual'; txt ' to get started.';
|
a href => '/ncdc/man', 'manual'; txt ' to get started.';
|
||||||
br;br;
|
br;br;
|
||||||
|
|
@ -311,7 +313,7 @@ sub ncdc {
|
||||||
h2 'Requirements';
|
h2 'Requirements';
|
||||||
p;
|
p;
|
||||||
lit <<' E;';
|
lit <<' E;';
|
||||||
The following libraries are required: ncurses, bzip2, gdbm, glib2 and libxml2.<br />
|
The following libraries are required: ncurses, bzip2, sqlite3, glib2 and libxml2.<br />
|
||||||
For TLS support, you will need at least glib2 version 2.28.0 and
|
For TLS support, you will need at least glib2 version 2.28.0 and
|
||||||
glib-networking installed.<br />
|
glib-networking installed.<br />
|
||||||
These dependencies should be easy to satisfy. Depending on your system, you
|
These dependencies should be easy to satisfy. Depending on your system, you
|
||||||
|
|
@ -363,6 +365,8 @@ sub ncdcscr {
|
||||||
my $s = shift;
|
my $s = shift;
|
||||||
$s->htmlHeader(title => 'Screenshots', page => 'ncdc', tab => 'scr');
|
$s->htmlHeader(title => 'Screenshots', page => 'ncdc', tab => 'scr');
|
||||||
p;
|
p;
|
||||||
|
txt 'Note: While these screenshots are from version 1.5, the latest version has only little visible changes.';
|
||||||
|
br; br;
|
||||||
txt 'Main chat';
|
txt 'Main chat';
|
||||||
img src => '/img/ncdchub.png', class => 'scr', alt => 'Ncdc in the mainchat.';
|
img src => '/img/ncdchub.png', class => 'scr', alt => 'Ncdc in the mainchat.';
|
||||||
br;br;
|
br;br;
|
||||||
|
|
@ -497,6 +501,21 @@ sub docindex {
|
||||||
p;
|
p;
|
||||||
txt '2011-11-26 - '; b 'Multi-threaded Access to an SQLite3 Database';
|
txt '2011-11-26 - '; b 'Multi-threaded Access to an SQLite3 Database';
|
||||||
txt ' ['; a href => '/doc/sqlaccess', 'HTML'; txt ' - '; a href => '/dat/sqlaccess', rel => 'nofollow', 'POD'; txt ']';
|
txt ' ['; a href => '/doc/sqlaccess', 'HTML'; txt ' - '; a href => '/dat/sqlaccess', rel => 'nofollow', 'POD'; txt ']';
|
||||||
|
br;
|
||||||
|
txt '2010-06-02 - '; b 'Design and implementation of a compressed linked list library';
|
||||||
|
txt ' ['; a href => '/download/doc/compll.pdf', 'PDF'; txt ']';
|
||||||
|
br;br;
|
||||||
|
txt q|Disclaimer: The last one isn't really an article. It's the report for the
|
||||||
|
final project of my professional (HBO) bachelor of Electrical
|
||||||
|
Engineering. I was very liberal with some terminology in this report. For
|
||||||
|
example, "linked lists" aren't what you think they are, and I didn't even
|
||||||
|
use the term "locality of reference" where I really should have. It was
|
||||||
|
also written for an audience with little knowledge on the subject, so I
|
||||||
|
elaborated on a lot of things that should be obvious for most people in
|
||||||
|
the field. Then there is a lot of uninteresting overhead about the
|
||||||
|
project itself, which just happened to be mandatory for this report.
|
||||||
|
Nonetheless, if you can ignore these faults it's not such a bad read, if
|
||||||
|
I may say so myself. :-)|;
|
||||||
end;
|
end;
|
||||||
$s->htmlFooter;
|
$s->htmlFooter;
|
||||||
}
|
}
|
||||||
|
|
@ -590,6 +609,25 @@ sub dump {
|
||||||
E;
|
E;
|
||||||
a href => 'http://g.blicky.net/serika.git/tree/json.mll', 'source';
|
a href => 'http://g.blicky.net/serika.git/tree/json.mll', 'source';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
h2 'ncdc-transfer-stats';
|
||||||
|
p;
|
||||||
|
lit <<' E;';
|
||||||
|
September 2011. <a href="/ncdc">ncdc</a> gained transfer logging features,
|
||||||
|
and I wrote a quick Perl script to fetch some simple statistics from it.
|
||||||
|
E;
|
||||||
|
a href => 'http://p.blicky.net/agolr', 'source';
|
||||||
|
end;
|
||||||
|
|
||||||
|
h2 'ncdc-share-report';
|
||||||
|
p;
|
||||||
|
lit <<' E;';
|
||||||
|
December 2011. Playing around with the Go programming language, I wrote
|
||||||
|
another transfer log parser and statistics generator for ncdc.
|
||||||
|
<a href="http://p.blicky.net/6yx2d">latest source</a>
|
||||||
|
(<a href="http://p.blicky.net/ab4lm">0.1</a>)
|
||||||
|
E;
|
||||||
|
end;
|
||||||
$s->htmlFooter;
|
$s->htmlFooter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -823,9 +861,9 @@ sub dumpnccolour {
|
||||||
li 'Unfortunately, not all terminals are configured in such a way that all
|
li 'Unfortunately, not all terminals are configured in such a way that all
|
||||||
possible colours are readable. So as a developer you\'ll still have to
|
possible colours are readable. So as a developer you\'ll still have to
|
||||||
support configurable colour schemes in your ncurses application. :-(';
|
support configurable colour schemes in your ncurses application. :-(';
|
||||||
li 'None of the tested terminals make an attempt to change the foreground
|
li 'On most terminals, setting the foreground and background colour to the
|
||||||
colour if it is (almost) invisible on the selected background colour. This
|
same value without applying the A_BOLD attribute will make the text
|
||||||
can be a good thing or a bad thing, depending on what you want.';
|
invisible. Don\'t rely on this, however, as this is not the case on OS X.';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
h2 'Full screenshot';
|
h2 'Full screenshot';
|
||||||
|
|
@ -839,13 +877,16 @@ sub dumpnccolour {
|
||||||
|
|
||||||
h2 'Screenshots';
|
h2 'Screenshots';
|
||||||
my @img = (
|
my @img = (
|
||||||
'rox-b' => 'Arch Linux, Roxterm, Default color scheme',
|
'rox-b' => 'Arch Linux, Roxterm, Default color scheme',
|
||||||
'rox-w' => 'Arch Linux, Roxterm, GTK color scheme',
|
'rox-w' => 'Arch Linux, Roxterm, GTK color scheme',
|
||||||
'rox-t' => 'Arch Linux, Roxterm, Tango color scheme',
|
'rox-t' => 'Arch Linux, Roxterm, Tango color scheme',
|
||||||
'rox-c' => 'Arch Linux, Roxterm, Modified Tango color scheme',
|
'rox-c' => 'Arch Linux, Roxterm, Modified Tango color scheme',
|
||||||
xterm => 'Arch Linux, xterm (default settings)',
|
xterm => 'Arch Linux, xterm (default settings)',
|
||||||
debian => 'Debian Squeeze, VT (default settings)',
|
ubuntu => 'Ubuntu 11.10, Gnome-terminal',
|
||||||
fbsd => 'FreeBSD, VT (default settings)',
|
debian => 'Debian Squeeze, VT (default settings)',
|
||||||
|
fbsd => 'FreeBSD, VT (default settings)',
|
||||||
|
'osx-terminal' => 'Mac OS X, Terminal',
|
||||||
|
'osx-iterm2' => 'Mac OS X, iTerm2',
|
||||||
);
|
);
|
||||||
while(@img) {
|
while(@img) {
|
||||||
my($n, $t) = (shift(@img), shift(@img));
|
my($n, $t) = (shift(@img), shift(@img));
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
User-Agent: *
|
User-Agent: *
|
||||||
Disallow: /download
|
Disallow: /download
|
||||||
|
Disallow: /dat
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue