DC++
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++ 0.777 on Windows 7 | |
| Developer(s) | Jacek Sieka | 
|---|---|
| Stable release | 0.870
   / September 9, 2021 | 
| Repository | |
| Written in | C++ | 
| Operating system | Windows | 
| Type | Peer-to-peer | 
| License | GNU GPLv2 or later | 
| Website | dcplusplus.sourceforge.io | 
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 aforementioned 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
    
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 | 2021-09-09 (v0.870) | 
| EiskaltDC++ | Yes | GNU GPLv3 or later | Yes | 2021-03-03 (v2.4.2) | 
| FlylinkDC++ | Yes | GNU GPLv2 or later | Yes | 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 | |
References
    
- "What Are Direct Connect Protocol And DC++? How To Use DC++ For File Sharing?". Fossbytes. 2017-02-16. Retrieved 2021-11-02.
- Annalee Newitz (July 2001). "Sharing the Data". Metro, Silicon Valley's Weekly Newspaper. Metro Publishing Inc. Retrieved 2006-12-21.
- Fredrik Ullner (January 2008). "PC Pitstop and its P2P-report". DC++: Just These Guys, Ya Know?. Retrieved 2008-03-19.
-  "Archived copy". Archived from the original on 2011-07-07. Retrieved 2011-01-28.{{cite web}}: CS1 maint: archived copy as title (link)

