Skip to content
EiskaltDC++ is a cross-platform program that uses the Direct Connect and ADC protocols
Branch: master
Clone or download
Latest commit c9c510b May 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake cmake: enable translation of text strings from dht/ subdir. May 6, 2019
data macOS, Windows: update build scripts and documentation. May 1, 2019
dcpp [Core] Fix path to locale/ dir for Snap, AppImage, etc. May 22, 2019
dht [Qt, Daemon, DHT, Extra] Small code refactoring. May 11, 2019
eiskaltdcpp-cli Rename html manual files. May 1, 2019
eiskaltdcpp-daemon cmake: add support of static builds for GNU/Linux May 21, 2019
eiskaltdcpp-gtk Update translations. May 6, 2019
eiskaltdcpp-qt [Qt] Fix loading of emoticons. May 22, 2019
extra [Qt, Daemon, DHT, Extra] Small code refactoring. May 11, 2019
haiku Update URLs: http --> https. Sep 2, 2018
json Fix compiler warnings: Feb 17, 2019
linux [Travis CI] Move build scripts for GNU/Linux. May 22, 2019
macos Move old build scripts to outdated/ subdirectory. May 15, 2019
tests/travis-ci [Travis CI] Move build scripts for GNU/Linux. May 22, 2019
windows cmake: rename configuration option STATIC to BUILD_STATIC. May 20, 2019
.gitignore cmake: add LOCAL_ASPELL_DATA configuration option. Sep 5, 2018
.travis.yml [Travis CI] Move build scripts. Mar 12, 2019
AUTHORS Update documentation. Apr 7, 2019
CMakeLists.txt [Qt] Improve work of static builds in GNU/Linux. May 22, 2019
COPYING Update documentation. Feb 4, 2019
ChangeLog.txt Update ChangeLog. May 15, 2019
DEVELOPERS.NOTES [Qt] Improve work of static builds in GNU/Linux. May 22, 2019
INSTALL Update documentation. May 15, 2019
LICENSE Update URLs: http --> https. Sep 2, 2018
README.html Update README. May 19, 2019 Update README. May 19, 2019
TODO Update TODO. Feb 17, 2019 [Core] Code refactoring. Apr 15, 2019 Update documentation. Mar 15, 2019
transifex.config Improve update-translations script. Apr 6, 2019 Improve update-translations script. Apr 8, 2019

EiskaltDC++ – file sharing using DC and ADC protocols


Public chat room:


This program is licensed under the GNU General Public License. See the COPYING file for more information.


EiskaltDC++ is a cross-platform program that uses the Direct Connect (DC aka NMDC) and Advanced Direct Connect (ADC) protocols. It is compatible with DC++, FlylinkDC++, LinuxDC++ and other DC clients. EiskaltDC++ also interoperates with all common DC hub software.

Currently supported systems (in order of decreasing importance): GNU/Linux, macOS, MS Windows, FreeBSD, Haiku and GNU/Hurd.

Currently supported features (not full list):

  • 1
  • 2
  • 3

Versions history

See ChangeLog.txt file.


For build from sources see INSTALL file.

GNU/Linux and FreeBSD users may install packages from official and unofficial repositories, ports, etc.

macOS users may install and update official builds using Homebrew cask:

brew cask install eiskaltdcpp

or download app bundles from SourceForge (see links below) and install them manually. Program doesn't have embedded mechanism of updates, so in this case users should monitor updates themselves.

Haiku users may install official package from HaikuPorts:

pkgman install eiskaltdcpp

MS Windows users may download official installers and portable builds from SourceForge (see links below). Program doesn't have embedded mechanism of updates, so users should monitor updates themselves.


EiskaltDC++ is designed mostly for experienced users who know how DC works, which settings should be used with their type of network connection, etc.. This short introduction is not intended to describe such basic things.

Here are small recommendations for initial configuration after first launch of program:

  1. Open Preferences dialog and set nickname (it is important), default encoding for DC hubs (for example, WINDOWS-1251 for Russian hubs), type of incoming connections (active mode, firewall with UPnP or passive mode) and downloads directory.
  2. Open Public Hubs widget and connect to few popular public hubs (you may sort list by amount of users or by total amount of shared data).
  3. Open Search widget and try to search any popular file. (Do not forget to use spaces as words separator.)
  4. Add few hubs to list of Favourite hubs and enable auto connect on program startup for them.
  5. Program settings will be saved on program exit.

All programs from EiskaltDC++ project (eiskaltdcpp-qt, eiskaltdcpp-gtk and eiskaltdcpp-daemon) use the same common settings. So once you have correctly configured connections in EiskaltDC++ Qt, for example, you may launch eiskaltdcpp-daemon and use Web UI for ruling it (search files, add them to downloads queue, etc.).


During the development EiskaltDC++ in past years we have used different CVS (Subversion first and then Git) and different development models. Currently the process looks like this:

  • All development of is done in git work branch or special (feature) branches detached from work branch.
  • Change log file should be updated together with changes in source code. It may be done in a same git commit or in a separate git commit depending on situation. Just use common sense for this. (There were no rule of updating change log in the past which leads to significant delaying of stable releases.)
  • Once the changes from work branch are ready for usage and build of program is tested for most important systems (Linux, macOS, Windows) they may be merged to master branch.
  • Daily builds of program for testers, active users and just curious people should be done from git master branch.
  • Version scheme for builds from git snapshots should look like: <major>.<minor>.<patch>-<commits>-g<hash> (where <major>, <minor> and <patch> are not digits but numbers). <major>.<minor>.<patch> is last git tag (for stable release), <commits> – the number of commits since last git tag and <hash> – short hash of current git commit.
  • Once there is noticeable amount of changes since last stable release or if there are very important bug fixes which should be quickly delivered to users new git tag (v<major>.<minor>.<patch>) is created and tarballs with sources are uploaded to SourceForge.
  • There is no strict limitation of type of changes suitable for new releases: even "minor" or "patch" version may contain new features and significant changes in GUI.
  • In case of noticeable changes in Core of program (library libeiskaltdcpp) the <major> part of program version should be changed.
  • In case of significant changes (for example, total code refactoring) in any part of program the <major> part of program version should be changed.
  • In case when where are very few changes since last stable release, but they are important and should be quickly delivered to users the <patch> part of program version should be changed.

During development all changes are tested on Continuous Integration services Travis CI and Sibuserv CI.


Main developers

  • Main developers of EiskaltDC++ are listed in AUTHORS file.
  • Program contains source code from other free and and open-source projects. All copyright information from them is pedantically documented in special file.
  • Part of program with GTK+ UI contains additional Credits.txt file. (This is just a list of contributors from LinuxDC++ and FreeDC++ projects, not all of them are copyright holders.)

Other contributors

There are a lot of people who were involved into EiskaltDC++ development. Some of them are listed in license headers in source files, some of them might be found only in the history of commits in our git repository. Also there are translators, testers and just active users. We are thankful to all them!

How you can help

Bug reports

If you found a bug please report about it in our Bug Tracker.

Beta testing

You may use daily builds of program or program compiled from sources by yourself (from git master branch) for testing and suggesting of new features, and for reporting about new bugs (if they happen).

Comments and wishes

We like constructive comments and wishes to functions of program. You may contact with us in public chat room for discussing of your ideas. Some of them will be drawn up as feature requests in our Bug Tracker.


The work of translators is quite routine and boring. People who do it usually lose interests and their translations become incomplete. If you see such situation for translation to your native language, please join to our translations team. It is extremely welcome!

Some useful notes about translation process you may find at special wiki page.


There are many ways to contribute to the EiskaltDC++ project, if you think you can do a better job with any of the EiskaltDC++ graphics, then go right ahead!


Patches are welcome! Contact to EiskaltDC++ developers if you are working on them.


Currently we have active package maintainers for Debian and Ubuntu distros, for macOS and MS Windows. If you have suggestions about improving of packaging, just contact with them.

If you want to prepare personal builds of EiskaltDC++ for MS Windows and macOS systems, it is very welcome! We may add links to them into our documentation. Becoming an official maintaner for these systems is more complicated, but also possible.

For other GNU/Linux and *BSD systems the situation is quite clear: just update packages (pkgbuilds, ebuild, etc.) in official repositories of your favorite distributions or make a Personal Package Archive (PPA) with them. We will add links to them into our documentation.


We do not accept donations for EiskaltDC++ project as a whole, because there are no expenditures for infrastructure and such like. (Thanks to owners of GitHub, SourceForge, Transifex and Travis CI services for their support of FOSS projects!)

But you may send donations to project contributors (developers, maintainers, translators, etc.) on personal basis. Just contact with them using the contact information from AUTHORS file.

Packages and installers

Extra links

Have fun!

You can’t perform that action at this time.