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

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 hub FOSS Software license Last update(version) GUI CLI Other IPv6 support Programming language Based on NotesUFOHub Freeware 2026-07-03(25.26.7) Verlihub 08-23-2025 (1.7.0.0) C++, Lua, Python, Perl PTDCH 2009-01-16(2.1 Alpha 7) Visual Basic, Jscript, VBscript DDCH Dtella 2015-06-07(1.2.9) Python HeXHub 2014-03-01(5.12) Assembly Open Direct Connect Hub 2014-08-14(0.8.3) C, Perl Available in Debian and OpenWrt Flexhub 2013-10-22(Beta 0.2 svn 1469) Lua PtokaX 2022-12-29(0.5.3.0) C++, Lua 2012-06-10(2.3.10) C++, Lua Verlihub Eximius Freeware 2007 C#, Lua DB Hub 2008-02-08(0.451) OpenDCHub openDCd 2002-03-26(0.5.8) DDCH DevDirect Connect Hub 2007-04-15(?.?.?) Visual Basic, Jscript py-dchub 2006-02-13(0.2.4) Python Aquila 2015-02-17(0.1.11-pre4-beta4) C++, Lua YnHub Freeware 2016-07-15(1.0364.126) Delphi LamaHub 2010-04-25(0.0.6.3) C DC Sharp Hub 2004-09-06(3.0.4 beta) C# NMDC hub FOSS Software license Last update(version) GUI CLI Other IPv6 support Programming language Based on

Operating system support NMDC hub Windows Linux macOS Other UFOHub Eximius PTDCH Aquila Dtella HeXHub Open Direct Connect Hub OpenWrt Flexhub Qnap and Synology NAS Devices openDCd DDCH DevDirect Connect Hub DBHub PtokaX FreeBSD, OpenBSD, NetBSD, Solaris, illumos, Haiku py-dchub Any Python compatible platform RusHub

FreeBSD, Solaris VerliHub Yhub Ynhub LamaHub OS/2, OpenBSD, NetBSD, TrueOS, FreeBSD, ZeX/OS, Android DC Sharp Hub NMDC 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 Client FOSS Software license Last update(version) Windows Linux macOS Other OS GUI CLI Other UI Programming language Based on MLDonkey 08-20-2024(3.2.1) WebUI OCaml, C, assembly Shareaza 2017-09-182.7.10.2 C++ NeoModus Direct Connect Freeware 2004-10-232.205 Visual Basic, C++ ShakesPeer 2013-06-08 C Valknut 2009-02-100.4.9 C++ DCTC 2004-01-240.85.9 C++ DC# C# LDCC 2004-07-152.0.7 C DCDM++ 2004-04-040.021 C++ DC++ fulDC 2007-04-016.79 Beta 8 C++ DC++ RevConnect 2007-08-250.674p C++ DC++ CzDC 2011-01-200.699 C++ DC++ EiskaltDC++ 2021-03-022.4.2 C++ Valknut microdc2 2006-12-240.15.6 C NMDC Client FOSS Software license Last update(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 software Software type FOSS Software license jDCBot General library Net::DirectConnect General library FlowLib General library DC-hublink Link Hub-Link Link MyIrcDcLinks Link NetChatLink Link Kitty Bot Other software Software type FOSS Software license

Operating system support Other software Windows Linux macOS Other jDCBot Any Java compatible platform Net::DirectConnect Any Perl compatible platform FlowLib Any C# compatible platform DC-hublink Hub-Link MyIrcDcLinks NetChatLink Runs under WINE Kitty Other software Windows Linux macOS Other

Interface and programming Other software GUI CLI Other Programming language Based on jDCbot Java Net::DirectConnect Perl FlowLib C# DC-hublink Visual Basic Hub-Link Visual Basic MyIrcDcLinks Delphi NetChatLink Delphi Kitty C# Other software GUI CLI Other Programming language Based on

References