Help for DC++

Documentation

Changelog
This page contains everything that has changed in the history of DC++. Read this to find out about features that are poorly or not documented at all. You'll also find all the people that have contributed code to DC++ here.

Etiquette for Direct Connect usage
You may not agree with everything in this page, but reading the advice never hurts. The page outlines some simple guidelines that make the use of the Direct Connect Network more enjoyable for everyone.

Chat and Private Message Commands
These are the commands that are available in chat, private messages, or both. They offer handy keyboard shortcuts to functions in the graphical interface. Some commands have no graphical counterpart.

Links
View the various links for DC++.

Credits
View the credits and license of this help file.

Windows

ADLSearch
Favorite Hubs
Favorite Users

Frequently Asked Questions

How to set up active mode?
How to set up UPnP?
My University blocks DC++
Why don't I get any search results?
Why am I getting slow download speeds?
Which keyboard shortcuts are available?
What do the different icons mean?
What do the units mean?

Settings

Personal information
Connection settings
Downloads
Sharing
Appearance
Colors and sounds
Logs
Advanced
Experts only
User Commands

Development

Applying patches
Creating patches


Changelog

DC++ Changelog

See the version history of DC++ below.

0.674 (2005-04-10)

  • *** WARNING ***
  • This version fixes a security bug, upgrade unless you want to risk losing data
  • anywhere on your drive, this error affects all clients from 0.307 to date (thanks cologic for finding it)
  • *** WARNING ***
  • Added stats window to autoopen (thanks paka)
  • Fixed context menu open for multi-screen setups (thanks trem)
  • Changed country database to the original format so that users can update by themselves (thanks paka)
  • Fixed some registry issues (thanks trem)
  • Fixed localised number encodings (thanks trem)
  • Updated sorting to use a more windows-like order (thanks trem)
  • Fixed an issue with restore all (thanks krzysztof tyszecki)
  • Added list view tooltips

0.673 (2005-03-22)

  • Added auto-prio by file size settings (thanks paka)
  • Fixed yet another context menu fix (in case anyone wondered, it should now be possible to use the context menu key for all context menus)
  • Fixed a search crash with search history set at 0
  • Updated unicows W95 unicode support
  • Updated to latest WTL
  • Fixed directory listing total sizes (thanks trem)
  • Fixed empty oplist issue

0.672 (2005-03-20)

  • Fixed an issue when loading pre-671 file lists
  • Fixed the context menu fix

0.671 (2005-03-19)

  • Added possibility to set minislot size (thanks ullner)
  • [bug 22] Added possibility for multiline away messages and user commands (thanks ullner)
  • Added file type to queue frame (thanks ullner)
  • Changed stats frame to use standard colors (thanks yoji)
  • [bug 439] Fixed purge button (thanks ullner)
  • Fixed search frame only tth issue (thanks naga)
  • Updated to ADC 0.9
  • Fixed a crash bug (thanks trem)
  • Fixed a geoip init bug (thanks trem)
  • Fixed a prio setting bug (thanks tpo)
  • Fixed some font settings (thanks tpo)
  • Fixed ADC password sending
  • Magnet registration fix (thanks ullner and farcry)
  • Finished partial file lists for ADC
  • Fixed some ADC crashes
  • Basic ADC searches now work
  • Basic ADC pms now work
  • Basic ADC transfers now work
  • Added option to specify bind address for sockets (thanks sed)
  • Made the connection flood trigger slighly less sensitive
  • [bug 58] Fixed strange user list behaviour
  • [bug 83] Consolidated auto-open window options
  • Fixed some context menu stuff

0.670 (2005-02-04)

  • Fixed an issue with international formats of float numbers (also fixes UDP port setting)
  • Fixed a minor crash log output address issue
  • Split off color and sound to a new page (thanks ullner)
  • [bug 359] Fixed an issue with negative search terms (thanks naga)
  • Added option to filter TTH results in search spy (thanks joakim tosteberg)
  • [bug 184] Updated log functionality to allow users to customize log filenames (thanks naga)
  • Fixes to log edit function (thanks naga)
  • Added possibility to filter all searches without tth (thanks naga)
  • More preferences splitting (thanks ullner)
  • Small socket fix (thanks tremor)
  • Search tab goes bold if set to (thanks naga)
  • Hopefully fixed an UPnP crash
  • [bug 302] User commands in file lists (thanks joakim tosteberg)
  • ADC url's clickable (thanks naga)
  • Improved search timer to avoid spamming hub (thanks naga)
  • Redid some of the hash storage code, should be slighly more efficient
  • [bug 94] Share is cached for faster startup
  • Temporary targetnames are now filled in when download starts, not when item is added to queue, which makes temp target dir changes happen for current queue items as well, plus we get a huge memory save on huge queues.
  • [bug 363] Added "Remove All Sources" to queue (thanks izzzo & garg)
  • Queue menu items greyed out when there are no items (thanks izzzo)
  • Fixed a crash with certain empty lists (thanks garg)
  • Added "restore all" to undo "minimize all" (thanks guitarm)
  • Added optional pm history (thanks trem and ullner)
  • Better log file managment (thanks trem)
  • [bug 412] Fixed a queue count issue on removal (thanks ullner)
  • [bug 9] Fixed a queue move issue (thanks paka)
  • [bug 20] Fixed upload auto-slot granting (thanks naga)
  • Redid adl search to accomodate for partial list browsing (thanks garg)
  • Added initial ADC file transfers support
  • ADC hub connectivity improved
  • Fixed unnecessary COM initialisation (thanks garg)
  • Some linux compile fixes
  • Added readd all sources (thanks garg)
  • Fixed a deadlock when closing hub windows (thanks trem)
  • Added user ip logging in up and downloads (thanks ullner)
  • Small spy frame fix (thanks garg)
  • Small pm fix (thanks garg)
  • Added password warning for n00bs (thanks sed)
  • Help file updates (thanks ullner, garg)
  • Probably fixed the list redownloading bug
  • Hash index format change (as a side effect, it's very easy to find dupes in the new format, someone should make a tool)
  • Download manager changes in preparation for partial list browsing and other ADC features
  • Improved efficiency for small files (<=64KiB) in the hash storage
  • Added advanced resume that detects and tries to repair rollback inconsistencies using tiger trees
  • Fixed a rare invalid zlib decompression error
  • Autosearch and automatch queue is now done by tth only (!) (thanks garg)
  • Automatch search done by tth only, should make things slightly faster
  • Search for alternates automatically uses tth if available (thanks garg)
  • Lowered compression level so that uploads will take less cpu
  • Added exact file size to directory listings (thanks paka)
  • Remove confirm fix (thanks trem)
  • Added option for the new tab select behaviour (thanks trem)
  • [bug 116] Added possibility to download to temp folder on the same drive as target (thanks sed)
  • Fixed user command string for file list context (thanks sed)
  • [bug 290] Added more correct escaping of search strings (thanks sed)
  • [bug 432] Fixed download directory for adlsearch matches (thanks ullner)
  • Some UPnP fixes (thanks nils maier)
  • ADL Search byte prefix fixes, might screw up your adl search settings on first load (thanks ullner)
  • Linux download path fix (thanks jens oknelid)
  • Added purge button for search history (thanks sulan)
  • Added column reorder to file listing (thanks ullner)
  • Fixed alt source download starts (thanks paka)

0.668 (2004-11-30)

  • [bug 311] Fixed crash on open own filelist (thanks sulan)
  • Added option to make /join open a new window (thanks ullner)
  • Added mailto: to link-clicking (thanks ullner)
  • Fixed stack overflow with excessive xml nesting (thanks farcry)
  • Fixed virtual name issue with invalid chars in the virtual name (thanks farcry)
  • Fixes to ADC implementation, see http://developer.berlios.de/projects/ddc/ for a somewhat compatible hub in development
  • Some linux patches (thanks tim burton)
  • PgUp/PgDn now scroll the chat window (thanks jonathan stone)
  • Small fix with line history (thanks jonathan stone)
  • Added option to use separate TCP and UDP ports
  • [bug 303] Fixed a raw command guessing bug (thanks garg)
  • [bug 345] Fixed an xml listing parsing bug
  • [bug 309] Hopefully fixed nt4 startup
  • Hopefully fixed an issue with downloading international search results from old clients

0.667 (2004-11-15)

  • Improved multiple hublist support (thanks garg)
  • Fixed some favdirs issues (thanks naga)
  • Fixed a status logging issue (thanks naga)
  • [bug 289] Fixed annoying login issue
  • Added possibility to rename shares (thanks naga and tremor)
  • [bug 106] Fixed show joins for fav users (thanks ullner)
  • Fixed some unnecessary connects when download slots are full
  • Fixed magnet registration issue (thanks garg)
  • Some code documentation work (thanks jonathan jansson)
  • Makedefs.py fixes (thanks garg)
  • A connection attempt is made when you grant a slot to potentially start the other fella's transfers (thanks sed)
  • Fixed passive search results issue with international nicks (thanks garg)
  • Fixed search frame extension vs tth again
  • FAQ added to the help file (thanks bsod)
  • Upgraded to zlib 1.2.2, fixing a security issue (thanks garg)
  • Added %[file] to the transfer view user commands (thanks naga)
  • Fixed myinfo update issue (thanks sulan)
  • Added option to use only up/down for command line history (thanks jonathan stone)
  • Improved installer (thanks bsod)
  • Fixed so that a connection attempt is made when changing a transfer to highest priority

0.666 (2004-11-03)

  • [bug 173] Fixed copy nick to clipboard (thanks trem)
  • Removed some old code (thanks garg)
  • Added tth to log codes (thanks garg)
  • Added # of locally filtered results to search frame (thanks garg)
  • Fixed a crash in the upnp code
  • Fixed wide formatting of time (thanks garg)
  • [bug 166] Added local filtering of searches with "-" in front of the search term (thanks cologic)
  • Fixed a missing hubframe stats bug (thanks trem)
  • [bug 87] TTH's are now correctly searched for in search spy (thanks trem)
  • [bug 256] Fixed an issue with utf8 user commands (thanks trem)
  • Moved to a less intrusive build procedure where stlport and wtl are local to the DC++ build (see compile.txt)
  • Added /log to show log for current hub / user (thanks garg)
  • More internationalization (thanks garg)
  • Updated some template code (thanks farcry)
  • Extended log command (thanks ullner)
  • [bug 212] Fixed issue with utf-8 nicks during login to some hubs (thanks garg)
  • Fixed issue with utf-8 time formatting for certain languages in certain locales
  • Removed search optimisation obsoleted by tth's and bloom filters (those of you with a large number of files in your share, post on the forum if you notice any big increase in CPU usage)
  • [bug 69] Added option not to download files already in share (by TTH) (thanks TPO)
  • Help file work (garg, ullner)
  • Added petabytes (PiB) (thanks garg)
  • Clicking on active tab will deactivate it (thanks garg)
  • [bug 227] Fixed an issue with loading invalid virtual names when upgrading (thanks garg)
  • [bug 256] Fixed another issue with user commands (thanks garg)
  • Updated to WTL 7.5.4291
  • [bug 183] Hopefully fixed a few issues with w9x and Unicode
  • Fixed common control initialization
  • Unix makefile now generates a shared lib (thanks jeremy huddleston)
  • Slight memory save for hash database
  • [bug 130] Added favorite hub removal confirmation option (thanks ullner)
  • [bug 5] Fixed broken redirect (thanks garg)
  • Added spy frame column saving (thanks garg)
  • ADL Search autoqueue saved now (thanks garg)
  • Window minimization issue fix (thanks garg)
  • [bug 129] Fixed some issues with downloading >4GiB files
  • [bug 15] ADL Search goto directory fixed (thanks garg)
  • Some fixes for compiling on osx (thanks jonathan jansson)
  • Removed Makedefs in favour of a python script
  • FastAlloc disabled in debug builds
  • [bug 266] Fixed a crash with offline users and user commands (thanks naga)
  • [bug 165] Fixed a case insensitivity issue (thanks farcry)
  • [bug 18] Added favorite download directories (thanks naga)
  • Fixed MyINFO spam when hashing

0.4034 (2004-10-03)

  • Help file additions (thanks naga & ullner)
  • [bug 170] Fixed a few issues with files not being hashed correctly (thanks garg)
  • More ADC fixes (thanks sed)
  • Fixed some ADLSearch stuff (thanks garg)
  • Added item count to finished frames (thanks garg)
  • Fixed user commands encoding (thanks garg)
  • Added last search time to search spy (thanks ullner)
  • [bug 3] Fixed queue size growing on queue item move
  • Fixed missing file list on 0 byte share
  • [bug 185] Fixed missing search results (thanks garg)

0.4033 (2004-09-27)

  • *** WARNING ***
  • This update will change all your config files and queues, and it is
  • very probable that you won't be able to revert back to an older version
  • once the update has been done!!!
  • Also, finish your queue file before upgrading if you care for your
  • international filenames in it - they will not be correctly converted.
  • *** WARNING ***
  • Fixed a rare download crash (thanks farcry)
  • Fixed tab dropping in the last position (thanks trem)
  • Fixed directory sorting in the file listings (thanks trem)
  • Files that can't be moved to the target drive from the temp folder are now renamed to their real name
  • Text with unix and mac line end encodings should now be correctly displayed
  • [bug 35] TTH Values are used for right click download menus when available
  • Upgraded to WTL 7.5.4196
  • Updated license to allow others to release legal binaries compiled against WTL
  • Moved the core structures to UTF-8 to allow correct internationalisation (major change)
  • Moving towards full unicodization of the user interface, MS layer for unicode now needed for old crappy windows versions, and I don't know how good that works. The rest of us can now see correct names being displayed in file listings (for XML filelists anyway)
  • Rewrote the share manager so that it doesn't lock the whole of DC++ while reading the directories of shared files when refreshing the list
  • Added virtual share name
  • Removed autosearch string, it's not used any more
  • Fixed a tth hash speed bug (hashing should be much faster now)
  • File listings are now generated on the fly when someone needs them
  • [bug 127] Added UPnP support (thanks mark gillespie)
  • Ctrl-L now opens file lists (thanks garg)
  • Various ADC patches (thanks sedulus)
  • Slightly changed temporary download name
  • TTH Leaf uploads no longer logged (thanks garg)
  • Added (initial) support for hublist.org xml hublists, now default (you have to change your hub list address to http://www.hublist.org/PublicHubList.xml.bz2 if you want to benefit)
  • Fixed an issue with invalid TTH inconsistencies due to files being downloaded to the same target filename as a previously downloaded file (.nfo's usually)
  • Some memory savings for people with large queues
  • Fixed a bug with autosearch repeating the same search needlessly (this should result in fewer autosearches, good for the hubs)
  • Files scheduled for viewing are always set to highest prio
  • Added rudimentary automake and autoconf support for the client part, perhaps this will encourage someone to finish a nice linux port
  • [bug 162] Fixed dupe usercommands on reconnect (thanks sed)
  • Links now clickable in PM's and notepad as well (thanks naga)
  • Files are no longer hashed if the shared directory is removed while hashing
  • Added hash progress dialog, hashing is run at a higher priority when dialog is shown
  • Fixed a crash issue with invalid DcLst:s (thanks garg)
  • Better strategy for removing old filelists on exit (thanks garg)
  • Added Geo-IP license and fixes (thanks garg)
  • Added Help file - make sure you read it (thanks garg)
  • [bug 169] Fixed a memory leak with rollback buffers under certain conditions
  • ADC INF updates only send the necessary info (thanks sed)

0.4032 (2004-08-08)

  • Fixed issue with autosearch not getting filelists
  • Fixed an issue with autosearch by tth not being done
  • Added folder histore for single file downloads (thanks slowmo)
  • Fishing locale from os, changes string representations in some places (thanks garg)
  • Caseless icon optimization (thanks garg)
  • CTRL-E shortcut for refresh (thanks garg)
  • Fixed a process termination issue (thanks defr)
  • DCTC file not available detected (thanks defr)
  • Fixed bad window size being saved for minimised windows (thanks trem)
  • Fixed an issue with the ADC parser (thanks trem)
  • More WTL 7.5 preparations (thanks garg)
  • Added a switch to ease the life of the UPX compressor (exe compressors suck btw) (thanks garg)
  • Added irc:// as web link (thanks ullner)
  • Fixed an issue with the adc parser (thanks sed)
  • TTH trees no longer require a slot
  • Added options to open file lists and pm's in background (thanks sed)
  • Minor number formatting fixes (thanks palm and garg)
  • Some more linux compile fixes (thanks palm)
  • Additional translation strings (thanks garg)
  • Fixed own search results bug (thanks garg)
  • <64KiB files auto-highest priority (thanks garg)
  • Fixed search in utf-8 file lists (thanks fleetcommand)
  • Fixed utf-8 encoding/decoding, chinese and other multi-byte scripts should now work ok (thanks liny)
  • Removed obsolete Import from NMDC queue (blame cologic)
  • Added option to disable bolding for hub frames (thanks ullner)
  • Fixed a small leak in the Search Frame (thanks psf8500)
  • Added bitzi.com lookup and magnet link copy (thanks garg)
  • Removed .bz2 lists from "open file list" types (thanks garg)
  • Fixed a download-to crash (thanks farcry)
  • Fixed dialog modality in several places (thanks garg)
  • Fixed some debug assertions (thanks garg)
  • Queue sorted sensibly (thanks garg)
  • Added customizable timestamps (thanks ullner)
  • Added extended dupe logging (thanks xan)
  • Some code pedantry cleanup done (thanks garg)
  • Unfinished files now have a slightly different naming scheme (thanks garg)
  • Added default unfinished folder (thanks garg)
  • When matching queue, users marked with file not available are readded (thanks farcry)
  • Added (limited support for) magnet link handling (thanks garg)
  • Uninstaller now removes the one registry key DC++ creates (thanks garg)
  • Fixed a few link click bugs (thanks garg)
  • Added quick connect (thanks tpo)
  • + and - in the queue change priority (thanks tpo)
  • Network stat colors are now the same as in the transfer window (thanks tpo)
  • Fixed a rare automatch crash (thanks farcry)
  • Allowed sharing of network folders (thanks garg)
  • Added option to automatically add finished files to share without refresh (thanks farcry)
  • Fixed a few closing window crashes (thanks farcry)
  • Fixed a tab moving issue (thanks farcry)
  • Sources with rollback errors are now automatically removed (thanks garg)
  • Fixed compile.txt and readme.txt (thanks garg)
  • Magnet handler included in installer (thanks garg & magnethandler author)
  • New icon with alpha channels for xp (thanks olle svensson, sorry all other icon submitters who sent it before him, neither aestethic nor personal reasons why yours wasn't chosen =)
  • Fixed another download to crash (thanks garg)
  • Stringdefs automatically rebuilt (thanks farcry & garg)
  • DC++ will only share files that HAVE BEEN HASHED!

0.403 (2004-06-27)

  • Fixed 100% cpu / crash bug

0.402 (2004-06-27)

  • Fixed transfer view crash (thanks garg)
  • Removed default sort in search frame
  • Window sizes / positions of favorite hubs saved (thanks trem)
  • Begun work on the ADC protocol (major change)
  • Fixed issue with the exceptioninfo growing indefinately (recursive behaviour)
  • Readded missing TTHSearch to hub $Supports
  • Fixed unnecessary $MyINFO being sent out
  • Removed time left and speed from waiting transfers (thanks garg)
  • Documented %[line:reason]
  • Fixed a bug with hanging queue display
  • When searching by hash, size mode set to normal (don't care)
  • Hash speed tweaks, check if it's any better.
  • Fixed a crash when moving files
  • Fixed directory sorting in directory listings
  • Fixed an unnecessary disconnect on file not available
  • Fixed missing write buffering
  • Added drag-drop of directories onto the shared dirs view (thanks trem)
  • Added option for specifying max hashing speed
  • Updated installer to optionally create a backup of the settings when upgrading
  • Changed to a more convenient observer implementation (no, not a functor (or something more fancy) based one)
  • Fixed an invalid XML file list crash
  • Copy address to clipboard from public hub list (thanks joakim tosteberg)
  • Changed to IEC binary multiple units (MiB, KiB etc)
  • GETSETREF templetized (thanks farcry)
  • Small files size increased to 64KiB
  • Op's that use a client that supports minislots always get a minislot (for small files / xml file lists), regardless of how many minislots are already taken.
  • Matching by name removed for queue items with a TTH root (for autosearches)
  • Autosearch is done by TTH for queue items that have a root
  • Removed GetTestZBlock (no more safe/compressed transfers from old clients)
  • Added support for automatic user command clearing (code 255) (thanks sedulus)
  • User country shown in ip field (thanks pofis)
  • Automatic search matching is now done exclusively by tth for those items that have a TTH root and by exact filename for those that don't.
  • Dropped support for bzip2 file lists
  • Show joins parts for fav users only option added (thanks psf8500)
  • Added possibility to log hub status messages (thanks naga)
  • Removed full-row-select option (blame garg)
  • Added possibility to drag-drop tabs (thanks trem)
  • Added toggles for transferview showing (thanks trem)
  • HTTPS added as chat click link (thanks naga)
  • Autoconnect postponed if no nick has been set (thanks sed)
  • Various unix compile fixes (thanks christer palm)
  • Fixes for IEC in settings pages (thanks slowmo)
  • Remove multiple directories from share (thanks slowmo)
  • Added executable TTH to about box (for reporting bugs)
  • Changed exceptioninfo.txt format to prepare for automatic crash logging
  • Added download by TTH root instead of share path. This feature enables the downloading client to find the file even if the uploader has reorganized its share.
  • Fixed number formatting in search and queue frames (thanks slowmo)
  • Workaround for WTL75 bug with menus (thanks garg)
  • .mkv and .flac added as file formats (thanks garg)
  • Added warning about non-shared files with $ in them (thanks garg)
  • Fixed a rare deadlock when autosearching
  • Search by TTH greyed out for items that don't have a TTH root (thanks slowmo)
  • Added default menu items to finished frames (thanks slowmo)
  • TTH leaves (TTHL) exchanged between capable clients to verify data integrity

0.401 (2004-03-28)

  • Fixed the dupe file issue
  • Hopefully fixed the dupe op issue
  • Rephrased remove dupes option (thanks garg)

0.400 (2004-03-27)

  • Fixed escape in user commands (thanks garg)
  • Probably fixed search frame hang
  • Exact size in queue frame (thanks cologic)
  • Ip in search frame (thanks cologic)
  • Small fix to transfer view sorting (thanks naga)
  • User commands in transfer view (thanks naga)
  • Extra logging in main status bar (thanks garg)
  • Option not to bold queue tab (thanks garg)
  • Option not to send unknown /-commands (thanks garg)
  • Hopefully fixed some encoding issues with the xml filelist
  • Hashing is now mandatory (stop whining, it was only meant to be optional in 0.307)
  • Match files now works correctly with TTH's in queue
  • Hub name more or less correct on TTH results in search frame
  • Added search by TTH to queue frame
  • Large speed improvement in user list loading when lists sorted on user name
  • Fixed inverted ratio of uploads
  • New icons in window menu (thanks garg)
  • SFV failure message (thanks garg)
  • Bolds for defaults in some menus (thanks garg)
  • Fixed random filelist crash
  • Performance improvement in background match queue
  • Dupe file check done by TTH value

0.307 (2004-03-10)

  • Experimental release, lots and lots of core code has changed => high fatal bug probability.
  • Fixed full name being displayed in user commands with submenus
  • Bloom filters dramatically improve cpu efficiency on incoming searches (if you have a large share)
  • Auto match results shown in status bar
  • Added option to match autosearch filenames exactly to further avoid the wrong file being downloaded (default on)
  • End of zlib transfer test period, semantics slightly changed ($GetTestZBlock -> $GetZBlock, $Sending changed)
  • Speed increase when loading shares with many files of the same size (thanks farcry)
  • Added file hashing, turn it off in advanced settings (experimental)
  • Merkle trees and tiger hashing added for TTH hash support
  • Compression totally rewritten, should also fix a few minor issues
  • Compression (GetZBlock) and hashing (TTHSearch) is advertised to hubs through $Supports, I advise hubs to advise its users to keep at least hashes on so that searching by hashes will work efficiently (as it's only useful if all clients on the hub support it).
  • Fixed bug where no/invalid file listing would be written if there was no disk space (the old one is used now instead...)
  • XML File lists that contain hashes if available, and support full utf-8 names (correct viewing is not guaranteed, but download should work)
  • Upgraded to zlib 1.2.1 (thanks garg)
  • Extra column for hub in transfer list (thanks naga)
  • Copy nick to clipboard in transfer list (thanks naga)
  • Files starting with a '.' are no longer shared if hidden files are not shared (...unix...)
  • Fixed a minor memory leak when an invalid search result is returned (exploitable minor security issue)
  • Slight speedup of file list loading
  • File IO rewritten (major change)
  • Rollback no longer depends on buffer size
  • /rebuild rebuilds the hash database and potentially reduces the size of the raw hash data file (also checks its integrity)
  • Ip column in transfer list (thanks cologic)
  • Scrollbar for multiline messages (thanks garg)
  • Fixed an issue with icon transparencies (thanks garg)

0.306 (2004-01-09)

  • Fixed an issue with UNC paths (those starting with "\\")
  • Changed autosearch so that it only searches if less than 5 sources are online, this should stop galloping filelist downloads as well
  • Upgraded to WTL 7.1, should fix a few UI issues
  • Fixed brightness of compressed transfer progress bars
  • Fixed a crash with badly formatted compressed transfer requests
  • Some work on memory managment, dramatically improving DC++'s behaviour with large queues / shares
  • Auto-match queue is only done on exact match
  • Fixed a bug in the compressor that may have caused compressed uploads not to finish and/or 100% cpu
  • The sound part of partially corrupted queues is now recovered
  • When opening a file list from search results, the file's directory is automatically shown
  • An extra buffer flush is done to ensure that file lists are fully written to disk
  • Readme automatically shown for new users (thanks johnny)
  • Filename is shown on transfer error (no slots etc) (thanks ciber)
  • Ctrl-tab order is now the standard last-seen
  • Added support for user command menu subitems (add a '\' to the name)
  • Fixed locale setting bug
  • Added option to automatically add items to queue from ADL search (thanks twink)
  • Fixed share sizes not being updated with the "share hidden" box (thanks theparanoidone)
  • Directories with '$' in the name are no longer shared (they can't be downloaded)
  • Favorite users can now have descriptions
  • Added filesize and filesizeshort to search frame %[...] macros (thanks gadget)
  • Added option not to log filelist transfers
  • Fixed some issues with being / not being op

0.305 (2003-12-04)

  • Fixed disappearing queue items bug
  • Fixed displaying of upload compression in progress bar
  • Added compression ratio column and %[actualsize] and %[actualsizeshort] to log formats available
  • Fixed doubled name when downloading directories from search frame
  • Fixed a mem leak for safe transfers
  • Fixed a crash during downloads
  • Fixed speed problems with user list
  • Added "open download directory" to file and tray menu
  • Shift-clicking tab will close window (thanks twink)
  • Added support for $UserIP, %[ip] as user command parameter and server side ip detection (automatically used if the ip field in settings is blank)
  • Transfer bar colors updated and user-configurable (thanks gargoyle)
  • Fixed possibility to share same folder twice (thanks theparaniodone)
  • Fixed translations of kick & redirect user
  • Fixed missing subdirs when moving directories in the queue
  • Really fixed hublist space trimming =)
  • Added ".wmv" and ".ogm" as video extensions
  • Fixed some issues with same-named fav users
  • Fixed small mem leak in fav users
  • Max download slots default changed to 3
  • Max 3 slots more than max download slots are used for highest priority downloads
  • Added option to automatically download filelist and match it on autosearch match. This will dramatically speed up autosearching, lessening the strain on the hubs as less searches have to be done.
  • Added accelerator for filtering in public hubs (thanks gargoyle)
  • Fixed some translations (thanks ciber)
  • Added "downloaded bytes" to queue (thanks ciber)
  • Fixed refresh file list from main menu
  • Switched user and filename column in search frame so that the image will be attached to the correct column (thanks gargoyle)
  • A few message boxes updated (thanks gargoyle)
  • Added supports NoHello, a hub bandwidth easing feature for the hubs that support it
  • Fixed a problem with matched list downloads not starting

0.304 (2003-11-19)

  • Fixed missing usercommands (thanks sed)
  • Added option not to receive usercommands
  • Fixed a bug with bad search result type (hub owners, make sure your users upgrade if they use 0.302-0.303) (thanks saurod)
  • Added "$Supports MiniSlots" for other clients to profit from dc++'s free small files and filelist free slots (thanks sed)
  • Added /getlist command to get users list from chat (thanks twink)
  • Added check so that temp directory cannot be added to share list
  • Hopefully speeded up hub connect a little
  • Fixed transfer view sorting I think, this is how it should be: running downloads, running uploads, waiting downloads, waiting uploads
  • Fixed missing string (thanks gargoyle)
  • Fixed invalid date added formatting
  • Fixed trimming of spaces for http downloads (hub list...)
  • Fixed a bug in autosearch when using auto search strings (thanks ilkka seppälä)
  • Fixed typo in user commands help
  • Fixed missing sort arrows
  • Added time last seen online to fav users (thanks gargoyle)
  • Changed auto-grant slot ui (thanks gargoyle)
  • Fixed error removing recently added share directory
  • Fixed open folder in finished frames

0.303 (2003-11-14)

  • Fixed reversed free and open slots in search results (oops...=)...upgrade or you're likely to be banned!

0.302 (2003-11-14)

  • Added a small menu to the tray icon (thanks orkblutt)
  • Added port to hub log files
  • Some fixes so that \client will compile better under linux (thanks christer palm, he's working on a linux version using dc++ as base...)
  • Speedups, code cleanup to GUI list handling
  • New STLPort again (4.6) (a lot of the match queue crashes are probably STLPort's fault, so I'm changing again, to see if the latest is better, + that I changed two lines in it)
  • Fixed some bugs in the &-translation
  • Can be compiled in MSVC 7.1 without stlport, make sure to undefine HAS_STLPORT in config.h
  • Updated the antifrag feature to recover from crashes (thanks distiller)
  • Fixed so that tab completion works with multiple [xxx] tags (thanks sed)
  • More code cleanup, keep a backup of your queue handy while upgrading, queue code extensively rewritten to ease future changes
  • Updates to the autosearch feature
  • Added (well, enabled) GetZBlock, a feature that makes all transfers safer by checking CRC's during the transfer and if possible, compresses. This is an experimental feature, and it might require some extra cpu, so it can be turned off in settings, turning it off will turn it off for both up- and downloads. If both users have it enabled it will automatically be used. Compression is automatically turned off file files that don't compress well (.rar's for example), but the extra CRC check is still done. Safe transfers are marked by a * in the active transfers list (I'll think of something better later on...)
  • New, very nice progress bars for the transfers window (thanks citruz)
  • Multi-shade progress bars to show how much was resumed and compressed
  • Added auto-grant option to favorite users (thanks saurod)
  • Improvements of robustness and speed of the XML reader
  • Fixed some minor Examples.xml issues ("\\" and "\t" are now correctly shown)
  • Fixed a queue crash bug
  • Changed transfer view sort order (active downloads, active uploads then connection attempts...one fine day perhaps it'll be configurable...)
  • Added date added column to queue
  • Temporary downloads folder no longer shared
  • Fixed a bug where the socks5 proxy was used for http proxy connections (thanks dan fulger)
  • Added command history scrolling using ctrl-up/down/home/end (thanks cologic)
  • Fixed match queue crashes
  • Fixed sending of unknown '/'-commands to the hub (thanks sedulus)
  • Added support for once-per-nick usercommands (and made kick/redirect work like once)
  • Filename and path in finished frames split ut in two columns (thanks twink)
  • Fixed NoGetINFO so that it actually doesn't send any getinfo's

0.301 (2003-10-28)

  • Fixed usercommands in hub frame (kick for example)
  • Other fixes to usercommands (thanks sedulus)
  • Fixed reading of DCTC file lists I think (haven't tested) (DCTC of course has to be different from all other clients and create file lists with multiple directories with the _same_ name for no reason)
  • Fixed "open folder" in finished frames
  • Added new search for alternates algorithm with possibility to set search string yourself (thanks saurod)
  • Added selection of which hubs to search in (thanks saurod)
  • Fixed link opening in some browsers
  • Added NoGetINFO extension support

0.300 (2003-10-27)

  • *** WARNING ***
  • Security update, upgrade unless you want to risk losing files anywhere
  • on your hd (this is for all versions prior to this one) (thanks fusbar for bringing
  • it to my attention)
  • *** WARNING ***
  • Some code cleanup
  • Added vertical tiling of windows
  • Nick and password are now taken from favorite hubs on redirect (thanks saurod)
  • Fixed a case sensitivity bug in favorite hubs (thanks saurod)
  • Locale formatting of exact size in search (thanks saurod)
  • Fixed a bug where directories were not correctly returned (thanks saurod)
  • Replaced the tab control in the settings with a tree, expect many more settings soon
  • Fixed a bug when changing priorities from paused
  • Reduced transfer view flicker somewhat when sorted by status
  • Reconnect time is randomized a little to reduce stress on hub when everyone reconnects
  • Small i18n fix in uploads settings (thanks atomicjo)
  • Numbers only on search size box (thanks atomicjo)
  • Delete multiple favorite users (thanks gargoyle)
  • Autocomplete turned off when using shift-tab (to tab between the windows instead) (thanks gargoyle)
  • Small fixes (thanks gargoyle)
  • Toolbar updates (thanks gargoyle)
  • Speeded up match queue a lot (I mean a _lot_)
  • Added a network statistics view
  • Added tab-specific context menus
  • Added support for hub $Supports
  • Added hub-sent usercommands
  • Usercommands changed to raw in save file
  • New %[ parameters in user commands
  • &amp; is used to escape the & in chat (currently only escapes when really necessary, i e | or $ escape is used)
  • Added "Match Queue" to various right-click menus
  • Internationalised settings (thanks gargoyle)
  • Fixed finished frame lockups
  • Moved to Visual Studio 7.1, 7.0 project files are available, but won't be maintained...
  • Own icon always set to blue (DC++) (thanks atomicjo)
  • Edges around the settings (thanks opera)
  • Fixed right-click issue in the hub frame (thanks twink)
  • Fixed a problem with detecting protocol extensions
  • Updates to the queue frame (bugs fixed and smarter when using with multiple drives)
  • Fixes to zblock sends (thanks sandos)
  • Links are opened in a new browser window
  • New STLPort again (4.5-1020)
  • Increased some buffer sizes to increase high-speed transfer performance
  • Added tooltip to hub window status bar that shows last 5 status lines
  • /-commands that don't exist are now sent to the hub
  • Added /pm
  • Added /g to search google
  • Added /imdb to search imdb

0.263 (2003-09-30)

  • Fixed a mouse click crash (thanks sed)
  • Fixed so that donating is done in euro's from the help menu (why don't you try it out? =)
  • Port can now be seen in the hub frame title (thanks sed)
  • Fixed a major bug with filename case sensitivity (causing strange queue behaviour)
  • Fixed another queue crash bug
  • Queue now starts fully expanded (makes sense with smart queues)
  • Fixed compiling issue on vc6

0.262 (2003-09-24)

  • Added arrows and tri-state sorting (thanks saurod)
  • Fixed a crash with certain queues when opening queue frame
  • Fixed a bug in the search frame not setting b/kB/MB correctly when searching for alternates
  • Fixed bad loading of menu translations
  • Fixed tag not being removed when someone turns it off
  • Added connection flooding protection
  • Fixed a bug with file extension being cut off when moving files in certain windows setups (I think, not tested)
  • Small fix to ip detect code (thanks fusbar)
  • Fixed a file read crash
  • Fixed so that DC++ correctly returns hub port in search results (thanks sed)
  • Now correctly reacts to multiple $Hello's with own nick
  • When moving items in the fav lists, items are scrolled into view if moved outside the window
  • Added "View as text file" option when downloading files (only shows the first 32k though...)
  • Made it possible to compile using the stl supplied in msvc 7.x, it's untested though, and I won't maintain it (I just wanted to see if it works)
  • Already existing files are prioritised when queueing
  • Changed so that files are downloaded in alphabetical order when first added (this makes opening large user file lists a little bit slower)
  • Upgraded to STLPort 4.5.0725 (should be compatible with msvc 7.1)
  • Fixed right-click menu in hub frame when the username comes last on a line (thanks sed)
  • Added stored password sent notification when connecting to favorite hubs

0.261 (2003-07-15)

  • Fixed user list problems
  • Fixed a queue frame crash

0.26 (2003-07-15)

  • Search for alternates now sets file type as well (and should work correctly with sizes...)
  • Search now returns results for exact size matches on at least/most searches
  • Some minor fixes
  • Fixed a crash on adding items to the queue
  • Progress bar now has different color for selected items
  • Added notification for which file was not available for downloading
  • Added H: to main window status bar
  • Hub developers: Added section about $Supports scheme for client-hub communication to extensions.txt that dc++/dch++ will (probably) use to extend the protocol (if it ever happens =).
  • Default hub list now points to one that works
  • Minor code cleanups
  • M:5 in the <++ tag means socks5 mode (this should have worked since 0.20...)
  • If no nick is set the settings dialog pops up at startup (to help newbies...)
  • Added a smarter queue tree display, to make it less deep
  • Fixed downloading of files with ? and * in name
  • Fixed downloading of filelists from users with \ in name
  • ADLSearch: Added Break on first option and special 'discard' target (see help) (by henrik as usual)
  • Added time left and speed columns to transfer window
  • Add to favorite user available from search frame
  • <++ tag is now shown in a separate column in the hub frame
  • Different tab types are now colored differently (some day I might actually make the colors configurable...)
  • Tabs are back at using the system menu font instead of the custom one
  • Added tab completition in hub frame, turn it off in advanced settings to get old tab behaviour (it can also be used as a user search...)
  • Added move up/down controls to favorite hubs
  • Added options to open the finished downloads and favorite hubs window at startup
  • Fixed a bug where bad results were being given when searching for directories

0.251 (2003-05-28)

  • Fixed 100% cpu bug in new search (thanks opera)
  • Fixed a bug with queue selection counts (thanks sed)
  • Fixed a problem with percents not being escaped correctly in user commands (thanks sed)
  • Added so that you can use time formatting in the away message (%Y, %m ...) (thanks vladimir marko)
  • Added %[file] to search frame user commands (that becomes the current filename) (thanks sarf)
  • Fixed some of the vc6 compile errors/warnings
  • ADLSearch: now accepts %[nick] (see help)

0.25 (2003-05-20)

  • Major:
  • Implemented a faster substring search algorithm for share and file listing searches (the QuickSearch variant of Boyer-Moore)
  • User commands now work from search as well
  • Fixed a major bug where queue items without sources were not loaded from disk on restart
  • Fixed slow favorites opening / excessive saving (thanks todd pederzani)
  • Large speedup in file listing search (QuickSearch + unnecessary processing added earlier removed)
  • Added selection size info to queue frame (same as file listing)
  • Fixed some crashes when closing windows (and perhaps added some new ones...)
  • ADLSearch: (by Henrik Engström)
  • Keyboard shortcuts.
  • Context menu (back again).
  • Removed 'Active' column and made it a check box.
  • Unified button texts to the rest of DC++.
  • Fixed bug with multiple destination directories, some search results only ended up in the first of multiples.
  • Minor:
  • Memory savings for users with many files in share
  • Hyperthreading / multicpu users, try again and report back if it works
  • Fixed %[hub] in upload log
  • Some code cleanup
  • Fix for buggy HTTP servers sending Content-Length with wrong case (thanks sandos)
  • Added link to change log in help menu (thanks todd)
  • Fixed link to faq (thanks todd)
  • Fixed public hub list mouse clicks and reopening (thanks todd)
  • Fixed so that "3/4 users offline" can be translated to polish
  • Fixed tabbing in search frame
  • Added option for not downloading zero-byte files
  • Added handling for dchub:// in main chat (opens the hub)
  • Fixed a bug with strange nicks causing problems with file list opening
  • Fixed a bug with orphaned file lists
  • Fixed a bug with socks5 password length (thanks dwomac)
  • Double-clicking text selects the word (as in old versions, thanks todd pederzani)
  • Directories are no longer returned for "at least" searches with bytes > 0 (i e directory size is assumed 0)
  • Fixed another issue with accesses to invalid drive letters (thanks sarf)
  • Holding shift during startup (when the main window shows) will disable autoconnecting to hubs
  • Fixed user description saving and updating (thanks todd)
  • Large files are now moved in a separate thread to avoid losing connection while moving (if using temporary download dir)

0.242 (2003-04-19)

  • Updated compile.txt with some notes on submitting patches
  • Perhaps fixed the multicpu/hyperthreading issue (could someone try and report to the bug tracker?)
  • Various optimizations of the socket code to regain some of the upload performance that some seem to have problems with (keep in mind that SFV-checking, when enabled, slows things down on the downloading end when a file is checked...)
  • Fixed problems with changing active port
  • Fixed favorite hub properties saving
  • Added option not to send away message to bots (users that have not sent a myinfo that is...) (thanks sedulus)
  • Fixed 302-moved code a bit (thanks sedulus)
  • Added match queue feature to the file listing window. This will take every file in the file listing and see if there is any matching file in the queue (exact filename & size match). Every match will then be added to the queue as an extra source. Depending on your queue size and the number of files in the listing this might take some time to do...
  • UI updates to ADLSearch (by Henrik Engström)

0.241 (2003-04-01)

  • Made the XML parser a bit more robust against bad XML data (to avoid embarassing situations such as the last one...)
  • Favorite users and hubs are now saved on edit instead of on exit.
  • Added support for "302 file moved" for hublist downloads (thanks sedulus/sandos)
  • Fixed error reporting for hublist download
  • Same server but different port is now properly considered a different hub (thanks sedulus)
  • Last entered parameter for user commands is now remembered (%[line:...])
  • VC6 projects files brought up-to-date
  • Added a DLL to the installation procedure to make sure we get good debug info under older windows versions (research by todd pederzani)
  • Fixed attempt to access f: I think (it seems that the debug info generator tries to access f: when dc++ crashes, because microsoft compiled their stuff from f:...untested, I don't have any f: =)
  • Update to some confirmation dialog (thanks todd pederzani)
  • Partially changed back to the 0.233 code for uploads (since the new one seems to cause upload performance problems)
  • The queue is now only bolded when an file is finished.
  • Added away indicator in the main status bar (thanks todd pederzani)
  • Added finished uploads frame (thanks todd pederzani)
  • Added finished bold disable option (thanks todd pederzani)
  • Minor adjustments to the sort order
  • Added anti-fragmentation feature. When downloading, it creates a file of the expected target size with unspecified content. If the download fails, the file is truncated to the size DC++ thinks it has downloaded, and resume should work fine. If DC++ crashes, you'll lose the whole downloaded part + any resumed part as well, as there's no way to know how much valid data there is in the file. Disabled by default.
  • Added a few keyboard shortcuts here and there
  • Fixed bug with SFV retrying (files will now properly be retried _once_ beforer a source is discarded)
  • The maximization state of the inner windows is now remebered, default to maximized first time.

0.24 (2003-03-11)

  • The splash screen is now correctly centered (we thank Vladimir Marko for this important patch =)
  • Added ADLSearch, a new search filter for browsing files, submitted/made by Henrik Engström.
  • Local ip handling improved, so that a per-hub ip is used if nothing is entered in the active field (good for people who connect to local hubs or through different network cards)
  • You can now use $ and | in the chat. DC++ uses the HTML standard &#36; and &#124; to replace them...some people might not like this because it's different than the escape sequence used in the lock, but I prefer a standard way of escaping that's not limited to numbers below 999...later on, perhaps I'll add full &-escaping support so that people will be able to send all kinds of strange characters. The same escpace sequences are used in the description and email.
  • Incoming connections are now handled in a completely different, more effective way (one thread less...). This could perhaps help with the multicpu/hyperthreading issue, but I doubt it...
  • Fixed a crash-at-exit in the debug build
  • Fixed a bug causing missing search results (thanks opera)
  • Another go at the case insensitive string comp bug (tried with a queue file that was reported not to work so...)
  • Added custom per-hub user description to favorite hubs (thanks todd pederzani)
  • Some code cleanup and minor fixes
  • Updated H: tag. It now looks like H:x/y/z where x, y, and z are normal, registered and op hubs respectively. It is updated roughly once a minute, but if you're disconnected, the count won't go down until the window is closed (i e hubs you're trying to reconnect to count as well, to avoid too many updates being sent to the hub). Also, note that there's a problem with the op count. All op's will first be counted as registered users, and then, when they're fully logged in the count will be updated. This is a protocol limitation and there's not much to do about it (although, most of the time you shouldn't notice, if the hub sends the op list fast enough...). This release also fixes a bug where the count was not correctly updated across all hubs.
  • To avoid confusion when receiving text pasted from the chat, "- " is inserted whenever a line starts with '<' or '[' in the main and private chat (so that it won't look like somebody else is writing a message)
  • I think you can now use %-shortcuts in the nick when specifying user commands (%[line:] does not work tho...)
  • Doubled interval between autosearches (2 minutes now, and 60 between each research of the same file), this to ease the bandwidth load on busy hubs
  • Favorites, users and user commands are now saved to a separate file. The old ones will still be loaded for a few versions...
  • Added info about current directory/selection to the file listing browser

0.233 (2003-02-24)

  • Back to normal...
  • Fixed a small bug with disappearing tray icon (thanks vladimir marko)
  • Fixed a major bug in the case insensitive string compares resulting in 100% cpu/crashes in certain cases (specially with filenames that contain international characters). This should also fix sort problems and perhaps some search problems as well...
  • Fixed some problems with file lists not refreshing correctly when they were being downloaded at the same time.
  • Added option to disable the hourly automatic share refresher
  • Fixed another Finished Files crash -- now it *should* work, I actually tested it once this time...
  • Fixed a "dc++ would not shutdown" bug (thanks todd pederzani)
  • Fixed another thing with hub lists being unnecessarily downloaded (thanks todd pederzani)
  • Fixed a bug with opening faulty .bz2 file lists (thanks who)
  • Fixed a bug with whole descriptions not being visible in the settings

0.232 (2003-02-14)

  • Fixed a bug when temp download directory was missing '\' in the end
  • Fixed another crash when disk full bug
  • Files containing $'s are no longer added to share (can't be downloaded later on...) (this is a protocol limitation)
  • Changed the "download whole directory" back to the old way of working (see 0.23 notes), it turned out that i didn't like it and neither did anyone at the forum seem to do...maybe I'll think of something better later on...
  • Fixed the move file thing (properly this time, I hope)
  • Fixed edit boxes being enabled when option was not in logs&sound settings (thanks todd pederzani)
  • Fixed "add shared directory" modality (thanks todd pederzani)
  • Fixed finished files crash
  • Added an icon for the finished downloads to the toolbar (thanks todd pederzani)
  • The main icon now contains a 48x48 icon as well (thanks todd pederzani)
  • I hope the owner of the picture doesn't sue me / mind =)...

0.231 (2003-02-04)

  • Minor speedup in the string tokenizer (silly...)
  • Fixed missing search results when searching without type (fix also provides a tiny speedup when being searched)
  • Fixed a silly assertion fault in the debug build
  • Fixed the single file move crash (together with "wrong file moved", same bug)
  • Fixed so that a user won't be granted a slot when using a "free" slot if disconnected because of the autodisconnect feature (thanks Todd Pederzani)
  • The tab control now supports more than one row
  • In the tab chevron menu, those windows that have updated (that would have been bold) now have a dot
  • The download queue tab now goes bold if something about the queue has updated (download finished/added/failed/etc)
  • The message edit box in the hub and pm windows now uses the font selected in the settings
  • The finished files frame now goes bold when new items are finished
  • Fixed some of the problems when not viewing the directory tree in the queue. There might be some bugs left tho, haven't tested...

0.23 (2003-01-30)

  • New release policy, I'll wait a few days with the "new version" nag, just to see if a release is ok (doesn't have any fatal bugs in it). If you want to be on the bleeding edge, either subscribe to the release notification on sourceforge or check it every now and then. The same goes for the link on http://dcplusplus.sf.net (i e the download will only be available from http://www.sf.net/projects/dcplusplus in the files section).
  • Removed the -Debug zip file. The debug information is now included in all public releases of DC++, this to rid the debug forums of crash reports with missing debug information. There are no performance penalties from having the debug symbols, they are loaded on demand (and if you're really deperate for disk space, you can remove the .pdb file). This of course makes the distribution download a bit bigger, an unfortunate side-effect...
  • Fixed a bug in the uninstaller (it didn't remove DCPlusPlus.pdb if installed)
  • Fixed a bug with the user commands (PM didn't work)
  • Some fixes to queue moving (moving to targets that already exist in queue now adds the sources of the old file to the existing target instead of just ignoring them...)
  • Changed the way "download whole directory" works. It now downloads the files directly to the directory you've chosen, i e if you download the directory "mp3" to "x:\down" all files from "mp3" will end up in "x:\down" instead of "x:\down\mp3". This makes it easier to add files when somebody's changed the directory name but not the filenames (common with rar/ace sets). If you download to the default download directory, the directory is created (i e "default\mp3" in the example). Now I only have to decide whether I like this change or not...
  • Cleanup of the VC7 Project files
  • The number of uploads slots is now shown as negative if it exceeds the specified number of slots (because of auto- open or granting). We'll see how long it takes until someone reports this as a bug...
  • Added ability to set default away message (hm...perhaps this should use the last message set?)
  • Redesigned the appearance dialog a bit (like the advanced options now)
  • If DC++ receives "banned" during the login phase, it'll stop automatically reconnecting (n�jd nu, nev? =)
  • The splash screen no longer shows on the task bar (avoids flicker when loading is fast) and is not topmost (use alt-esc instead of alt-tab to switch to it if you lose it...and it can't be an option because it's shown prior to any settings being loaded).
  • Hublist is no longer loaded in the background by default when starting the application.
  • Fixed some proxy connection problems for the hublist (thanks Ondrea (or is it Ondra or Ondrej? =))
  • Disabled automatic opening of the hublist. You can reenable it in the settings (this is to save some bandwidth on the hub list servers).
  • The hublist http://dcplusplus.sourceforge.net/PublicHubList.config has been replaced by http://dcplusplus.sourceforge.net/PublicHubList.config.bz2 (the same, but bzipped, sourceforge didn't like the load on their servers...)
  • Fixed a bug when returning compressed file search results
  • Changed the way string compares are done, this should fix the sorting and searching problems with different charsets. All string compares are now done based on the user's locale, so searching users that use a different charset might yield unexpected results.
  • Automatic search now searches with type if possible (to ease the load on clients)
  • Fixed a disk full crash
  • Added "Close all disconnected hubs" to the Window menu (thanks Kenneth Skovhede)
  • Added /favorite to pm window to add user as a favorite user (/fav also works) (thanks Kenneth Skovhede)
  • Added /favorite to hub window to add hub to favorite hubs (/fav also works) (thanks Kenneth Skovhede)
  • Added "Grant slot" to transfers right-click menu (thanks Kenneth Skovhede)
  • Added "Add to favorites" to transfers right-click menu (thanks Kenneth Skovhede)
  • Added "Open folder" to finished downloads frame (thanks Kenneth Skovhede)
  • Performance increase in search 1: When somebody searches with a type (document, video, etc), directories that don't contain the specified type are not searched. If people use search types a lot, this should be a significant improvement. To make this work out good, keep different file types in different directories, and smaller parts of your share will be searched. This will work better when more people have updated their clients so that autosearch uses types as well.
  • Performance increase in search 2: Words frequently searched for are filtered out earlier in the search, so that only directories that contain a specific word are searched. This is based on the observation that a lot of the contain either their suffix (mp3 or avi for example), or some other frequently searched words. By only searching directories that for sure contain one of these words, we eliminate a lot of useless searching. In this first implementation, the list of words is static, but later on I'll add dynamic adaption, so that it's really only the most frequently words that make it to the list (thanks to Vladimir Marko for idea and research, to find out more see his post on http://dcplusplus.sf.net/forum in Protocol Alley (perfincrease 1 is based on the same kind of thinking))
  • Fixed the hourly automatic share refresher (this is done with a low priority thread)
  • Highest priority downloads are now always started (even if the exceed the speed & max downloads limits), this way important files, file lists and small files always get downloaded...(uhm, this might have the side effect that a list download might disconnect another slot if a file change for the other one occurs during the list transfer... if this becomes a problem, I'll look into it "later" =) (completely untested...hope it doesn't break downloading =)

0.22 (2003-01-05)

  • The forums are up again! On a new address though, http://dcplusplus.sf.net/forum...
  • Added nice installer. It's big because it comes with the debug info, if you just want a zip as in the old versions, you can find it on http://sf.net/projects/dcplusplus.
  • Fixed a bug with files being added to the queue without target directory. This caused quite a lot of strange behaviour ranging from hang at startup to empty queues and crashing deletes. Hopefully, I fixed it proper, but rereport the bugs if you still have problems...
  • *** WARNING ***
  • If you upgrade to 0.22, all old queue items that are missing a directory in the
  • target file-name will be removed. Don't upgrade if your queue is precious to you, and you didn't have anything
  • in the default download directory box in the settings (finish it with version 0.181
  • or edit your queue.xml file and add a directory to all targets without...). (thanks fusbar for finding it)
  • *** WARNING ***
  • Added so that only files with the same extension are visible in the download to menus (this was actually done in 0.21 but I forgot to write it down...=)
  • Fixed a bug where dc++ would stop listening to incoming connections, causing connection timeouts in active mode
  • Right-click menu now works for all nicks (even outside < and >)
  • Fixed width of some status bars when font size differs from mine (I think...why would anyone want to change anyway? =)
  • Fixed height of edit controls when font size differs from mine
  • Added the hub the user was last connected to to the finished downloads.
  • Added hub to the logging (see readme for available parameters)
  • Fixed a bug in speed calculation in the finished downloads frame (for resumed downloads)
  • Last known hub is now shown in pm window when user goes offline
  • Progress bars can now be disabled in the advanced settings
  • Added user-customizable right-click menu commands to the hub windows (to send commands to hub bots)
  • Advanced settings dialog remade a bit
  • Fixed missing default setting for default download directory, making a lot of queue items miss a target directory =)
  • Fixed case sensitivity in search right-click menu
  • Fixed crash when opening file lists
  • Added on-the-fly SFV checking, enable it in the advanced settings. Failed files are removed and requeued.
  • Added sfv parameter to the logging (for full list, see readme.txt) and finished files frame
  • Fixed startup crash when settings file was incorrectly saved (unfortunately, this makes you lose your settings tho)
  • Fixed vc6 project file (zlib wasn't in the dependencies...come on guys, this much you should be able to figure out)
  • If you're translating and find any untranslated string or have problems because something can't be done in your language (strange plurals?), add it to the bug report...(settings excluded)

0.211 (2002-12-26)

  • Oops, forgot to remove the transfer slowdown code when I was testing the progress bars...=)

0.21 (2002-12-26)

  • Some DLLs are now delay loaded, speeding up startup and initial memory usage a tiny little bit
  • Fixed so that the default copy-menu appears when rightclicking outside a nickname in the hub chat
  • Added "copy nickname to clipboard" to the hub chat right click menu
  • Fixed a directory searching bug (no directory search results when hubname contained a space...*sigh*) (thanks xeroc)
  • Fixed returning of own search results (oops, some debug code left...)
  • More work on the queue internals (should hopefully fix the bug when an item is reported as running even though it's not)
  • Fixed some issues with 0-byte files in the queue (an unnecessary disconnection occurred)
  • More work on the queue window; File lists now have a separate folder, fixed viewing of right-click menus so that they only show the commands that actually work depending on selection count.
  • Fixed / Improved the sorting of the transfer status. It is now always sorted as running downloads - connecting downloads - uploads (unless you flip the sort order...doh!)
  • Added beautiful progress bars to the transfers area (hej ullis =)
  • Added exact byte size to the search window
  • Fixed a bug with directory downloading from other dc++ users (that use the .bz filelist)
  • Incomplete file lists are now deleted on failure.
  • Fixed the socks resolve setting bug (somebody will have to try the DNS resolution itself though...can't do)
  • Added "no-tree-mode" to the queue. The queue window then shows the full list of queueitems (if possible, the number of items it can show depends on your operating system)
  • The search window now uses non-colored icons (system or dc++), I didn't like the coloring anyway, will think of something better later on...
  • Some minor changes to the settings dialogs...preparing for making translation possible...
  • Fixed port changing bug (DC++ would still listen to the old port until restarted)
  • Added debug-build-type error reporting to the release builds as well. Now, if supported by the OS, dc++ will emit a useful bug report whenever it crashes. If you have a lot of problems with dc++ crashing, you should download the debug information from www.sourceforge.net/projects/dcplusplus, and then, when reporting the bug, include the generated "extenedinfo.txt" file. Do not report the crash unless you have this file and have downloaded the debug information file. The extended tracing code is in part written by Zoltan Csizmadia (zoltan_csizmadia@yahoo.com), found it on some web site. (
  • Added moving of files in the queue (experimental)
  • Fixed bug when a '\' was not added to the temp downloads directory
  • Right-click menu works for joins and parts as well now (changed the format of the join/part message =)
  • Fixed a lockup bug (transfer speeds would not update among other things...)

0.20 (2002-12-06)

  • Collective thanks to all who have donated $$$ to me, I didn't think people would do it, but they actually have, amounts ranging from $1 to $200...keep 'em coming =) (keep in mind tho that paypal steals 30 cents and some percentage (4 i think) from me when you pay with a credit card). Oh, I think you can also donate in � (euros) now, which is, of course, my preferred currency =)
  • The forum and lichlord.org are currently down for maintenance, and the owner is waiting for new network equipment. I would open an alternative forum if I could get the old posts, but because all network connections to the server are broken it's difficult to get the old posts out of it for the moment (physical access to the server is somewhat limited). For the most desperate ones, I opened a new conference on sourceforge (where the old forums were) that you can use, or if you feel like it, try one of the forums that people have put up on their own (I won't read them though, don't have time). Anyway, lichlord should be up soon I hope...
  • This release is completely untested (more or less, i'm in the third world (italy...amazing that this country made it to the G7, and is still actually there...)), and is most problably not very stable. If it crashes, I don't want to know about it unless you're using the debug version (that most probably doesn't work with w98), that generates an exceptioninfo.txt file. If you report a crash bug ("unhandled exception"), make sure you include this file in the report, otherwise it's a waste of your time writing and my time deleting. I do not recommend this version for those who are comfortable with 0.181...
  • I've decided to clear the bug and feature request forum of all posts, regardless of whether they have been fixed/implemented or not, because of the ridiculous amount of duplicates. I apologize to those that made valid, new fresh and interesting requests, but because of all double-posting idiots, I can't keep up with things. I've tagged all the closed requests as "out of date", and I kindly ask the original authors to reopen their posts if they still consider them valid and non-duplicate. You can find them by browsing for closed posts. Also, before posting a feature request, check that the feature is not already implemented (by looking in the settings for instance). It is not exactly a sign of intelligence to suggest features that already exist...and there seems to be an alarming number of stupid people out there...
  • The CVS is not up to date (because of the retarded firewall at my school...)
  • Clicking on a users name with ctrl pressed opens a pm window (thanks opera)
  • Clicking on a users name with shift downloads the users file list (thanks opera)
  • Right-clicking on a name in the chat will bring up the user menu (thanks opera)
  • Fixed a bug in the startup procedure resulting in a crash sometimes
  • Fixed bug that window size was set to 0 when dc++ was turned of while being minimized, resulting in "missing dc++ window" on startup
  • Added socks5 support (more or less...no gssapi support), works like passive mode. M:5 means socks5 in the <++ tag. (No, I won't be adding socks4 as it doesn't support UDP forwarding)
  • Myinfo is now sent out roughly every 1-2 minutes if something has changed hub-count-wise (was 10-20 min before)
  • Added directory downloading (from the search window, unfinished, not sure if it works, experimental, kids, don't do it at home, dangerous...)
  • Fixed some random bugs and very uncommon memory leaks
  • Fixed the ordering in the right-click menus so that "browse" and recent dirs appear first
  • Added directory (folder) searching
  • .ogg and .wma are now returned when someone searches for audio files
  • .txt and .nfo are now returned when someone searches for documents
  • .divx is now returned when someone searches for videos
  • .gif and .jpg (!) are now returned when someone searches for pictures (oops, must have missed them when reverse engineering the original .exe...=)
  • Note; the extended search results only work if the client being searched is a new dc++...
  • Improved XML handling (much less memory used on queue load)
  • Speeded up queue save a lot, shouldn't take any notable amount of memory either (for those with large (10000+ files) queues), although if you have a queue that large you should perhaps consider your queuing strategy...
  • Added total bytes and average speed to finished downloads window
  • A random free port between 1025 and 32000 is now used in active mode, unless a port specifically has been set. This port is changed on every restart to avoid problems with networks where traffic on certain ports is limited or banned. If you have a firewall that requires a certain port to be used (incoming traffic), go to the settings and set it (your best pick is a random one in the above noted range) (setting not kept from previous version). DC++ requires that both TCP and UDP data can reach the client on this port. To find out the ip/port currently in use, type /connection in a hub window.
  • Failed downloads are now not put at the beginning to avoid having partial unfinished downloads
  • The queue window now has a tree instead of a list to the left
  • Added a common controls version check to rid the support forum of (at least some of the) stupid questions
  • Spaces are now trimmed from most ip addresses
  • Added O: in the <++ tag, it means that the user is using the speedautoopen slot feature, and the number is the kb/s setting. IMHO this is a much better way of measuring the whole slots thing, and in future releases S: may become optional if the min upload speed feature is turned on (a good topic for the dc++ forums...). Uhm, in other words, if the current total upload speed of a user is lower than the number after O:, dc++ will automatically open another slot.
  • Some internal changes in the queue handling (might cause trouble, untested)
  • The notepad content is now saved in a file called "Notepad.txt" in the dc++ main directory instead of the xml file
  • Fixed the file search and made it search a bit more accoring to the sort order
  • Fixed so that the same string won't be added to the recent searches list
  • Queue is now indexed by a map instead of a hash resulting in slightly more cpu use (if you have a huge queue) but queue is ordered accoring to filename to avoid partially downloaded directories (when saved, queue is now sorted by target location and will be downloaded in that order when reloaded from disk...)
  • Fixed so that focus is correctly set to the message input edit box in the hub chat window when changing back to dc++
  • Recreates filelisting if it's missing on request from another user (if it's been deleted that is...). This effectively stops the "delete filelist"-cheat.
  • Added automatic disconnection of uploads if a user leaves the hub. This is a somewhat controversial feature that disconnects any uploads to a user if the user leaves the hub (or is kicked...). If an upload is cancelled in this way, a free slot is granted to the user being kicked, in case that the user was unwillingly disconnected from the hub and returns within 10 minutes. This effectively prevents the "jump into hub, start a bunch of downloads, and exit the hub"-cheat, without the cheater being able to do anything about it. It is off by default, turn on in the settings.
  • Alt-S sends a message in the chats
  • The PM window now correctly shows when a user goes on/offline and doesn't send the message if the user is offline (so that you don't lose it from the edit box)

0.181 (2002-08-12)

  • Fixed a nick changing bug
  • Fixed some vc6 project build settings
  • Fixed some minor vc6 compatibility issues
  • Fixed some issues with invalid filenames (names containing invalid characters, should also fix the file downloaded but missing from the download directory error) (thanks Kyrre Aalerud)
  • Added so that the user name appears at top level of the directory tree in the browse file list window so that directory totals for the top directories can be seen, untested, might cause problems but shouldn't...
  • Main window state (maximized and so on) and size are saved on exit (and restored I think =)
  • Kick messages are now correctly filtered (even when status line in chat setting is on)
  • Fixed an issue with very long path names (win9x can't handle path names longer than 260 chars), these will now generate an error
  • Fixed the speed display of very fast transfers (>4 mb/s)
  • Fixed a bug where a bad file list could cause dc++ to crash
  • Fixed the loading of list view column orders
  • Added so that doubleclicking on usernames in the main chat (<nick>) will select the user in the user list
  • Added so that doubleclicking words starting with http://, www. and ftp:// will open the link
  • Fixed a bug with bad hublist server names (empty ones, not starting with http://...)
  • Added WM_ENDSESSION handling so that the queue and settings are saved when shutting down the computer
  • Added auto-away on minimize option
  • Fixed restoring window to maximized state after minimizing to tray
  • Added a "small send buffer" option that should help users that are having download problems when others leech from them...basically, this makes the outgoing packet size smaller (1k instead of 16k), leaving more bandwidth for acks to flow through...it also makes sending less efficient, specially for high bandwidth users, so don't turn it on unless you have to...hard disk reading performance will be worse as well with this option enabled...
  • Added paypal-donate menu option to help

0.18 (2002-07-01)

  • Added a finished downloads window
  • Added temporary download directory option
  • Added support for dchub://hubip:port and dchub://hubip:port/nick (will download that users filelist) (partially by Luca Rota, thanks) (completely untested)
  • Sort by slots in search is now secondarily sorted by open slots
  • Fixed sort by priority in queue window
  • Fixed "don't remove dupes" option
  • Improved performance a bit when there were a lot of "no free download slots"
  • Fixed missing join messages
  • Shift-enter in hub send message instead of adding a newline to the text (use ctrl-enter for newlines) (because a lot of people can't type properly and keep holding shift when pressing enter...I hear old (60+) people often do this...=)
  • More changes to the autosearch, it should now be more random and therefore yield better results...
  • Old download queues (pre 0.174) are no longer loaded
  • Added better error handling on failed downloads
  • Added a column to the queue window that shows which sources have failed and why
  • Major changes in the connection queue handling for better stability in the future
  • Added doxygen configuration file. To generate a very nice overview of the dc++ sources download doxygen (Www.doxygen.org) and graphviz (search google), then check doxyfile for the proper paths, and then type start doxygen in the project directory
  • Removed sources are no longed automatically readded by the autosearch feature
  • Added option to readd a removed/bad source from the queue window
  • Added option to remove a user from all queued downloads from the transfer window

0.177 (2002-06-07)

  • Improved performance on "File not available" (connection / slot is now kept)
  • Remove source on "File Not Available" is no longer an option. Don't ask why.
  • Changed the queue back to the old behaviour, that files are downloaded in the order they're added (to avoid having all the smallest files of multiple unfinished directories)
  • Fixed some queue random crash bugs
  • Fixed the wrong transfer icon bug (I think...)
  • Improved overall queue performance (again...=)
  • Fixed a small bug that caused some unnecessary traffic to the hub (nmdc works this way, every time a user logs on, his info is requested from the hub, but this request is unnecessary as the info is sent out automatically to all users, in nmhub v1.0.25 at least...complain if I'm wrong...)
  • Fixed the long shutdown time when a _very_ slow transfer was in progress
  • Added some other minor bandwidth saving features (only the users that need to be updated are updated when reviewing the user list after having closed it for a while)
  • More potential connection timeout fixed (go, farcry, go!)
  • Fixed some minor client-client protocol issues
  • Fixed some more faulty "user offline" errors
  • Made autosearch more effective (much less hub bandwidth usage...)
  • Added a tiny splash sceen (no gfx, just text...)
  • Added a search hit counter to the search spy
  • Fixed a small redrawing bug in the tabs at the bottom
  • Fixed the sort by slots in search results
  • Fixed the slow upload speeds I think...at least it should be a bit better...
  • Switched to vc.net...we'll see if it's any good...

0.176 (2002-05-26)

  • Various optimizations of search handling and list sorting for better perfomance
  • Fixed a small bug in the search frame
  • Made "Full row select" default
  • Fixed some serious random crash bugs
  • Fixed a w95/98 bug that sometimes caused text not to be displayed
  • Fixed some socket issues with worthless tcp implementations (read: win95/98/me) that don't provide a decent buffer
  • Worked some more on the socket handling in general
  • Fixed a crash when trying to use an invalid %[...] log message
  • Fixed some issues with online users being reported as offline
  • Added option to disable the user listing. This saves _a lot_ of CPU, memory and bandwidth for both user and hub (Note; this also disables hub share and user totals, as well as connection type in the search)
  • Fixed some issues with reloading user lists
  • Added so that autogranting upload slots is done with a minimum 30 second delay (to avoid slot races where everyone gets a slot before the average upload has adjusted itself...)
  • Limited description length to 35 characters (excluding the <++ tag...)
  • Changed so that second "/away <msg>" updates the away message instead of disabling away mode. "/away" without message still enables default msg first time and disables away mode second...
  • Fixed so that only one connection / hub is opened (even when being redirected...)
  • Fixed a connection timeout bug (thanks farcry)
  • Fixed the update speed of a few lists (thanks farcry)

0.175 (2002-05-18)

  • Fixed a 100% cpu bug (thanks zc...stoopid nmdc hub, sending strange things...)
  • Fixed dupe search filter
  • Fixed bad total transfers info (you have to edit/remove dcplusplus.xml to make it display correct values if 0.174 got it wrong)

0.174 (2002-05-17)

  • Fixed a tray icon bug (thanks andreas kronquist)
  • Fixed a minor search results bug (thanks andreas kronquist)
  • Fixed a redirection bug
  • Changed so that the average speed is calculated as a running average over the last 30 seconds (instead of the whole transfer time...the value in the log file is still a whole file average)
  • Added some advanced logging options (log format now customizable)
  • Found a bug in the msvc7 optimizer...after a small workaround, my vc7-compiled build seems quite stable
  • Search spammers are now ignored for 2 full minutes before they're given responses again
  • Fixed so that multiple search results from the same user are not shown
  • Fixed a few case (in)sensistivity issues
  • Huge performance increase on large queues with many sources / download
  • Changed the order of downloads, smaller files with equal priority are now downloaded first
  • Added two more priorities
  • Tray icon is now redisplayed if explorer crashes
  • Queue is now saved to a separate file, and updated 6 times as often (old queue will still be loaded in this version)
  • Fixed some minor hublist bugs
  • Fixed unknown error 0x0 (I think...)
  • Fixed min speed autogrant slot (was counting bytes instead of kilobytes...=)
  • Fixed hidden directory sharing (not sharing...)
  • Added a few icons to the search list
  • Added some all time stats to the about window
  • Fixed some searching issues
  • Added quick links to files of the same size when selecting multiple files with same size in the search (thanks patbateman)
  • Added right-click menu to the directory bar in the download queue
  • Fixed a crash when closing dc++
  • Added support for dns names in the ip field in the active mode settings (untested)
  • Users with same nick but on different hubs are no longer added to the queue
  • Added an icon for the download queue (thanks zc), more icons to come

0.173 (2002-04-29)

  • Fixed some minor debug mode bugs
  • Fixed some vc7 compatibility issues, but some initial experiments show that there are stability problems when compiling with optimization on..._STL::list seems to generate a lot of crashes...
  • Fixed win95 missing explorer icons bug (?)
  • Fixed the <16kb and file list extra slots bug
  • Added some stuff to the search spy (useless features are the best...=)
  • Fixed some hub counter issues, and updated the counter so that it only counts hubs that you've logged in to at least once (this should lead to a more stable hub count, especially when connecting the first time...)
  • Fixed automatic redirect following
  • Improved user list performance and fixed a few user list bugs
  • Fixed various user and share counting bugs
  • Added file searching to directory listings
  • Improved the autosearch algorithm a little bit
  • Fixed some issues with autoconnecting to favorite hubs
  • Changed the way rollback works, it is now more tightly integrated with write buffer size. Write buffer size will now be used as a cutoff, so that the last <writebuffersize> bytes will be removed and then <rollbacksize> bytes will be compared to see if it's the same file. Recommended values for write buffer is 64kb or your hard disk cluster size (Low-speed connectees might wish to use a lower buffer, as it this many bytes are redownloaded if the file has to be resumed). If you set write buffering to 0 the old (pre-writebuffering) routines will be used which are still considered safer (when ++ crashes...). Recommended rollback is 1024 bytes, or 4096 if you want to be extra safe.
  • Fixed search for alternates bug
  • Fixed so that dupe searches are not added to the drop-down box
  • Fixed some right-click bugs in the tab at the bottom
  • Fixed tab click minimization bug when window was maximized
  • Added minimize all windows (thanks Anton M)
  • Improved viewing performance of most list views (less unneccesary sorting)
  • Fixed bzip2 list file opening
  • Disabled connecting to oneself. Use "open file list" to see what your share looks like!
  • Added so that op:s always can download the file list (regardless of open slots)

0.172 (2002-04-28)

  • Changed so that only bz-lists can be downloaded using the extra slot (since they're smaller...)
  • Fixed size column in download queue
  • Added last known hub viewing for users that are offline (not saved between dc++ sessions, this would take too many resources...)
  • Added /-commands to pm windows as well (most of them anyway...)
  • Added /grant to pm window
  • Added /close to close a window
  • Added a very short /help message
  • Added latest version to about dialog box
  • Fixed windows maximization state change
  • Added an option to use system icons when browsing files
  • Added support for bzip2-compressed hub list downloading (also, the full hub list will only be available in bzip2 format to ease the load on the dc++ list server)
  • Added some info to the tooltip when dc++ is minimized to the tray (stats are for transfers only, hub traffic is not counted in...)
  • Changed the slots info at the bottom to show free slots instead of taken (to avoid confusion when viewing the search results...)
  • Added deleting from search results window (use the delete button on the keyboard...)
  • Added option not to popup a new window for pm:s (message is shown in main chat instead unless there's already a pm window open)
  • Added opening of previously downloaded user file lists menu option
  • Fixed some minor UI issues
  • Set default sorting to nick in the users list
  • Fixed a bug that caused some temporary files not to be deleted
  • Increased number of search results returned when searching in active mode to 10 (instead of 5...10 is much better as you can search for 10 disks at a time in a rar/ace-set), passive mode is still 5
  • Added option to automatically open an extra slot if current upload speed is less than a certain kb/sec
  • When sorting users by nick, op's are now put on top/bottom (ascending/descending)
  • Added automatic reindexing of file list every now and then...

0.171 (2002-04-21)

  • Fixed version number in changelog and exe-file =)
  • Fixed downloading bug
  • Fixed queue frame size column
  • Fixed favorite users right-click menu
  • Fixed sort by file type in file list
  • Fixed missing font settings

0.17 (2002-04-20)

  • Fixed the disk full crash
  • Fixed some minor memory handling issues
  • Fixed sorting in the search frame
  • Fixed window looks in winxp ugly mode (added manifest file kindly supplied by mike)
  • Added right-click menu to the tab control
  • Replaced the password dialog by a /-command in the main chat (to avoid problems with lost password dialog boxes)
  • Changed so that a second "/away" disables away mode (/back is still working)
  • File lists are now saved in a separate directory to avoid clutter in the main dc++ one...
  • Added option to send status messages to main chat
  • Added option to show joins/parts in main chat, and /showjoins command to toggle for the current hub
  • Upgraded to new WTL, which should fix a lot of minor UI bugs. This should also make it possible to compile the application in VC7.
  • Fixed a bug where multiple notepad frames were opened
  • Source code reorganization, all UI specific code moved to a separate directory (to ease code maintenance and future unix port)
  • Code cleanup, to be more compilant to the ISO C++ / C99 standard
  • First test compile with gcc (note; does not mean that I'm porting to linux...this is just for fun...lotsa' errors tho...)
  • Fixed a potential file corruption issue
  • Fixed a bug with write buffer size = 0
  • Fixed some random crashes
  • Fixed a bug where logs were not written if log directory was changed and DC++ not restarted
  • Some more guessing at the 100% cpu bug...the fact that I never get it doesn't make it easier...if someone could profile it...
  • Fixed some issues with changing nicks while being connected to hubs / users
  • Fixed some minor bugs in the incoming connection handling
  • Fixed some transfer window reporting issues (a few more details on connection progress now...)
  • Improved the search flood protection a bit
  • Removed the public hublist multi-select feature (high abuse factor...)
  • Added a file type column to the directory listing
  • Fixed some errors in the up/download log
  • Updated the queue frame
  • Yet more internationalization, everything except the settings dialogs should be translatable now
  • Improved the formatting of the output XML file
  • Improved XML loading speed a lot
  • Added a chevron menu to the tab bar at the bottom that shows the missing window tabs
  • Added current search string to the title of the search window
  • Fixed missing/bad connection type bug
  • Fixed some user handling problems (when having the same nick on multiple hubs...)
  • Added a second "users" string so that translating into finnish will work ok
  • Fixed a small bug that might have caused some firewalls to complain (UDP packets were sometimes being sent to port 0)
  • Added abilitly to use bzip2 compressed file lists resulting in _a lot_ faster file list downloads (bzip2 compresses 2-4 times better than the simple huffman encoding done in nmdc. Note; this requires DC++ >0.164 in both ends and was mainly added to test the protocol extension scheme, but should be fairly useful for all the low bandwidth people out there...
  • Added an optional annoying noise when a private chat window is opened and / or when a pm is received
  • Changed the way notepad is saved, old notepad contents will disappear when you update from older versions

0.163 (2002-04-04)

  • More internationalization
  • Added public hublist filter
  • Minor UI fixes
  • Changed error messages in public hubs frame
  • Fixed some minimize to tray issues (window popping up...)
  • Reduced flicker in the bottom tabs when resizing window
  • Added simultaneous downloads limit option, as well as max download speed to start new downloads
  • Added a favorite users frame
  • Added proxy support for downloading the hub list
  • Fixed a crash when loading invalid hub lists
  • Added transfer window sorting
  • Fixed kicking the same user multiple times from search
  • Added last kick/redirect reason to the search frame as well
  • Reordered some of the right-click menus so that "dangerous" options are at the end
  • Worked some on the cpu bug, should a bit better now...
  • Fixed a bug where some data was unnecessarily requested from the hub, causing a little extra load (thanks dan kline)
  • Added some new menu options to the help menu
  • Added search spy window with counter
  • Added NMDC queue importing (thanks luca rota)
  • Added some simple logging, more will probably come...
  • Removed option to keep finished downloads in queue (replaced by log...and yes, the log will be improved later on...)

0.162 (2002-03-18)

  • Fixed another hub counting bug (this is becoming annoying...gee, I should be sleeping...=)
  • Fixed a bug where the kick message was not sent correctly

0.161 (2002-03-18)

  • Fixed a hub counting bug (this should also reduce the number of redunant description updates, thus lessening the load on the hub)
  • Hopefully fixed the 100% cpu bug (found a very likely candidate at least...=)

0.16 (2002-03-15)

  • Fixed a resource leak that might have caused the sudden deaths (thanks carxor)
  • Added saving of last kick & redirect reasons (and server...)
  • Added hub name to the password dialog
  • Changed default port to 1412, should improve compatibility with a lot of firewalls (that only allow incoming data on port >1024)
  • Updated user handling, issues related to diffent users with same nick should work out better now (also increased performance in user handling) (Major change...)
  • Fixed some minor ui bugs
  • Added options to ignore or popup messages from bots and other offline users
  • Fixed some more minor memory and resource leaks
  • Improved incoming search performance, also fixed some minor search result bugs
  • Improved general window updating performance (when getting info about users and closing windows)
  • Should have fixed the scroll problem (although I've never experienced it myself...)
  • Increased time between kickmsg and actual kick...wonder if it's enough or needs to be increased more...
  • Fixed a bug where files that already existed on the target location were being added to the queue
  • Did some more work on the queue managment to reduce crash frequency
  • Improved file transfer perfomance a bit
  • Fixed so that priorities are saved / loaded
  • Improved rollback buffering, the app now discards the last <rollbacksize> bytes, and then checks the <rollbacksize> bytes before that for inconsistensies.
  • Fixed so that the correct edit box gets the focus when switching windows
  • Fixed a bug with renaming share directory names when refreshing
  • Some code cleanup
  • Added option to keep duplicate files in the dclist (but their sizes are not added to the file share total in any case)
  • More random crashes fixed
  • Added timestamps to private frames as well
  • Added possibility to change column order and widths
  • Added write buffering to reduce fragmentation when downloading multiple files
  • New search window with new search options (file types, free slots)
  • A first go at internationalization...many of the texts in DC++ can now be changed by loading a different language XML
  • Added some information to the description field, <++ V:x,M:x,H:x,S:x> where V = client version, M = mode (a=active, p=passive) H=number of hubs connected to where you're not a registered user, S=number of slots you have open. This is updated every 10-15 minutes.
  • Small performance increase in loading dclists (thanks geoff)
  • Added total queue size and number of queue items to the download queue window
  • Added path column to download queue
  • Added a limit so that only 15 users and 1 op kan be kicked at a time from the hub user list
  • Fixed the download directory name bug

0.154 (2002-02-25)

  • Added passive user detection, those that are behind a set of bricks are passive. (detected when the user searches or tries to connect to you)
  • Added a primitive search history
  • Fixed a slot freeing bug
  • Added option to grant extra slots to specific users
  • Changed order of kick message sending, to increase the chances of the user actually getting the message
  • Improved XML loading speed a bit (there's more to be done if necessary...)
  • Fixed some XML parser bugs
  • The XML is now backed up before writing a new one, so that you don't lose your queue when ++ crashes
  • Added a quick-fix so that the XML file can be displayed in ie...
  • Fixed crash when trying to send a message to an unconnected hub
  • Fixed some random crashes
  • Fixed default download folder error (when missing '\')
  • Fixed multiline posting
  • Reworked ip detection once more, should now be able to detect changing ip's as well...
  • Fixed various invalid display bugs in the download queue
  • Fixed missing users and bots in the user list
  • Upgraded STLport (4.5.3 now...)
  • Hopefully fixed the growing threads issue
  • Fixed the connection type icon being reported to nmdc users
  • Partially fixed the connection timeout bug (++ now correctly shows reconnection attempts...)
  • Added chat timestamps (/ts)
  • Added exit confirmation dialog (optional)
  • Fixed search bug when part of the search string was in the directory and part of it was in the filename
  • Added dupe file removal, files with same name and size are automatically removed from your share
  • Fixed another search results bug

0.153 (2002-02-11)

  • Fixed some potential deadlocks
  • Fixed some potential crashes
  • Code cleanup, no more level 4 warnings
  • New STL (STLport 4.5.1), to improve standards compatibility and stability (major change...)
  • Added new favorites properties dialog
  • Added possibility to add unlisted hubs to favorites
  • Fixed a lot of minor instability issues
  • Added a slot counter to the status bar, shows the number of taken slots
  • Fixed the memory leak
  • Fixed a search bug
  • Fixed a rollback bug

0.152 (2002-02-07)

  • Fixed a queue saving bug (resulting in overwritten resumes...yes, this is _the_ resume bug...)
  • Improved network efficiency and application responsivness
  • Started improving the threading, which will result in less crashes.
  • Fixed disconnection from hubs at startup
  • Hopefully fixed "unknown error 0x2747", please report if you get "Ran out of buffer space"
  • Fixed circular pm:s (away messages are now only sent once per user when the window is opened, and only when he/she initiates the pm session...)
  • Hopefully fixed pm away message crashes
  • Fixed annoying scroll in hub window (when scolling up to view previous messages)
  • Added option to minimize to tray
  • Fixed a connection timeout bug
  • Fixed "Get User List" in transfer window crash
  • Fixed _some_ of the random crashes
  • DCLists are now removed from the download queue even if "keep finished downloads" is set...
  • Fixed bug where dc++ continued to try to establish a connection to a user even though there were no downloads in the queue
  • Fixed a bug where connections were not correctly removed from the transfer window
  • Added options to disable automatic opening of queue and public hub list windows
  • Fixed full row select in queue window
  • Fixed multiple copies of the same user as download source
  • Removed many of the annoying error boxes. The error message now appears in the status bar.

0.151 (2002-02-03)

  • Fixed stupid resume file bug (abnormal progam termination...)

0.15 (2002-02-03)

  • Added a new queue window, to reduce clutter in the transfer window at the bottom
  • Totally reworked the queue managment code, queue related bugs should now be a lot easier to find...=)
  • Added a check to ensure the minimum 1 slot
  • Added option to keep finished downloads in the queue
  • Fixed a small error with the rollback
  • Fixed incorrect search results for nm search by file type
  • Fixed lost slot problem, slots are now kept until the connection is broken (note; you do not get a slot for downloading the dc list, only when you start downloading real files...)
  • Fixed another small incompatibility with search results
  • Fixed description cheat
  • Added download priorities
  • Fixed redirect compatibility
  • Fixed dns resolution bug (for url:s beginning with a number)
  • Added option to filter away kick messages from the chat window
  • Fixed a memory leak when reconnecting to hubs
  • User list is now cleared upon hub disconnection
  • Added /clear in the chat
  • Added /away <msg> and /back (no, you don't have to specify an away message, there's a default...)
  • Added private message to search window menu
  • I've not had much time to test the new features, but hey, that's what I have you users for...=)

0.14 (2002-01-26)

  • Fixed upload slots bug
  • Fixed download resume bug
  • Fixed security bug (allowing people to download arbitrary files on the hd...thanx Simon E.)
  • Added new settings dialog
  • Added client version option
  • Added rollback size option
  • Added auto-follow redirects option
  • Removed some level 4 warnings when compiling
  • Almost made compatible with VC++ 7.0 (You still have to change one line in the WTL to compile due to changes in ATL...)
  • Fixed some performance issues with large download queues (the app was doing a lot of unnecessary saving...). This should also solve the problems people have had with unsaved settings...
  • Corrected transfer list display (Offline/Online users)
  • Added search flood detection (If more than 5 searches are received from the same user within 7 seconds, DC++ will send out a warning)
  • Added /dc++, /search <string>, /slots #, /refresh and /join <hub> commands in the main chat
  • Added option to disable clearing of the search box
  • Added option to select full rows in all list boxes
  • Added option to automatically remove download sources if "File Not Available" is received
  • Fixed close hub window bug
  • Hopefully fixed another crash bug
  • Added text and background color selection
  • Added font selection (Only for chat windows so far...)
  • Added option to remove hidden files from share
  • Increased the size of the toolbar icons a bit
  • Fixed another bug where users could download files that were not shared

0.132 (2002-01-21)

  • Fixed a bug when downloading tiny file lists (people with 0b share...)
  • Removed the empty line in the chat windows
  • Set default focus in the chat window to the box where messages are entered
  • Fixed aborted uploads bug
  • Fixed the add similar directory bug
  • Added sound when new private message window opens
  • Added hub address to hub frame title
  • Added bold text in the window tabs whenever chat text changes...
  • Added time stamp to private messages
  • Fixed a bug where DC++ was returning bad search results ("At least" was not working correctly)
  • Because of a design flaw in the original dc client, I had to remove the small files and dc list extra slots feature for original dc users, but hey, it's their loss really (there's a problem with file listings closing just because "no free slots" is reported as soon as they try to download)
  • Fixed a private message crash
  • Added automatic saves every time the download list changes (now you only have to hope it doesn't crash while saving...=)
  • Added notepad (stupid feature really, what's wrong with windows' notepad?) (only visible in menu so far...)
  • Fixed missing close button on pm window (I think...can't find a window without at least...)

0.131 (2002-01-20)

  • Fixed the lock at start bug
  • Fixed the write to full disk bug (hopefully...)
  • Fixed a small transfer queue bug
  • Added an icon for the "follow redirect" thing...will probably change soon...
  • Added a maximum dc list slots (3 more than currently open slots...)

0.13 (2002-01-19)

  • Added directory listing sort
  • Fixed missing '\\' in the default download directory bug
  • Fixed a small bug where search responses sometimes reported -1 free slots
  • Fixed "Download to..." bug in search frame
  • Fixed some application lockups
  • Fixed some random crashes
  • Fixed a bug in the user connection procuedure
  • Fixed data corruption bug (in rare cases, dc++ was filling files with "$send")
  • Changed the default directory in "Download to..." to the default download directory (instead of "My Computer")
  • Added op commands in search window
  • Added "Download to" for each file of the same size already in the download queue
  • Reorganized transfers menu
  • Running downloads are now moved to top of transfer list, and running uploads are put at bottom
  • Files smaller than 16k and file lists are now downloaded before any larger ones from the same user
  • More work on the multihub feature
  • More work on the resume rollback, it should now work a bit better
  • Made sure that the settings file is never shared (DCPlusPlus.xml)
  • Reworked local ip discovery, hopefully it will work better on machines with multiple ip's...
  • Made sure transfers stop when the disk is full (also added more verbose file error messages)
  • Users can now download files <16kb and file lists regardless of free slots (!)
  • Readded tooltips for the toolbar buttons
  • Added a "Follow last redirect" to the menu (will add to toolbar later on)

0.122 (2002-01-16)

  • Fixed search bug
  • Hopefully fixed download bug, please report...

0.121 (2002-01-15)

  • Fixed resume bug
  • Fixed rollback bug
  • Fixed upload slots bug
  • Fixed some minor download queue bugs
  • Tried a different approach to the download problems in 0.12. When implementing different user nicks on different hubs, I had to change some of the download code to something that I'm not sure will work with the original client, that's why you've had so many problems with 0.12. Please remember that this is still alpha software, and that I release these versions this frequently so that 1) you have the latest of the latest and 2) so that I have someone who does the testing for me to speed up development...anyway, keep on reporting them bugs and one day, they will be gone!!

0.12 (2002-01-14)

  • Improved search efficiency a tiny bit
  • Changed default option in the search window to 'At Least'. All files are at least 0 bytes long anyway...
  • Added file extension field in the search frame
  • Fixed a bug where the application could stop working if a right-button menu was displayed
  • Added PM and browse file list to uploads right button menu as well
  • Huge performance increase in the user list (most noticeable when connecting to the hub and getting the initial list...)
  • More general ui performance fixes, it should now be a lot more responsive even when the cpu load is significant
  • Fixed empty search fields bug (I hope...)
  • Fixed some of the random crashes (major code rewrite, so I might have introduced some new ones...we'll see...=)
  • Changed background color to white (or whatever you have as window color), don't worry though, soon you'll be able to choose it yourselves...
  • Fixed case of connection type strings
  • The bots are now visible in the user list (Seems like they don't answer to getinfo requests...)
  • Added user connection type to search frame
  • New icons and colors for the user interface (Thanx mongomaster...)
  • Fixed menu bug in NT4, hopefully it works in W95 as well now...btw, I'm considering removing the menu...
  • Fixed multiple connections per user bug
  • Fixed remove last source bug
  • Added list of favorite hubs
  • Added right-button menu to Public Hubs
  • Added auto-connect feature for favorites
  • Added automatic password for favorites
  • Added option to use different user names for different hubs (unknown stability, might work, might not...)
  • Added a new developer, peli...
  • Changed some of the keyboard shortcuts
  • Limited the buffer for the chat windows to 20000 characters, after that it will start removing lines from the top (untested...)
  • Added a graphics fellow/developer, mongomaster

0.11 (2002-01-08)

  • Fixed annoying reconnect bug
  • Fixed annoying Private Messaging bug
  • Fixed search filtering bug
  • Fixed search sorting bug
  • Made more compatible with Win95 (Right-button menus should now work there as well...haven't tested though)
  • Fixed some other minor bugs
  • Resume rollback, DC++ now checks the last 1024 bytes for exact match when resuming and aborts the download on failure
  • Added a separator between each user in the transfer right button menu (I'll do something better later on...)
  • Added some keyboard shortcuts
  • Public hubs automatically appears on startup
  • Thanks for all the bug reports and feature request, keep on adding them!
  • DC++ will now detect other DC++ users as soon as a connection attempt is made...look out for blue icons...=)

0.10 (2002-01-06)

  • Search results sorting
  • Multiple selections in search results
  • Removed some diagnostic messages
  • Default action in search window is now file download, not list download
  • Only one downloading connection per user now
  • Removed some download queue bugs
  • Added basic icons that distinguish op's from normal users
  • Right-button menu in the transfer list
  • Responds to incoming searches
  • Automatic update notification

0.09 (2002-01-02)

  • Right-button menu in search window
  • Download queue saving
  • Fixed a nasty download queue bug
  • Added some transfer statistics
  • Multiple download sources (Very alpha...)
  • Fixed some problems with case insensitivity in filenames

0.08 (2001-12-27)

  • Private messages
  • Right-button menues
  • OP / Registred user login (with password)
  • OP Commands (Kick, redirect)
  • Optimized file listing (a lot faster now...should barely notice it unless it's a _very_ large list)
  • Optimized shared files compression
  • More work towards application stability...although focus is still on functionality...
  • More work on the download queue
  • Connection saving, i e connections to users are not released until two inactive minutes have passed, giving time to browse the user's files without worrying about slots
  • Fixed file size sorting
  • Fixed searching a bit, one should now be able to have two concurrent searches going...
  • Fixed upload removing (?)

0.07 (2001-12-18)

  • Passive searching (I hope...)
  • Reworked the download queue, it should now be a bit more stable...
  • Some ui work
  • bugfixes as usual...although, now it's starting to become fairly stable...

0.06 (2001-12-13)

  • A lot of UI work, the app should be at least a tiny bit more comfortable to work with
  • Automatic reconnections (to hubs and users)
  • Yet another slew of bugs killed (hm, where are all those bugs coming from? =)
  • Downloading of directories and multiple files at a time
  • Default download directory
  • Some work on the search window, although searching is far from finished...
  • Quicker startup (huffman encoding of the file list is now done in a separate thread)
  • Automatic ip detection (if nothing's entered in the settings dialog...)
  • Changed to case insensitive sorting...
  • Download deleting

0.05 (2001-12-08)

  • Searching (A very basic first version, only in active mode)
  • More information about things (Hub statistics)
  • A lot of bugs fixed, still a lot of them left tho...
  • More bugfixes...
  • Improved Huffman en/decoding speed quite a bit

0.04 (2001-12-05)

  • Downloads
  • Uploads (file sharing)
  • A bit better thread handling
  • Transfer list
  • Upload/Download statistics
  • Automatic reconnection attempts when no slots are available
  • Bug fixes
  • New about box =)

0.03 (2001-11-27)

  • Hub list sorting.
  • Users get deleted from user list when logging off
  • User list sorting
  • File sizes reported in B, kB, MB, GB and TB respectively
  • Downloads!!! (Only user file listings so far)
  • Improved UI a tiny bit
  • New settings, including passive mode and active port selection.
  • Some thread work, but more needed to be done, current model really sucks...

0.02 (2001-11-22)

  • Settings dialog, to set user name and connection info.
  • Search command recognised.
  • New buttons.

0.01 (2001-11-21)

  • Initial release.
  • List hubs, connect to them and chat


Chat Commands

Main Chat

/join <hub-ip>
Joins <hub-ip>. See Open new window when using /join
/clear
Clears the main chat window of all text.
/ts
Toggles the showing of time stamps on new chat messages. It does not add timestamps to already received chat lines.
/showjoins
Toggles the displaying of users joining the hub. This only takes effect for freshly-arriving users.
/favshowjoins
Toggles the displaying of favorite users joining the hub. Does not require /showjoins to be enabled.
/userlist
Toggles visibility of the list of users for the current hub. When it is not visible, tab completion, if turned on, will not work.
/connection
Displays the IP and port that DC++ will tell users to connect to. If either the IP or port is not correct, you will be unable to download from some users. This is only useful in active mode - the IP and port are unused in passive mode.
/favorite
/fav
Adds the current hub (along with your nickname and password, if used) to the list of Favorite Hubs.
/pm <user> [message]
Opens a private message window to the user, and optionally sends the message, if one was specified.
/getlist <user>
Adds the user's list to the Download Queue.

Private Message

/getlist
Adds the current user's list to the Download Queue.
/clear
Clears the current Private Message window.
/grant
Grants the remote user a slot. Once they connect, or if they don't connect in 10 minutes, the granted slot is removed.
/favorite
/fav
Adds the current user to the list of Favorite Users.

Both

/refresh
Manually refreshes DC++'s share list by going through the shared directories and adding new folders and files. DC++ automatically refreshes once an hour by default, and also refreshes after the list of shared directories is changed.
/slots <number>
Sets the current number of upload slots to the number you specify. If this is less than the current number of slots, no downloads are cancelled.
/search <string>
Opens a new search window with the specified search string. It does not automatically send the search.
/close
Closes the current window.
/dc++
Sends a random DC++ advertising message to the chat, including a link to the DC++ homepage and the version number.
/away [message]
Sets Away status. New private message windows will be responded to, once, with the message you specified, or the default away message configured in the Appearance settings page.
/back
Un-sets Away status.
/g <search string>
Launches your default web browser to the Google search engine with the specified search.
/imdb <imdb query>
Launches your default web browser to the Internet Movie Database (imdb) with the specified query.
/rebuild
Rebuilds the HashIndex.xml and HashData.dat files, removing entries to files that are no longer shared, or old hashes for files that have since changed. This runs in the main DC++ thread, so the interface will freeze until the rebuild is finished.
/log <status, system, downloads, uploads>
If no parameter is specified, it launches the log for the hub or private chat with the associated application in Windows. If one of the parameters is specified it opens that log file. The status log is available only in the hub frame.
/help
Display this help file.


ADLSearch

Automatic Directory Listing Search

What is Automatic Directory Listing Search?

Automatic Directory Listing Search (ADLSearch) is a tool for searching of file lists downloaded from users. Create a new ADLSearch entering 'avi' as search string for example. When you download a directory listing from a user, all avi-files will be placed in a special folder called <<<ADLSearch>>>.

Search Options

Search String
This is the set of search strings to search for. Order doesn't matter.
Source Type
One of following values:
Filename
Matches search against filename.
Directory
Matches against current subdirectory and places the whole structure in the special folder.
Full Path
Matches against whole directory + filename.
Min/Max Filesize
Sets the upper and lower limits for file size. This is unused for Directory searches.
Size Type
Sets the units for the search sizes.
Destination Directory
Sets the output folder for a search. Multiple folders with different names can exist simultaneously. Each folder name gets wrapped in <<< and >>>.
Enabled
Marks the search as active or inactive.
Download Matches
When checked, matches to this search will be put into your Download Queue.

Extra Features

  1. There is a new option in the context menu (right-click) for directory listings. It is called 'Go to directory' and can be used to jump to the original location of the file or directory.
  2. If you use time formatting variables, they will be replaced by today's date. If you use %[nick] it will be replaced by the nick of the user you download the directory listing from.
  3. If you name a destination directory 'discard', it will not be shown in the total result. Useful with the feature below to remove uninteresting results.
  4. There is a setting called Break on First ADLSearch Match. If enabled, ADLSearch will stop after the first match for a specific file/directory.The order in the ADLSearch windows is therefore important. Example: Add a search item at the top of the list with string='xxx' and destination='discard'. It will catch many pornographic files and they will not be included in any following search results.


Favorite hubs

Columns

Auto connect / name
Specifies what name the hub has. The checkbox indicates if DC++ should auto connect to the hub on startup. If the box is checked, DC++ will automatically connect to the hub on startup.
Description
A brief description of the hub.
Nick
If you would like to use a special nick for a specific hub. Leave this blank for default.
Password
If you have a password attached together with your nick. Used for operators och VIP's.
Server
The IP or DNS for the hub.
User Description
Brief description of the user account.

Buttons

New
Create a new favorite hub.
Properties
Change pre-existing hub properties.
Remove
Removes the chosen favorite hub.
Move up
Move up a hub in the list. If several hubs have auto connect enabled, the highest hub will be connected to first.
Move down
Move down a hub in the list. If several hubs have auto connect enabled, the lowest hub will be connected to last.
Connect
Connects to chosen hubs.


Favorite users

Auto grant slot / Nick
Specifies the nick of the user. The checkbox indicates if DC++ should auto grant the user a slot. If the box is checked, DC++ will automatically grant the user a slot.
Status
Displays if the user is online or offline.
Hub (last seen on if offline)
Which hub you saw this user the last time.
Time last seen
Which specific date and time you saw this user the last time.
Description
Brief description of the user.


How to set up active mode

Setting up active mode

For DC++ to work properly in active mode, it requires access on TCP and UDP listening ports, as well as outgoing access on all ports for both TCP and UDP.

You can simplify the process of setting up active mode if your router and operating system is UPnP compatible. Please read the Setting up UPnP FAQ for more information.

  1. First you need to set up the router to forward the connections to the computer with DC++. This is could be called Port mapping, port redirecting, port forwarding or something like that. Find out how to do this with your router / NAT in the user manual.
  2. You need to forward two ports, with either the same port number or different ones. Select one or two numbers between 1024 - 65535, they should mostly all be free. Make sure both UDP and TCP is being forwarded on the port(s) you chose.
  3. The IP that you are forwarding to should be the internal IP address of your DC++ computer. It usually begins with "192.168", "172.16." or "10.x.". Go to the command prompt and type: ipconfig (Start Menu -> Run -> cmd /k ipconfig)
  4. When you have mapped the port(s) on the router, open up DC++ and go to Settings. Select active mode. In the port fields, enter the port number(s) that you forwarded on the router.
  5. In the IP field, you need to enter the external IP address of your router. Your external IP can be checked against DSLReport's IP page [image].
  6. It should now be working. If it is working for a while, but the next time you use DC++, you only get "Connection Timeout’s or no results when searching, your IP (either external or internal) is likely to have changed. If you find the external IP is constantly changing, you can set yourself up with a dynamic name (i.e. hub.example.com). Such as Dynip [image] or DynDns [image] and put that name into the IP field. Make sure to use a program that updates the dynamic name service with your latest IP.

Windows XP?

  • Service Pack 1: Its strongly recommended that you do not use the SP1 firewall and instead use a third party one. Make sure to disable the XP firewall if you do choose this option. If you really must use it, then checkout this guide [image] on how to set it up.
  • Service Pack 2: The firewall in SP2 is a lot more robust than its original incarnation. While it does not offer a plethora of options, its suitable to use by itself for protection. Its wise to enable logging of packets that the firewall drops for troubleshooting applications. To do this, go to Control Panels -> Windows Firewall -> Advanced Tab -> Security Logging -> Settings. Enable Log Dropped Packets. The log file is located at: C:\WINDOWS\pfirewall.log.


How to set up UPnP

Setting up UPnP

Universal Plug And Play (UPnP) is a technology to allow, among other things, Internet applications to configure home routers and gateways, bypassing manual port forwarding configuration. UPnP was introduced in Windows XP and is supported in that and later versions, including Windows Server 2003. To take advantage of UPnP, you must have support enabled in Windows and UPnP capable hardware (typically a broadband router using NAT traversal). If you meet both of these requirements, setting up DC++ is normally a simple process. UPnP support is only in DC++ 0.4033 and later.

To enable UPnP on DC++, open the Settings panel, select Advanced, scroll down to the bottom, enable "Use UPnP Control". Restart DC++. If your UPnP system is setup correctly, DC++ will now automatically create the required port mappings for DC++ to operate in Active Mode. It will also detect your external IP address, and switch into Active Mode.

If UPnP works successfully or unsuccessfully, fill out Mark Gillespie's UPnP feedback form [image] so other users can know which configurations work.

Troubleshooting

If you are having trouble getting this all to work (or see messages in the DC++ system.log like "Failed To Create Port Mappings"), and you are sure you meet the minimum requirements mentioned above, firstly, download a UPnP diagnostic tool. The recommended one is Mark Gillespie's UPnP test tool [image]. This program will tell you what network interfaces on your computer support UPnP. If none of your network interfaces are reporting UPnP capabilities, try the following suggestions:

  1. Ensure your UPnP hardware has the UPnP service switched on (some routers default to off), consult your manufacturer's documentation.
  2. Ensure Windows UPnP services (Control Panel -> Administrative Tools -> Services) are running. "Universal Plug and Play Device Host" and "SSDP Discovery Service". Both of these XP services should be set to "Automatic" startup and "Started" status:
  3. Switch on the UPnP User Interface. To do this: Open "My Network Places", and in the Network Tasks Panel, select "Show icons for networked UPnP devices".
  4. Reboot both your PC and your UPnP device (router).
  5. If the diagnostic tool is still not reporting any UPnP devices, considering more drastic actions like upgrading your router firmware, as many routers have UPnP implementation bugs.
  6. If you do not see your router as a network device in "My Network Places" after several minutes, UPnPTest will fail to create an UPnP mapping to the router, resulting in something looking like: INFO: Adapter #0 - 192.168.8.17 - UPnP Disabled. Make sure the windows firewall or your third party firewall is not blocking UPnP packets. To do this, go to Control Panels -> Windows Firewall -> Advanced Tab -> Security Logging -> Settings. Enable Log Dropped Packets. The log file is located at: C:\WINDOWS\pfirewall.log If you see any packets being dropped with the port 1900 or 2869, the the firewall is misconfigured and is preventing UPnP from working.

If you have done all of this, and are still having UPnP problems, send me an email, I will try to help. mark.gillespie@gmail.com

Very important note: I will ignore ALL support requests from people who have not tried the above troubleshooting tips and do not provide at minimum the following information:

    What steps you have already done.
    Your UPnP device model number and firmware version.
    Your operating system and service pack level.
    What firewall you are using (if any).

Without this information, please do not expect a reply... I'm sorry I have to be so strict, but some of the emails I have received need to be seen to be believed, and the crystal ball is currently out of action.


University blocking DC++

Blocking and Throttling

Many Universities have policies that limit the usage of peer to peer applications by students and employees. Typically, these policies block or limit the amount of bandwidth that p2p applications can use, and are enforced by employing solutions from Packeteer [image], NetLogic Microsystems [image], or a similar company. This software/hardware solution has the ability to look into a TCP packet, determine what class of application created it, then throttle or block it accordingly.

If you're behind such a block, please learn to live with it. Circumventing the block by proxying is detectable, is probably against your AUP, is technically difficult, and impossible to do without help from someone outside the firewall.

Network Address Translation

Other schools might have their network behind a NAT in which case an active connection is impossible. If you're inside a NAT, the IP reported by your computer will be in one of the non-routable IP ranges. In this case, try passive mode.

If you cannot connect to DC hubs or cannot transfer files in passive mode, the above advice about proxying applies.

Port Blocking

A few schools use simple port blocking, where common ports used by DC++ and other p2p applications are blocked. DC++ uses a wide range of ports for outgoing traffic and incoming traffic by default. If the school blocks port 411 outgoing connections, then that effectively cuts you off from all DC hubs since that is the default hub port. Hub lists contain the full address of many hubs and those that run on non-standard ports (i.e. hub.example.com:1411) may work.

If you appear to be completely blocked from the DC network, the above advice applies.


Why don't I get any search results?

Assuming that you can connect to a hub and chat with users, this is usually caused by a firewall, router, or connection sharing. There are several things you can try:

  1. Enter your external IP address in the settings dialog and try again. Find out the IP from DSLReport's IP page [image].
  2. Check your firewall's configuration. You need to make sure it's allowing or forwarding incoming connections on the port specified in the settings. You have to enable both TCP and UDP traffic. If you can download, but not search, UDP is blocked. Please read the FAQ on How to set up active mode.
  3. Your school or work might be blocking DC traffic. Read the FAQ on types of blocks, and what you might be able to do about it.
  4. If the above things don't work for you, you'll have to use passive mode (if the hub allows it).


Slow download speeds

If you experience slow downloads, it could be for many reasons:

  1. The upload bandwidth of the person you're downloading from is maxed out. Don't pay attention to the value of the connection type column, the value is often is not an accurate representation of the user's connection type.
    • Users with fewer slots used may result in faster speeds - someone with two out of three (2/3) slots free may have more bandwidth available than someone with one out of three (1/3). This number appears in the status column of the Search Window.
  2. You need to optimize your operating system for your current connection speed. First, close all P2P applications. Next run the DSLReports TweakTest [image]. Once you have optimized it, then run a Speed Test [image] (select the site closest to your location for accurate results). This will give you a good idea what your maximum download and upload speeds are. If you're getting within 10% of your connection speed, that's the best you can get! If you are having trouble with your broadband connection, and it relates to packet loss, excessive latency, or Internet or ISP congestion, running the Line Quality Test [image] may help find the cause (requires logon, free signup).
  3. The person who you are downloading from is using a bandwidth limiter. There are two types: client based and third-party program.
    • Often the clients with limiting capability have set download and upload speed ratios in place to avoid abuse. (ex. If the upload speed limit is set below 6 KiB/s, then the client will restrict the client download speed to a 2:1 ratio). This varies from client to client and obviously not all support upload limiting. This type of speed limiting only restricts the uploading of files, including user lists. It does not limit chat, private messages, or searches.
    • Users could also be using a third-party program to limit the speed of traffic. This type of speed limiting is absolute; it will limit the speed of all traffic by the user, which can include file transfers, searches, chat, and private messages. Since this type of application does not enforce a download speed:upload speed ratio, it may be more prone to abuse. For particularly slow transfers - 1 KiB/s or slower, it may be to blame.
  4. Your Internet connection is shared with others on your LAN and they are using up all the available bandwidth. Tell them to knock it off. =)
  5. Your copy of Windows XP or Server 2003 has the "QoS Packet Scheduler" enabled. Follow this guide to disable QoS [image]. Windows 95/98, Millennium, and 2000 do not come with QoS. Some routers have QoS capabilities, but shouldn't be enabled by default. Please consult your router's manual for more information.
  6. Your ISP may be limiting your P2P traffic via some method of packet shaping. Call up the ISP and inquire if they do anything with P2P traffic. If the ISP does throttle you, then there is nothing that can be done to increase the speeds. This is very common at Universities and at the workplace, and is the topic of another FAQ.
  7. Your Internet connection is DSL, cable, or satellite one with an asymmetrical connection speed, such as 768/128kb or 3.0mb/256kb. On such connections, if you upload near the speed of your upload limit (16 KiB/s in the case of the 768/128 connection), it will affect the speeds of your downloads, no matter how much larger your download connection is. If this is happening, you can use the "Use small send buffer" setting.


Keyboard shortcuts

This page enables you to see which keyboard shortcuts exist in DC++.

F1
Opens the help file.
Alt
Marks the menu so you can you the arrows to navigate.
Makes the lower status bar invisible. The bar will be visible again once you press Alt again or you open a new window. Note that this is a Windows feature.
Tab
Completes nicks in chat (if enabled).
Change positioning view where there is split view. You can find the split view in the file list and in the download queue.
Jump between input boxes.
Shift
Pressing shift while startup will disable auto connection to favorite hubs.
Ctrl + 1
Enable or disable the toolbar.
Ctrl + 2
Enable or disable the status bar.
Ctrl + 3
Enable or disable the transfer view.
Ctrl + C
Copy text. Note that this is a Windows feature.
Ctrl + D
Open download queue
Ctrl + E
Refresh file list.
Ctrl + F
Open favorite hubs.
Ctrl + N
Open notepad.
Ctrl + L
Open file list.
Ctrl + P
Open Public hubs.
Ctrl + Q
Quick connect.
Ctrl + R
Reconnect.
Ctrl + S
Open search.
Ctrl + T
Follow last redirect.
Ctrl + U
Open favorite users.
Ctrl + V
Paste text. Note that this is a Windows feature.
Ctrl + X
Cut out text. Note that this is a Windows feature.
Ctrl + Y
Redo text edit. Note that this is a Windows feature.
Ctrl + Z
Undo text edit. Note that this is a Windows feature.
Ctrl and + (on the numeric keyboard)
If certain columns i.e. those in the user list, search and the transfer view are not visible, pressing Ctrl and + (on the numeric keyboard) will resize the columns to the width necessary to accommodate the widest text within.
Ctrl + Tab
Move between tabs. Note that this is a Windows feature.
Ctrl + up
Move up in chat messages. (only in main chat)
Ctrl + down
Move down in chat messages. (only in main chat)
Alt + C
In public hubs: connect to a hub.
In favorite hubs: connect to a favorite hub.
Alt + D
In ADL Search: move down an item.
In favorite hubs: move down a favorite hub.
Alt + I (only public hubs)
Set focus to the filter.
Alt + N
In ADL Search: add a new item.
In favorite hubs: add a new favorite hub.
Alt + P
In ADL Search: edit an item.
In favorite hubs: edit a favorite hub.
Alt + R
In Public hubs: refresh the list.
In ADL Search: remove an item.
In favorite hubs: remove a hub.
Alt + S
Send chat message.
Alt + T (only ADL Search)
Open the FAQ about the ADL Search.
Alt + U
In ADL Search: move up an item.
In favorite hubs: move up a favorite hub.
+ (on the numeric keyboard)
In the download queue, pressing + (on the numeric keyboard) sets a higher priority on a download.
- (on the numeric keyboard)
In the download queue, pressing - (on the numeric keyboard) sets a lower priority on a download.


What do the different icons mean?

Green
Normal icon
Blue
DC++ user (identified on 1st direct connection to this user)
With Bricks
User is in passive mode
With Key
User is an Operator


What do the units mean?

DC++ has always measured file sizes and speeds with the understanding that 1024 of something make the next unit up. One kibibyte is 1024; but when using the SI prefixes, one kilobyte is supposed to be 1000 bytes. In DC++ v0.402, the units were changed to the more appropriate kilobinary prefixes decided upon by the International Electrotechnical Commission (IEC).
New Prefix | Factor | Old Prefix | Factor
kibi- | 210 | kilo- | 103
mebi- | 220 | mega- | 106
gibi- | 230 | giga- | 109
tebi- | 240 | tera- | 1012
pebi- | 250 | peta- | 1015

For more information about the binary units see the National Institute of Standards and Technology [image].


General

Personal Information

This is general information about yourself. The nick is required, though it's suggested that you pick the correct connection type as well.
Nick
This nickname, or handle, will identify you when you join a hub. It can be overridden on a per-hub basis in the Favorite Hub Properties. It is also required.
E-Mail
This field is for sharing your email address, if you wish it.
Description
This description will show in the user list. It can be overridden on a per-hub basis in the Favorite Hub Properties.
Connection Type
This drop-down contains a number of connection types, please choose the one closest to your own.


Connections settings

Connection Settings

There are three modes of connection in DC++: Active, Passive, or SOCKS5. If you have problems configuring them, or problems connecting please refer to the FAQ.
Active
In active mode, DC++ needs to make outbound TCP connections and send UDP packets to other machines, as well as receive inbound TCP connections and inbound UDP packets. TCP is used for file transfers and UDP is used for file search results. Remote DC++ clients will return a maximum of 10 search hits to an active user. A user in active mode will have M:A in their DC++ tag. Use this guide to set up active mode.
IP
DC++ will automatically detect and use your local IP. If you are behind a router (or your IP is otherwise non-routable) you will need to put in your external IP here. If you put a DNS name here, DC++ will try to resolve it into an IP address before use.
TCP Port
This is the port that DC++ listens on for incoming client connections. If this setting is blank, DC++ will use a random port between 1025 and 32000.
UDP Port
This is the port that DC++ listens on for incoming search results. If this setting is blank, DC++ will use a random port between 1025 and 32000.
Passive
In passive mode, DC++ will only make outbound connections to other users. All searches will be sent through the hub, and search results will be returned through the hub as well. Remote DC++ clients will return a maximum of 5 search hits for a passive user. Passive users cannot download from other passive users. Passive mode is an extra strain on hubs, so please do not use it unless you must. DC++ users in passive mode will have M:P in their DC++ tag.
SOCKS5
In SOCKS mode, DC++ will make a connection to hub through an existing SOCKS5 proxy server. Connections to users will also be made through this proxy server. The caveats for passive mode also apply here. SOCKS5 proxies are not the same as HTTP proxies. DC++'s SOCKS5 support does not include GSSAPI.
Socks IP
This is the IP, not hostname, of your SOCKS5 server.
Port
The port that your SOCKS5 server runs on. The default value is 1080.
Username
Username for the SOCKS5 proxy; may be required.
Password
Password for the SOCKS5 proxy; may be required.
Use SOCKS5 server to resolve hostnames
When checked (the default), DC++ will use the SOCKS5 proxy to resolve hostnames into IP addresses.


Downloads

This page contains the configuration options for where DC++ will place complete and incomplete downloads, options that control the maximum simultaneous downloads, and information on the public hub list that DC++ will use.

Directories

Default Download Directory
After a download is complete, DC++ tries to move your just finished file to this directory. It defaults to the "Downloads\" subdirectory under where the DC++ executable is located.
Unfinished Downloads Directory
All incomplete downloads will be stored in this directory. If empty, temporary downloads will be stored in the "Incomplete\" subdirectory under where the DC++ executable is located. You can use %[downloaddrive] for optional unfinished directory for target drive. If the file has been downloaded with a TTH, the incomplete file will bear the name <filename>.<ext>.<TTH>.dctmp. If the file has no TTH, it will be named<filename>.<ext>.dctmp. If Use AntiFragmentation Method for Downloads is enabled the files will have ".antifrag" added to the end of it's name. As in <filename>.<ext>.<TTH>.dctmp.antifrag.

Limits

For both values listed below, certain conditions can result in the limits not being obeyed. Specifically, up to 3 files that are set to the 'highest' priority can be transferred while other downloads are going. File lists and small files (64 kibibytes or smaller) are queued with 'highest' as their priority. When either of the limits are hit, DC++ shows "All download slots taken" next to each source in the Transfer View.

Maximum Simultaneous Downloads
This limits the number of simultaneous downloads. The default value of this option is 3, and a value of 0 means no limit.
No New Downloads if Speed Exceeds
This is another method of limiting simultaneous downloads, designed to prevent new downloads if your existing downloads exceed a specific threshold. It's measured in kibibytes per second, and a value of zero will disable this limit. Note: because of changing download speeds, this is not 100% accurate

Public Hub List

Public Hub List URL
Public hubs window
HTTP Proxy
This HTTP proxy will only be used to request the Public Hub List specified above. It's not used for uploads, downloads, or connecting to a hub.


Favorite download to directories

To add directories to your download to menu (right click on a file in the search frame), you can use the Add and Remove buttons, or drag and drop folders from a Windows Explorer window.
Add Folder
Browse for a new folder to add to your share. After selecting the directory to add, you will be able to pick the Virtual Name name for it that will be shown in the menu
Remove
Remove the selected folder(s).


Sharing

Shared Directories

To add directories to your share, you can use the Add and Remove buttons, or drag and drop folders from a Windows Explorer window. Beginning with version 0.4032, files will be shared only once they have been hashed.
If you enter the Sharing tab and press OK; the client may appear to freeze, this is due to a refresh of the file list.
Add Folder
Browse for a new folder to add to your share. If another existing file shares that name, the new name will be made unique by adding another letter to its name. After selecting the directory to add, you will be able to pick the Virtual Name that it will be shown under when other users see your files. If the newly added files have not been hashed, the Hash Progress Dialog will display. You can choose to let it display, or let hashing continue in the background.
Remove
Remove the selected folder(s).
Share Hidden Files
Share files with the Hidden attribute set and files inside directory with the Hidden attribute set. With this option off, files starting with a . (full stop) will not be shared. Files that have a $ (dollar sign) in the filename will not be shared due to a protocol limitation. Note: this option requires a refresh of the file list, and may cause the client to appear to freeze.
Rename
Change the virtual name on a shared folder. Note: the client will appear to freeze when you exit settings, this is due to a refresh of the file list.
Automatically Open an Extra Slot if Speed is Below ...
If the average upload speed drops below the given number, an additional upload slot will be granted. These slots are granted once every 30 seconds at maximum. If the speed of the original uploads increases, the granted slot will not be closed.
Upload Slots
Configure the number of slots that other users can occupy to download files from you. A remote user can use only one slot for each hub that they're on with you. DC++ supports uploading filelists and files below 64 KiB to other DC++ users without requiring a slot. There's a max of 3 connections in addition to normal slots, these are called minislots.
Note: If a user leaves the hub DC++ will close his slots, if the user is back within 10 minutes DC++ will grant him a slot. This can cause your upload slots going over maximum set in settings.


Appearance

Options

Filter kick and NMDC Debug Messages
When enabled, kick and debug chat messages (sent by other clients) are hidden from main chat. These messages are generally not useful and make reading the chat more troublesome.
Minimize to Tray
When enabled, minimizing DC++ will cause it to appear as an icon in the windows system tray. If you left click, it will be returned to its previous status. If you right click on the icon, it will give you a small menu.
Show Timestamps in Chat By Default
This option will show timestamps on chat lined in newly opened hubs. In order to show them in an already open hub, use the /ts chat command. To customize the format of the timestamps, see the Set Timestamps option below.
Confirm Application Exit
Enabling this option will cause DC++ to prompt you before exiting.
View Status Messages in Main Chat
Show some messages destined for the Status Bar in main chat as well. It's generally a good idea to leave this enabled.
Show Joins / Parts in Chat By Default
Show an entry in main chat whenever someone joins or leaves the hub. Use the /showjoins chat command to enable or disable it on already open hubs. On large hubs, you don't want this enabled.
Only Show Joins / Parts for Favorite Users
With this option enabled, only the joining and parting of Favorite Users are shown.
Use System Icons When Browsing Files
If you have this option on, DC++ will use the per-extension icons from Windows Explorer. Turning on this option slows browsing file lists a bit.
Use OEM Monospaced Font for Viewing Text Files
Enable this option to use a monospaced font more suitable for viewing NFO files in the built-in text viewer (the "View as Text" function).
Set Finished Manager(s) Tab Bold When an Entry is Added
When a download or upload completes, the Finished Downloads/Uploads tab will turn bold if this option is selected.
Set Download Queue Tab Bold When Contents Change
This option controls whether or not the Download Queue's tab will highlight itself when a queue item changes state or finishes.
Set Hub/PM Tab Bold When Contents Change
When a private message or chat message appears in a hub that's not focused, the tab will become bold if you have this option selected.
Get User Country
When selected, country codes for your uploaders and downloaders appear in the Transfer View. The GeoIPCountryWhois.csv database is based on one provided by MaxMind, but has been reformatted so the updated databases they provide are not compatible with DC++.
Confirm favorite hub removal
Enabling this option will cause DC++ to prompt before you remove a favorite hub.
Confirm item removal in download queue
Enabling this option will cause DC++ to prompt before you remove a file (or files) from the download queue.

Miscellaneous

Default Away Message
This is the default away message that will appear when someone PMs you for the first time while you are in the away mode. You can activate away mode by using the /away <message> and /back chat commands or Auto-away on Minimize option. All time formatting variables are available, see Logs. Use Ctrl + Enter to create a new line.
(default: "I'm away. State your business and I might answer later if you're lucky.")
Set Timestamps
This lets you select the format of the time stamps that can appear in the chat and private message windows. For the available formatting variables, please see Logs.
(default: %H:%M)
Language File
DC++ will read this XML translation file and load the strings in it, allowing you to use DC++ in whatever language the translators have made available. Links to many translations can be found on the Help Menu.


Colors and Sounds

Note: Most of these options require that you restart DC++. (Fonts, colors and icons are loaded at startup only. Window settings are loaded when opening a new window.)

Colors

Set Window Color
This setting determines the background color of the windows in DC++.
Set Text Style
This setting determines the color and font used in many DC++ windows.
Uploads
This will set the coloring for the upload progress bars, if you have them enabled in Advanced. (default: RGB(205, 60, 55))
Download
This will set the coloring for the download progress bars, if you have them enabled in Advanced. (default: RGB(55, 170, 85))

Sounds

Make an annoying sound every time a private message is received
When set, the system's "Default Beep" sound will play when a private message is received.
Make an annoying sound when a private message window is opened
When set, the system's "Default Beep" sound will play when a private message window is opened.


Logs

Logging

Directory
All logs generated by DC++ will be put in this subdirectory.
Default: the Logs\ subdirectory of where you've installed the application.
Log Main Chat
Enables the logging of the Main Chat logging in the hub window to a file: <address>.log. If there are illegal characters in the filename, such as colons, they will be replaced with underscores.
Main Chat Log Format
%[message] - Main chat message
Default format: [%Y-%m-%d %H:%M] %[message]
Log Private Chat
Enables the logging of Private Messages to a file named after the remote user.
Private Chat Log Format
%[message] - Private chat message
Default format: [%Y-%m-%d %H:%M] %[message]
Log Downloads
Enables the logging of completed downloads to Downloads.log. File list transfers may not be logged if you've disabled them under Advanced options.
Log Uploads
Enables the logging of completed uploads to Uploads.log. File list transfers may not be logged if you've disabled them under Advanced options. Uploaded Tiger Tree Hash Leaves, added in 0.402, will also be logged.
Download and Upload Log Format
%[user] - User name
%[userip] - User's IP address
%[hub] - Hub name
%[hubip] - Hub's IP address
%[size] - File Size
%[sizeshort] - File size, shortened and including units
%[chunksize] - Size uploaded this session
%[chunksizeshort] - Size uploaded this session, short and including units
%[actualsize] - Actual uploaded bytes, affected by compression
%[actualsizeshort] - Actual uploaded bytes, short and including units
%[speed] - Speed of the transfer
%[time] - Elapsed time of the transfer
%[sfv] - Whether the file was checked against a SFV file (0 = no, 1 = yes).
%[tth] - Base32 representation of the tiger tree root hash
Only for Download log: %[target] - Local path and filename
Only for Upload log: %[source] - Local path for the upload.
Default download log format: %Y-%m-%d %H:%M: %[target] downloaded from %[user], %[size] (%[chunksize]), %[speed], %[time]
Default upload log format: %Y-%m-%d %H:%M: %[source] uploaded to %[user], %[size] (%[chunksize]), %[speed], %[time]
Log System Messages
Enables the logging of system-level messages. Examples of such messages are: notifications of files that have finished hashing, share refreshes, discovery of duplicate files, and disconnections of users who leave the hub (if enabled).
Log Status Messages
Enables the logging of status messages. Examples of such messages are: Connected to (and disconnected from ) hub, kicked, and banned messages. In short all messages that would appear below the chat input in the hub windows.
General Time Format Variables
The following time variables can be used in any of the log formats.
%a - Abbreviated weekday name
%A - Full weekday name
%b - Abbreviated month name
%B - Full month name
%c - Date and time representation appropriate for locale
%d - Day of month as decimal number (01 - 31)
%H - Hour in 24-hour format (00 - 23)
%I - Hour in 12-hour format (01 - 12)
%j - Day of year as decimal number (001 - 366)
%m - Month as decimal number (01 - 12)
%M - Minute as decimal number (00 - 59)
%p - Current locale's A.M./P.M. indicator for 12-hour clock
%S - Second as decimal number (00 - 59)
%U - Week of year as decimal number, with Sunday as first day of week (00 - 53)
%w - Weekday as decimal number (0 - 6; Sunday is 0)
%W - Week of year as decimal number, with Monday as first day of week (00 - 53)
%x - Date representation for current locale
%X - Time representation for current locale
%y - Year without century, as decimal number (00 - 99)
%Y - Year with century, as decimal number
%z, %Z - Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown
File Name Format
This enables you to name and rotate your logs. The following parameters can be used for Main / Private chat:
%[hub] - Name of hub (not known untill connected)
%[hubaddr] - Address (and port if non standard) of hub
%[user] - Users nick (only Private chat)
%[cid] - Users CID (only Private chat)
%[mycid] - Your own CID (only Private chat)
%[mynick] - Your own nick

These can be used for all files:
All general time format variables

Ex: Main chat: %[hubaddr]\%Y-%m.log - would result in this: example.no-ip.org\2004-12.log (if you are in the hub example.no-ip.org and it's december 2004)
Default: Main chat - %[hubaddr].log, Private message - %[user].log, Download - Downloads.log and Upload - Uploads.log


Advanced

Boolean Options

Auto-away on Minimize
Switch to away mode whenever the client is minimized (and to back whenever restored).
Automatically Follow Redirects
A connected hub can send out a redirect request, asking your client to disconnect from the current hub and joining another one. Enable this to automatically join that other hub. (You will be disconnected from the current hub no matter what.) If you leave it disabled, you can use the Follow Redirect button to manually follow the redirect.
Clear Search Box After Each Search
After each search, your search terms will be cleared. The last 10 terms will be accessible through the drop-down.
Open the Public Hubs Window at Startup
Opens the Public Hub window at startup, and automatically downloads the configured public hub list.
Open the Download Queue Window at Startup
Shows the Download Queue window at startup.
Open the Favorite Hubs Window at Startup
Shows the Favorite Hubs window at startup.
Open the Finished Downloads Window at Startup
Shows the Finished Downloads window at startup.
Automatically Search for Alternative Download Locations
Every few minutes, the client will search for files in your Download Queue to find more download locations (more users/sources). If the download was started with a TTH root hash available, the autosearch will find exact matches by searching via hash. Otherwise, the autosearch will try to find matches by searching with a slightly modified version of the filename.
Automatically Match Queue for Auto Search Hits
Enable to automatically download a user's list and match them as sources for files in your Download Queue when they've been discovered as a source for one of the files you're downloading. If you download files in sets, that user is probably a source for many more files you're downloading.Enable if unsure. The drawbacks are that it might add slower sources, possibly increasing the time needed to complete a download, and that you'll download a lot of file lists.
Open Private Messages in Their Own Window
If you disable this option, a private message from a user appears as a status line in main chat instead of in a separate window. This could cause you to miss some messages if you don't check the chat regularly. You may not care much for private messages from other users. Ignoring them however, not only lessens the (user-friendly) Direct Connect experience, but is not always wise because failing to reply to a message from an Operator can get you kicked or, in the worst case, permanently banned from that hub.
Ignore Private Messages From Offline Users
Enable this if you wish to ignore private messages from users that are not online on the hub. These messages originate from hub bots and generally contain useful information, like hub specific rules or warnings.
Open Private Messages From Offline Users in Their Own Window
Enable this if you want messages from hub bots in their own window. When disabled they get sent as a status message in main chat instead which is less annoying yet still informative. This option only matters if you're not ignoring private messages from offline users (previous option).
Open New File List Windows in the Background
Keep this disabled if you want newly downloaded filelists to pop up in front of other windows. It can be very annoying to have a new window pop up when you're typing something.
Open New Private Message Windows in the Background
Keep this disabled if you want new private messages filelists to pop up in front of other windows.
Keep Duplicate Files in Your File List
Decides whether to remove duplicate files from your share or to list them but subtract their size from your total reported share size. Duplicate files never count towards your share size, no matter what this is set to.
Register with Windows to Handle dchub:// and adc:// URL Links
When set, DC++ will be the default handler for all dchub:// and adc:// links. These links can appear on web pages, internet shortcuts on your computer, or be typed and run as a program from the Start Menu. Disable this if you prefer for a different application to handle Direct Connect hub links. Disabling will make DC++ remove the keys from the register.
Register with Windows to Handle manget: URI Links
When set, DC++ will register itself to handle magnet: links. These links will let you search the Direct Connect network for a file matching a given file hash, given that the magnet link contains information appropriate for the Direct Connect network. DC++ uses Magnethandler to give a choice between supported P2P applications when magnet.exe is installed on the system or is located in the application's directory. Disabling will make DC++ remove the key from the register.
Use Small Send Buffer
Enable this option if download speeds slow down when uploading files. Users on asynchronous lines with less upstream than downstream will often notice this. Acknowledgement packets for incoming data have to wait in line between the outgoing data. This results in slower sending of acknowledgements packets resulting in a slowdown in the incoming data transfer. Enabling this option will break the outgoing data up into smaller packets so acknowledgement packets can get through more quickly.
Don't Delete File Lists When Exiting
If this option is disabled, DC++ will delete the contents of the FileLists directory, where file lists are stored, when exiting. However, you can open already downloaded filelists instead of downloading them again. These file lists have a chance of being out of date, but for users on slow connections, keeping file lists can save time. Since the file list isn't curent, don't be surprised if the files you enqueue to download have been removed by the user, or moved.
Automatically Disconnect Users Who Leave the Hub
The Direct Connect spirit is all about sharing. You are only sharing when you are connected to one or more hubs. In the past, users of questionable integrity and spirit logged onto a hub, selected a download, and disconnected from the hub again. If everyone did that, there would be nothing to download. Enable this option to avert that kind of behaviour. Note that you might need to disable this option if you're connected to a hub that has a bad connection. The user will regain his/her slot if he/she reconnects within 10 minutes, but you might have opened up another slot for another user in the mean time. This could cause a situation where you have way more upload slots in use than you selected in the settings. Also, if you quit the hub, people downloading from you will not be disconnected.
Show Progress Bars for Transfers
Enable this if you have CPU cycles to spare, and you will get colored progress bars in the Transfer View.
Enable Automatic SFV Checking
Simple File Verification (SFV) is a scheme in which a set of files are accompanied by a so-called sfv-file which contains CRC32 checksums of each file. If there is an sfv-file included, DC++ will check that your download is free of corruption and retry the download that wasn't the case.
Automatically Refresh Share List Every Hour
If you have a dynamic share (files getting added, moved or deleted all the time) enabling this option is a must. Your filelist will be refreshed every hour, keeping the users on the hub up to date with your current share. Disabling this option is really only needed for really large shares where refreshing takes so much time that the client is unusable in the mean time.
Use AntiFragmentation Method for Downloads
This option will try to reserve the full space needed for a file when starting the download. This should reduce the fragmentation of files on your hard drive. (Fragmentation is bad because reading files from your drive will take longer because the drive head has to hop from place to place instead of reading in a continuous fashion.) Enable if unsure. The drawbacks are a short pause at the start of every download during which the drive space is reserved, less drive space being available while you are downloading, and possibly losing progress on your download if Windows crashes and DC++ cannot exit cleanly.
Don't Send the Away Message to Bots
When in away mode, don't send the away message to users that appear to be bots. Having this option disabled is very annoying if you get messages from bots that link chat from multiple users (the most well known example is the Operator Chat facility found in many hubs). Users are judged to be bots if they have an empty Connection type. Enable if unsure.
Skip Zero-Byte Files
When this option is enabled, any zero byte files you try to download will be silently skipped. Sometimes empty files contain information through their naming. However every file, even an empty one, will consume some drive space.
Break on First ADLSearch Match
If you're using the ADLSearch features, keeping this option enabled will make a file show up in only the first search it matches. If disabled, it may appear multiple times, if it matches more than one search.Disable if unsure.
Tab Completion of Nicks in Chat
You can use the tab key to complete partial (beginnings) of nicknames from the main chat text input field (press tab multiple times to switch between multiple nicks). A partial nick will also match if comes after something between brackets (e.g. "arne<tab>" would match "[BBB]arnetheduck").
Enable Safe and Compressed Transfers
When transfering data with a compatible client, DC++ will try to use ZLIB compression with integrity checks. This uses some CPU cycles, but can dramatically speed up transfers of uncompressed files as well as ensure file integrity (reduce the chance of corruption to near zero).Enable if unsure.
Accept Custom User Command From Hub
This option lets you enable or disable DC++'s ability to retrieve custom commands from a remote hub. Custom User Commands may show when you click on the hub's tab, or on a user in the Transfer View, Search Window, or User List, and can enable you to read the rules, perform operator functions, interact with hub bots, etcetera.
Log Filelist transfers
Add successful file lists transfers to your upload and download logs. Otherwise only transferred files are logged. Enabled by default.
Send Unknown /commands to the Hub
Enable this to send /commands that DC++ does not recognize to the hub as normal chat.
Add Finished Files to Share Instantly
If you download files directly to a shared directory, enabling this option will add the files to your share as soon as they're finished. Searches will return the file, and users can download it. It will not appear in your file list until the next refresh.
Use UPnP Control
This option is available on Windows XP and above, with the proper services enabled. It will auto-configure the Windows Firewall and any UPnP (Universal Plug and Play) routers to enable DC++ to operate in active mode without configuring an IP address or port on the Connection settings page. A guide to setting up UPnP can be found here.
Don't download files already in share
This option will stop you from downloading files which already exist in one of your shared directories. Note that this only works with those files which have a TTH.
Use CTRL for line history
Press up arrow while holding down CTRL to scroll through line history. If not enabled, up arrow will be enough.
Open new window when using /join
When using /join >ip<, a new window with the hub will open.
Search for files with TTH root only as standard
Enables "Only results with TTH root" in the search window as standard. This option will cause search results that don't have a TTH to not be displayed.
Advanced resume using TTH
Enables a more advanced form of transfer resuming than the rollback method. The last block of the incomplete file will be checked for validity using the leaves, retrieved from the remote client, of the TTH. If the block fails verification, the previous block in the file will be tried, and so on, until a good block is found, or there is no more data in the file.
Toggle window when selecting an active tab
With this option enabled, clicking on an active tab will mimic the behavior of Windows 98+ and send the currently active window to the background. The most recently accessed window will become the new active window.


Experts only

Rollback
The number of bytes that will be requested from the remote user that overlap the existing incomplete file on disk. The overlapping bytes are compared, and if they do not match, the source is judged to be incompatible, and is removed with a "Rollback inconsistency, existing file does not match the one being downloaded" error. This value normally has no effect when Advanced Resume is enabled. (default: 4096)
Max Hash Speed
Measured in mebibytes per second. (no default)
Write Buffer Size
Measured in kibibytes. (default: 16)
Max Tab Rows
The maximum number of rows of tabs that DC++ will make. Any tabs that do not fit will be accessible through the chevron at the right of the tab control. (default: 2)
PM history
The number of lines that will be read from the private message log and displayed when a new PM is received. (default: 0)
Search history
Number of old searchlines that will be shown on searchpage. (default: 10)
Mini slot size
Define the size of the mini slot. Can not be defined as lower than 64 KiB. (default: 64 KiB)
Bind address
This is an advanced setting that allows you to set a bind address for DC++ to use. Normally this is 0.0.0.0 and most users do not want to change this. If you however have two network interfaces connected to the internet, it can be useful to change this. Set one of your local IP addresses here, DC++ will then only use that particular network interface for all connections. If binding fails, it will do so silently and INADDR_ANY will be used instead. If you experience connection problems make sure that this is set to default. (default: 0.0.0.0)
This feature requires a restart to be fully effective.


User Commands

Command Types:

Separator
Adds a separator to the menu
Raw
Sends raw command to the hub (experts only, end it with '|'!)
Chat
Sends command as if you were typing it in the chat
PM
Sends command as if you sent it by pm

Context

Contexts determine where the command is shown.
Hub Menu
Hub tab (at the bottom of the screen) right-click menu
Chat Menu
User right-click menu in chat and PM tab menu
Search Menu
Search right-click menu
File list Menu
File list right-click menu

Parameters

Name
Name (use '\' to create submenus)
Command
Command text (may contain any of the variables listed below). Use Ctrl + Enter to create a new line.
Hub
Hub ip as typed when connecting (empty = all hubs, "op" = hubs where you're an operator)
To
Private Message recipient
Send Once Per Nick
Send only once per user from search frame, regardless of how many files you've selected from that user

Variables

In the parameters, you can use %[xxx] variables and date/time specifiers (%Y, %m, ...). The following variables are also available:
  • %[mynick]: your own nick
  • %[nick]: the user's nick (user & search context only)
  • %[tag]: user tag (user & search context only)
  • %[description]: user description (user & search context only)
  • %[email]: user email (user && search context only)
  • %[share]: user shared bytes (exact) (user && search context only)
  • %[shareshort]: user shared bytes (formatted) (user && search context only)
  • %[ip]: user ip (if supported by hub)
  • %[file]: filename (search context and in transferview only)
  • %[filesize]: file size (search context only)
  • %[filesizeshort]: file size, short version including units (search context only)
  • %[tth]: tth for the file (search context only)
  • %[line:reason]: opens up a window asking for "reason"
  • %[mycid]: your ADC CID
  • %[cid]: user's ADC CID


Applying patches

Using GNU Patch
1. Download and place GNU patch [image] in the directory you want to patch.
2. Type cmd in Run and tab your way to where GNU Patch is.
3. Write patch -[parameter] < my-patch.diff
4. The file my-patch.diff is the actual patch you want to apply.

Example: C:\Program Files\DCpp_orig>patch -p1 < my-patch.diff
C:\Program Files\DCpp_orig is the directory that is going to be patched.
p1 gives the entire file name unmodified with out a leading slash.

Parameters and more information on how to use GNU Diff can be found in the documentation for GNU Diff which should have come included with GNU Diff. Otherwise, the manual can be found at the GNU Diff manual


Creating patches

Using GNU Diff
1. Download and install GNU Diff [image].
2. Type cmd in Run and navigate your way to where GNU Diff is installed.
3. Write diff -[parameter(s)] <path to the untouched file or folder> <path to the changed file or folder> > my-diff.diff
4. A file, my-diff.diff, will now be created in the directory which GNU Diff is placed. Other extensions for the patch (such as .txt) are acceptable, there is no standard.

Example: C:\Program Files\GNU Diff>diff -uNr dcplusplus_orig dcplusplus_chan > my-diff.diff
C:\Program Files\GNU Diff is where GNU Diff is installed.
The parameter u means the diff will be unified. N means that GNU Diff will show output even if a file doesn't exist in one of the two folders. r means that GNU Diff will go through subdirectories and give output on which directory and file differ.
dcplusplus_orig is the folder that is untouched and what the changes is going to differ against.
dcplusplus_chan is the folder where changes has occured.
The actual diff is my-diff.diff.

Parameters and more information on how to use GNU Diff can be found in the documentation for GNU Diff which should have come included with GNU Diff. Otherwise, the manual can be found at the GNU Diff manual

Interpreting the diff
diff -uNr dcplusplus_orig/client/file.cpp dcplusplus_chan/client/file.cpp
--- dcplusplus_orig/client/file.cpp	Tue Nov 30 00:21:30 2004
+++ dcplusplus_chan/client/file.cpp	Wed Dec  1 13:59:59 2004
@@ -336,7 +336,7 @@
// text
        // text
        int a = 0;
-       int b;
+       int c;
        double pi;
        string helpfile;
        string dcplusplus;
Lines starting with - (minus sign) are going to be removed.
Lines starting with + (plus sign) are going to be added.


Etiquette for the Direct Connect Network

Hubs and Rules

  • When you join a hub, you should read the hub rules. Almost every hub sends those to you when you enter (either by chat or private message). The rules can be very diverse and obviously take precendence over the guidelines outlined here.
  • Operators in a hub (the ones with the key icon) can ban you from the hub if they please. Most operators are friendly people, some aren't. However unfriendly an operator might be, he is always right... but only in that hub. If unfriendly operators make your stay in that hub unpleasant, leave and join a different hub. There are plenty of other hubs and users that do appreciate your files and your presence.

Sharing Files

  • Don't share files that you wouldn't want to download yourself. Prime examples of files that no one wants:
    • Your Windows folder
    • Your Program Files folder
    • Your Documents and Settings folder
    • Your Recycle Bin (if you don't want the files, why would we?)
    • Your homework / e-mails / temp files / cookies
    • Incomplete files
  • Don't disconnect from Hubs in which you are downloading from a particular user. (DC++ users have the option to punish this behaviour by setting the appropriate option in Advanced settings that closes downloads of peers that leave the Hub.)
  • Share as many interesting files as possible. If everyone shared only a few files, Direct Connect wouldn't be such a great network.

Asking for Slots

  • Read someones description before asking for a slot. If the user has something similar to "NO SLOTBEGGING" in their description, it's likely that asking for a slot will do you nor them any good. Be patient and wait just like everbody else.
  • When asking for slots, be polite. Be more polite if the user shares a lot more than most users in the Hub. Be even more polite if the users shares a lot more than you do.
  • When asking for slot, specify what you want to download. Some users have a preference to hand out slots for rare stuff. Rare stuff does NOT include new stuff. Don't ask for slots for something that is new (a couple of hours or days). Most likely you're not the only one who wants the file(s) and you'll only piss off the one who has the new stuff. (Remember that the user has a limited bandwidth (just like you do) and cannot hand out slots to everyone, or no one would get the file(s) at all because the upload speeds would converge to zero).

Miscellaneous

  • Don't ask for files in main chat. The exception to this rule is when you've searched for the file(s) first and the search came up empty and you have the hope that someone might have the file(s) stored on a removable medium.
  • Don't use excessive punctuation marks. Especially usage of many (more than two or three) question or exclamation marks give your peers the impression that you are an immature child. The same goes for excessive usage of capital letters.


Links

* Homepage | http://dcplusplus.sourceforge.net
* Forum | http://dcplusplus.sourceforge.net/forum
* Report bugs | http://dcplusplus.sourceforge.net/bugs
* Request features | http://dcplusplus.sourceforge.net/bugs
* Download language files | http://sourceforge.net/tracker/?atid=460289&group_id=40287&func=browse
* Get newest version | http://dcplusplus.sourceforge.net/index.php?t=2&s=1


Help File Credits

Help File Credits and License

Copyright (c) 2004-2005 Todd Pederzani, Walter Doekes

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Contributors

  • Ullner
  • Naga
  • TheParanoidOne
  • Henrik Engström (by proxy)
  • BSOD2600


GNU Free Documentation License

Version 1.2, November 2002

Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.

A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display copies.

3. COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

  • A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
  • B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
  • C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
  • D. Preserve all the copyright notices of the Document.
  • E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
  • F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
  • G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
  • H. Include an unaltered copy of this License.
  • I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
  • J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
  • K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
  • L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
  • M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
  • N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
  • O. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.

You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements."

6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

8. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

      Copyright (c)  YEAR  YOUR NAME.
      Permission is granted to copy, distribute and/or modify this document
      under the terms of the GNU Free Documentation License, Version 1.2
      or any later version published by the Free Software Foundation;
      with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
     Texts.  A copy of the license is included in the section entitled "GNU
      Free Documentation License".

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:

    with the Invariant Sections being LIST THEIR TITLES, with the

Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.


Non-routable IP Ranges

Non-Routable IP Addresses

RFC1918, an Internet standards document, describes several non-routable IP address blocks. These blocks of IP addresses have been set aside for use by individuals and companies for use in private networks. Properly configured routers on the Internet will not route these IP addresses.

In short, if your local computer's IP is in any of these ranges, you will very likely need to configure your router and firewall correctly to operate DC++ in active mode.

10.0.0.0 through 10.255.255.255 (10/8 prefix)
172.16.0.0 through 172.31.255.255 (172.16/12 prefix)
192.168.0.0 through 192.168.255.255 (192.168/16 prefix)


DC++ Tag

The DC++-style tag

Notation

The following information is appended to the description field:
<++ V:x,M:x,H:x/y/z,S:x[,O:x]>
This is updated every 1-2 minutes if there are changes.
V(ersion)
x = client version
M(ode)
x = mode (A = Active, P = Passive, 5 = SOCKS5)
H(ubs)
x = number of hubs connected to where you're not a registered user
y = number of hubs you're registered in
z = number of hubs you're registered as an operator
S(lots)
x = number of upload slots you have open (note that they may be in use already)
O(pen an extra slot if speed is below)
x = if total upload is below this value DC++ will open another slot
This part of the tag is only shown when the option for it is enabled.

History

The DC++ tag was introduced back when the only available Direct Connect client was Neo-Modus DirectConnect (NMDC) v1.0. That particular client could only connect to one hub at a time, which ensured that the upload slots available were assigned to other users connected to that hub. At first, hub owners considered DC++ to be a cheat client, because it could connect to multiple hubs at once. The DC++ tag was introduced so hub owners could check if the users were connected to a reasonable amount of hubs and had enough upload slots available for sharing.
At this point, almost every client, whether it's capble of joining multiple hubs or not, has a similar tag in it's description field. The custom is to replace "++" with some other identifier uniquely identifying the client type (common are "oDC", "DCGUI" and "DC").