eiskaltdcpp / eiskaltdcpp

File sharing program using DC and ADC protocols
GNU General Public License v3.0
372 stars 77 forks source link
adc c-plus-plus chat cli client communication cross-platform dht direct-connect file-sharing gtk gui linux mac messaging network p2p qt windows

EiskaltDC++ – file sharing program using Direct Connect protocols

Website: https://github.com/eiskaltdcpp/eiskaltdcpp
Sources: https://github.com/eiskaltdcpp/eiskaltdcpp

Public chat room: https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki: https://github.com/eiskaltdcpp/eiskaltdcpp/wiki

License

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

Description

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++, AirDC++, FlylinkDC++ 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):

Versions history

See ChangeLog.txt file.

Installation

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 install --cask eiskaltdcpp

or download app bundles from SourceForge 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. Program doesn't have embedded mechanism of updates, so users should monitor updates themselves.

Usage

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 connection to hubs during program startup.
  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.).

Development

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:

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

Developers

Main developers

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.

Translations

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.

Graphics

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!

Programming

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

Packaging

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 maintainer 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.

Donations

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!