Comparison of Direct Connect software

Last updated

This article compares features and other data about client and server software for Direct Connect, a peer-to-peer file sharing protocol.

Contents

Hub software

Direct Connect hubs are central servers to which clients connect, thus the networks are not as decentralized as Gnutella or FastTrack. Hubs provide information about the clients, as well as file-searching and chat abilities. File transfers are done directly between clients, in true peer-to-peer fashion.

Hubs often have special areas of interest. Many have requirements on the total size of the files that their members share (share size), and restrictions on the content and quality of shares. A hub can have any arbitrary rule. Hubs can allow users to register and provide user authentication. The authentication is also in clear text. The hub may choose certain individuals as operators (similar to IRC operators) to enforce said rules if the hub itself cannot.

While not directly supported by the protocol, hub linking software exists. The software allow multiple hubs to be connected, allowing users to share and/or chat with people on the other linked hubs. Direct connect hubs have difficulty scaling, due to the broadcast-centricity of the protocol.

General

NMDC [1] hub FOSS Software license Active
[2]
Last update [3]
(version)
GUI CLI Other IPv6 support Programming language Based onNotes
UFOHub No Proprietary
Freeware
Yes2024-09-05
(10.24.9)
YesNoYesYesUn­known
Verlihub Yes GNU GPL Yes2023-12-16
(1.5.0.0)
NoYesUn­knownNo C++, Lua, Python, Perl
PTDCH Yes GNU GPL No2009-01-16
(2.1 Alpha 7)
YesUn­knownUn­knownNo Visual Basic, Jscript, VBscript DDCH
Dtella Yes GNU GPL No2015-06-07
(1.2.9) [4]
NoNoYesNo Python
HeXHub Yes Open Software License No2014-03-01
(5.12)
YesUn­knownUn­knownNo Assembly
Open Direct Connect Hub Yes GNU GPL No2014-08-14
(0.8.3)
NoUn­knownUn­knownNo C, Perl Available in Debian [5] and OpenWrt [6]
Flexhub Yes GNU AGPL No2013-10-22
(Beta 0.2 svn 1469)
PendingYesUn­knownNo Lua
PtokaX Yes GNU GPL Yes2022-12-29
(0.5.3.0) [7]
YesYesUn­knownYes C++, Lua
RusHub Yes GNU GPL No2012-06-10
(2.3.10) [8]
NoYesUn­knownYes C++, Lua Verlihub [9]
Eximius [10] No Proprietary
Freeware
No2007YesUn­knownUn­knownNo C#, Lua
DB Hub Yes GNU GPL No2008-02-08
(0.451)
Un­knownUn­knownUn­knownNoUn­knownOpenDCHub
openDCd Yes GNU GPL No2002-03-26
(0.5.8)
Un­knownUn­knownUn­knownNoUn­known
DDCH DevDirect Connect HubUn­knownUn­knownNo2007-04-15
(?.?.?) [11]
YesNoNoNo Visual Basic, Jscript
py-dchub Yes MIT No2006-02-13
(0.2.4)
Un­knownUn­knownUn­knownNo Python
Aquila Yes GNU GPL No2015-02-17
(0.1.11-pre4-beta4)
NoYesNoNo C++, Lua
YnHub No Proprietary
Freeware
No2016-07-15
(1.0364.126)
YesNoNoNo Delphi
LamaHub Yes GNU GPL No2010-04-25
(0.0.6.3)
Un­knownUn­knownUn­knownNo C
DC Sharp Hub Yes GNU GPL No2004-09-06
(3.0.4 beta)
Un­knownUn­knownUn­knownNo C#
NMDC [1] hub FOSS Software license Active
[2]
Last update [3]
(version)
GUI CLI Other IPv6 support Programming language Based on

Operating system support

NMDC [1] hub Windows Linux macOS Other
UFOHubYesNoNoNo
EximiusYesNoNoNo
PTDCHYesNoNoNo
AquilaYesYesNoNo
DtellaYesYesYesNo
HeXHubYesNoNoNo
Open Direct Connect HubNoYesNo OpenWrt
FlexhubYesYesNo Qnap and Synology NAS Devices
openDCdYesYesNoNo
DDCH DevDirect Connect HubYesNoNoNo
DBHubNoYesNoNo
PtokaXYesYesYes FreeBSD, OpenBSD, NetBSD, Solaris, illumos, Haiku
py-dchubYesYesYesAny Python compatible platform
RusHub Yes Yes Yes FreeBSD, Solaris
VerliHubNoYesNoNo
YhubYesNoNoNo
YnhubYesNoNoNo
LamaHubYesYesYes OS/2, OpenBSD, NetBSD, TrueOS, FreeBSD, ZeX/OS, Android [12]
DC Sharp HubYesNoNoNo
NMDC [1] hub Windows Linux macOS Other

Client software

While not mandated by the protocol, most clients send a "tag". This is part of the client's description and display information ranging from client name and version to number of total available slots to if the user is using a proxy server. It was originally added to DC++, due to its ability to be in multiple hubs with the same instance. The information is arbitrary. The original client's file list (a comprehensive list of the files a user shares) was compressed using Huffman's compression algorithm. Newer clients (among them DC++) serve an XML-based list, compressed with bzip2.

General

NMDC [1] Client FOSS Software license Last update [3]
(version)
Windows Linux macOS Other OS GUI CLI Other UI Programming language Based on
MLDonkey Yes GNU GPL 2020-06-06
(3.1.7-2)
YesYesYesNoYesYes WebUI OCaml, C, assembly
Shareaza Yes GNU GPL 2017-09-18
2.7.10.2
YesNoNoNoYesUn­knownUn­known C++
NeoModus Direct ConnectNo Proprietary
Freeware
2004-10-23
2.205
YesYesNoNoYesNoNo Visual Basic, C++
ShakesPeer Yes GNU GPL 2013-06-08NoNoYesNoYesNoNo C
Valknut Yes GNU GPL 2009-02-10
0.4.9
NoYesNo FreeBSD YesNoNo C++
DCTC Yes GNU GPL 2004-01-24
0.85.9
NoNoYes C++
DC# Yes GNU GPL YesNoNoNoYesNoNo C#
LDCC Yes GNU GPLv2 2004-07-15
2.0.7
NoYesNoNoNoNoYes C
DCDM++ Yes GNU GPL 2004-04-04
0.021
YesNoNoNoYesNoNo C++ DC++
fulDC Yes GNU GPL 2007-04-01
6.79 Beta 8
YesNoNoNoYesNoNo C++ DC++
RevConnect Yes GNU GPL 2007-08-25
0.674p
YesNoNoNoYesNoNo C++ DC++
CzDC Yes GNU GPL 2011-01-20
0.699
YesNoNoNoYesNoNo C++ DC++
EiskaltDC++ Yes GNU GPL 2021-03-02
2.4.2
NoYesYes FreeBSD YesNoNo C++ Valknut
microdc2 Yes GNU GPL 2006-12-24
0.15.6
NoYesYes FreeBSD NoYesNo C
NMDC [1] Client FOSS Software license Last update [3]
(version)
Windows Linux macOS Other OS GUI CLI Other UI Programming language Based on

Other software

Hub linking software links hubs' main chat, so that users can see and respond to chat that is in a hub they're not directly connected to. Often used to draw in users to hubs, or make private or small hubs more widely known. Whereas advertising a hub is "frowned upon" and is usually repercussion with floods or denial of service attacks, forming a more or less formal network by means of linking hub chat is a legitimate means for getting free publicity. Some Hub programs are able to support a more advanced form of linking which includes all the normal functions, chat, private messages, search and file transfers between users on different hubs can be supported through hub specific solutions or hub software neutral extensions using scripts/plug-ins.

General

Other softwareSoftware type FOSS Software license Active [2]
jDCBot General libraryYes GNU GPL Yes
Net::DirectConnect General libraryYesUn­knownYes
FlowLib General libraryYes GNU GPL Yes
DC-hublink LinkYes GNU GPL No
Hub-Link LinkYes GNU GPL No
MyIrcDcLinks LinkYes GNU GPL Yes
NetChatLink LinkYes GNU GPL Yes
Kitty BotYes GNU GPL No
Other softwareSoftware type FOSS Software license Active [2]

Operating system support

Other software Windows Linux macOS Other
jDCBotYesYesYesAny Java compatible platform
Net::DirectConnectYesYesYesAny Perl compatible platform
FlowLibYesYesYesAny C# compatible platform
DC-hublinkYesNoNoNo
Hub-LinkYesNoNoNo
MyIrcDcLinksYesNoNoNo
NetChatLink YesNoNoRuns under WINE
KittyYesNoNoNo
Other software Windows Linux macOS Other

Interface and programming

Other software GUI CLI Other Programming language Based on
jDCbotNoNoNo Java
Net::DirectConnectNoNoNo Perl
FlowLibNoNoNo C#
DC-hublinkYesNoNo Visual Basic
Hub-LinkYesNoNo Visual Basic
MyIrcDcLinksYesNoNo Delphi
NetChatLink YesNoNo Delphi
KittyUn­knownUn­knownUn­known C#
Other software GUI CLI Other Programming language Based on

References

  1. 1 2 3 4 5 6 NMDC: NeoModus Direct Connect
  2. 1 2 3 4 Projects are considered "Active" if they produced an update in the last 5 years.
    This field can be out of date easily.
  3. 1 2 3 4 Date format: YYYY-MM-DD
  4. "Dtella Labs". dtella.org. Archived from the original on 2012-07-11. Retrieved 30 December 2016.
  5. "Package: opendchub (0.8.2-2)". debian.org. Archived from the original on 2014-04-16. Retrieved 30 December 2016.
  6. "Index of /snapshots/trunk/ar71xx/packages/". openwrt. Archived from the original on 2014-04-16. Retrieved 30 December 2016.
  7. "PtokaX Direct Connect Hub". www.ptokax.org. Archived from the original on 2012-09-07. Retrieved 30 December 2016.
  8. "RusHub - Browse /RusHub at SourceForge.net". sourceforge.net. Archived from the original on 2012-07-22. Retrieved 30 December 2016.
  9. "rushhub.org". rushhub. Archived from the original on 2015-06-23. Retrieved 30 December 2016.
  10. "Eximius". RS2Soft.nl. 8 May 2009. Archived from the original on 8 May 2009. Retrieved 30 December 2016.
  11. http://taggedwiki.zubiaga.org/new_content/ac3c62d0fc77c14330e370c7e6331e6f#DDCH_DevDirect_Connect_Hub Retrieved 08 June 2023.
  12. "LamaHub DC++ hubsoft". lamahub.sourceforge.net. Archived from the original on 2012-12-25. Retrieved 30 December 2016.