DC++ is a free and open-source, peer-to-peer file-sharing client that can be used for connecting to the Direct Connect network or to the ADC protocol. It is developed primarily by Jacek Sieka, nicknamed arnetheduck.

DC++
Developer(s)Jacek Sieka
Stable release
0.881 Edit this on Wikidata / 6 November 2023
Repository
Written inC++
Operating systemWindows
TypePeer-to-peer
LicenseGNU GPLv2 or later
Websitedcplusplus.sourceforge.io

History and background

edit

DC++ is a free and open-source alternative to the original client, NeoModus Direct Connect (NMDC);[1] it connects to the same file-sharing network and supports the same file-sharing protocol. One of the reasons commonly attributed to the popularity of DC++ is that it has no adware of any kind, unlike NMDC.[2]

Many other clients exist for the Direct Connect network, and most of these are DC++ "mods": modified versions of DC++, based on DC++'s source code. A partial list of DC++ mods is given below. Some of these clients were developed for specialized communities (e.g. music-sharing communities), or in order to support specific experimental features, or perhaps features that have been rejected from inclusion in DC++ itself. An example of an experimental feature is hashing, which was initially implemented in BCDC++ and later adopted by DC++.

As of 2008, DC++ had around 90% market share of the Direct Connect community.[3]

Forks

edit
 
Chart showing DC++ and its forks[4]

An advantage of the free and open-source nature of DC++ is that several mods have been released which add features to the original client.

Many users send patches to DC++ which are included in future releases, but some features are rejected by the developer. Stated reasons for rejecting a patch are because they are coded poorly, or that the feature is frivolous, abusable or overly specialized, and does not belong in the main client. Examples include: upload bandwidth limiting (many users feel that upload bandwidth limiting is a form of cheating, while other users not using a full-duplex network connection can only achieve reasonable download speeds by limiting uploads), colorized chat, specialized operator functions (e.g. client/share checking).

The developers of some forks contribute features and bug fixes back upstream to DC++.

Client software comparison

edit

General

edit
Client FOSS Software license Active Release date (latest version)
AirDC++ Yes GNU GPLv2 or later Yes 2023-08-27 (v4.21)
AirDC++ Web Client Yes GNU GPLv2 or later Yes 2023-05-23 (v2.12.1)
ApexDC++ Yes GNU GPLv2 or later Yes 2018-12-25 (v1.6.5)
DC++ Yes GNU GPLv2 or later Yes 2023-11-06 (v0.881)
EiskaltDC++ Yes GNU GPLv3 or later Yes 2021-03-03 (v2.4.2)
FlylinkDC++ Yes GNU GPLv2 or later Yes 2023-12-31 (r601 build 23343)
LinuxDC++ Yes GNU GPLv2 or later No 2011-04-17 (v1.1.0)
RSX++ Yes GNU GPLv2 or later No 2011-04-14 (v1.21)
StrongDC++ Yes GNU GPLv2 or later No 2010-12-27 (v2.42)
TkDC++ Yes GNU GPLv2 or later No 2010-11-29 (v1.3)

Operating system support

edit
Client Windows Linux macOS BSD Haiku
AirDC++ Yes No No No No
AirDC++ Web Client No Yes No No No
ApexDC++ Yes No No No No
DC++ Yes No No No No
EiskaltDC++ Yes Yes Yes Yes Yes
FlylinkDC++ Yes No No No No
LinuxDC++ No Yes No Yes No
RSX++ Yes No No No No
StrongDC++ Yes No No No No
TkDC++ Yes No No No No

Interface and programming

edit
Client GUI CLI WebUI Programming language Based on
AirDC++ Yes No Yes C++ StrongDC++
AirDC++ Web Client No Yes Yes C++ AirDC++
ApexDC++ Yes No No C++ StrongDC++
DC++ Yes No No C++ -
EiskaltDC++ Yes Yes Yes C++ DC++
FlylinkDC++ Yes No Yes C++ ApexDC++/StrongDC++
LinuxDC++ Yes No No C++ DC++
RSX++ Yes No No C++ StrongDC++
StrongDC++ Yes No No C++ DC++
TkDC++ Yes No No C++ StrongDC++ / DC++ bzr

Features

edit
Client Magnet URI UPnP NAT traversal DHT Encryption IPv6 IDNA Plugin Proxy Hash algorithms Protocol support
AirDC++ Yes Yes Yes No Yes Yes No Yes Tiger Tree Hash TIGR, ADCS
AirDC++ Web Client Yes Yes Yes No Yes Yes No Yes Tiger Tree Hash TIGR, ADCS
ApexDC++ Yes Yes Yes Yes Yes No No Lua, C++ Yes Tiger Tree Hash TIGR, ADCS
DC++ Yes Yes Yes No Yes Yes No Yes Tiger Tree Hash TIGR, ADCS
EiskaltDC++ Yes Yes Yes Yes Yes No Yes Lua, Qt Script, QML Yes Tiger Tree Hash TIGR, ADCS
FlylinkDC++ Yes Yes Yes Yes Yes No Yes Yes Tiger Tree Hash TIGR, ADCS
LinuxDC++ Yes Yes Yes No Yes No No Yes Tiger Tree Hash TIGR, ADCS
RSX++ Yes Yes Yes Yes Yes No No Lua, C++ Yes Tiger Tree Hash TIGR, ADCS
StrongDC++ Yes Yes Yes Yes Yes No No Yes Tiger Tree Hash TIGR, ADCS

See also

edit

References

edit
  1. ^ "What Are Direct Connect Protocol And DC++? How To Use DC++ For File Sharing?". Fossbytes. 2017-02-16. Archived from the original on 2021-11-02. Retrieved 2021-11-02.
  2. ^ Annalee Newitz (July 2001). "Sharing the Data". Metro, Silicon Valley's Weekly Newspaper. Metro Publishing Inc. Archived from the original on 2021-01-21. Retrieved 2006-12-21.
  3. ^ Fredrik Ullner (January 2008). "PC Pitstop and its P2P-report". DC++: Just These Guys, Ya Know?. Archived from the original on 2008-03-22. Retrieved 2008-03-19.
  4. ^ "Client Software - ADCPortal Wiki". Archived from the original on 2011-07-07. Retrieved 2011-01-28.
edit