Software:DC++

From HandWiki
Revision as of 16:38, 14 February 2024 by JMinHep (talk | contribs) (linkage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Free and open-source, peer-to-peer file-sharing client
DC++
DC-Logo 128.png
Client connected.png
DC++ 0.777 on Windows 7
Developer(s)Jacek Sieka
Stable release
0.880 / October 20, 2022; 2 years ago (2022-10-20)
Written inC++
Operating systemWindows
TypePeer-to-peer
LicenseGNU GPLv2 or later
Websitedcplusplus.sourceforge.io

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.

History and background

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

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

General

Client FOSS Software license Active Release date (latest version)
AirDC++ Yes GNU GPLv2 or later Yes 2021-09-20 (v4.11)
AirDC++ Web Client Yes GNU GPLv2 or later Yes 2021-09-19 (v2.11.2)
ApexDC++ Yes GNU GPLv2 or later Yes 2018-12-25 (v1.6.5)
DC++ Yes GNU GPLv2 or later Yes 2022-08-20 (v0.880)
EiskaltDC++ Yes GNU GPLv3 or later Yes 2021-03-03 (v2.4.2)
FlylinkDC++ Yes GNU GPLv2 or later No 2017-01-20 (r504)
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

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

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

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

References

External links