DC++

From Wikipedia, the free encyclopedia
(Redirected from DCPlusPlus)
Jump to navigation Jump to search
DC++
DeveloperJacek Sieka
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC++
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    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

    [edit | edit source]

    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 | edit source]
    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 | edit source]

    General

    [edit | edit source]
    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 2024-12-07 (v2.13.2)
    ApexDC++ Yes GNU GPLv2 or later No 2018-12-25 (v1.6.5)
    DC++ Yes GNU GPLv2 or later Yes 2025-09-13 (v0.883)
    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 | edit source]
    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 | edit source]
    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 | edit source]
    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 | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]