Hubbry Logo
search
logo

Comparison of Direct Connect software

logo
Community Hub0 Subscribers
Read side by side
from Wikipedia

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

Hub software

[edit]

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

[edit]
NMDC[1] hub FOSS Software license Active
[2]
Last update[3]
(version)
GUI CLI Other IPv6 support Programming language Based on Notes
UFOHub No Proprietary
Freeware
Yes 2024-09-05
(10.24.9)
Yes No Yes Yes Unknown
Verlihub Yes GNU GPL Yes 2023-12-16
(1.5.0.0)
No Yes Unknown No C++, Lua, Python, Perl
PTDCH Yes GNU GPL No 2009-01-16
(2.1 Alpha 7)
Yes Unknown Unknown No Visual Basic, Jscript, VBscript DDCH
Dtella Yes GNU GPL No 2015-06-07
(1.2.9)[4]
No No Yes No Python
HeXHub Yes Open Software License No 2014-03-01
(5.12)
Yes Unknown Unknown No Assembly
Open Direct Connect Hub Yes GNU GPL No 2014-08-14
(0.8.3)
No Unknown Unknown No C, Perl Available in Debian[5] and OpenWrt[6]
Flexhub Yes GNU AGPL No 2013-10-22
(Beta 0.2 svn 1469)
Pending Yes Unknown No Lua
PtokaX Yes GNU GPL Yes 2022-12-29
(0.5.3.0)[7]
Yes Yes Unknown Yes C++, Lua
RusHub Yes GNU GPL No 2012-06-10
(2.3.10)[8]
No Yes Unknown Yes C++, Lua Verlihub[9]
Eximius[10] No Proprietary
Freeware
No 2007 Yes Unknown Unknown No C#, Lua
DB Hub Yes GNU GPL No 2008-02-08
(0.451)
Unknown Unknown Unknown No Unknown OpenDCHub
openDCd Yes GNU GPL No 2002-03-26
(0.5.8)
Unknown Unknown Unknown No Unknown
DDCH DevDirect Connect Hub Unknown Unknown No 2007-04-15
(?.?.?)
Yes No No No Visual Basic, Jscript
py-dchub Yes MIT No 2006-02-13
(0.2.4)
Unknown Unknown Unknown No Python
Aquila Yes GNU GPL No 2015-02-17
(0.1.11-pre4-beta4)
No Yes No No C++, Lua
YnHub No Proprietary
Freeware
No 2016-07-15
(1.0364.126)
Yes No No No Delphi
LamaHub Yes GNU GPL No 2010-04-25
(0.0.6.3)
Unknown Unknown Unknown No C
DC Sharp Hub Yes GNU GPL No 2004-09-06
(3.0.4 beta)
Unknown Unknown Unknown No 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

[edit]
NMDC[1] hub Windows Linux macOS Other
UFOHub Yes No No No
Eximius Yes No No No
PTDCH Yes No No No
Aquila Yes Yes No No
Dtella Yes Yes Yes No
HeXHub Yes No No No
Open Direct Connect Hub No Yes No OpenWrt
Flexhub Yes Yes No Qnap and Synology NAS Devices
openDCd Yes Yes No No
DDCH DevDirect Connect Hub Yes No No No
DBHub No Yes No No
PtokaX Yes Yes Yes FreeBSD, OpenBSD, NetBSD, Solaris, illumos, Haiku
py-dchub Yes Yes Yes Any Python compatible platform
RusHub Yes Yes Yes FreeBSD, Solaris
VerliHub No Yes No No
Yhub Yes No No No
Ynhub Yes No No No
LamaHub Yes Yes Yes OS/2, OpenBSD, NetBSD, TrueOS, FreeBSD, ZeX/OS, Android[11]
DC Sharp Hub Yes No No No
NMDC[1] hub Windows Linux macOS Other

Client software

[edit]

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

[edit]
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)
Yes Yes Yes No Yes Yes WebUI OCaml, C, assembly
Shareaza Yes GNU GPL 2017-09-18
2.7.10.2
Yes No No No Yes Unknown Unknown C++
NeoModus Direct Connect No Proprietary
Freeware
2004-10-23
2.205
Yes Yes No No Yes No No Visual Basic, C++
ShakesPeer Yes GNU GPL 2013-06-08 No No Yes No Yes No No C
Valknut Yes GNU GPL 2009-02-10
0.4.9
No Yes No FreeBSD Yes No No C++
DCTC Yes GNU GPL 2004-01-24
0.85.9
No No Yes C++
DC# Yes GNU GPL Yes No No No Yes No No C#
LDCC Yes GNU GPLv2 2004-07-15
2.0.7
No Yes No No No No Yes C
DCDM++ Yes GNU GPL 2004-04-04
0.021
Yes No No No Yes No No C++ DC++
fulDC Yes GNU GPL 2007-04-01
6.79 Beta 8
Yes No No No Yes No No C++ DC++
RevConnect Yes GNU GPL 2007-08-25
0.674p
Yes No No No Yes No No C++ DC++
CzDC Yes GNU GPL 2011-01-20
0.699
Yes No No No Yes No No C++ DC++
EiskaltDC++ Yes GNU GPL 2021-03-02
2.4.2
No Yes Yes FreeBSD Yes No No C++ Valknut
microdc2 Yes GNU GPL 2006-12-24
0.15.6
No Yes Yes FreeBSD No Yes No 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

[edit]

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

[edit]
Other software Software type FOSS Software license Active[2]
jDCBot General library Yes GNU GPL Yes
Net::DirectConnect General library Yes Unknown Yes
FlowLib General library Yes GNU GPL Yes
DC-hublink Link Yes GNU GPL No
Hub-Link Link Yes GNU GPL No
MyIrcDcLinks Link Yes GNU GPL Yes
NetChatLink Link Yes GNU GPL Yes
Kitty Bot Yes GNU GPL No
Other software Software type FOSS Software license Active[2]

Operating system support

[edit]
Other software Windows Linux macOS Other
jDCBot Yes Yes Yes Any Java compatible platform
Net::DirectConnect Yes Yes Yes Any Perl compatible platform
FlowLib Yes Yes Yes Any C# compatible platform
DC-hublink Yes No No No
Hub-Link Yes No No No
MyIrcDcLinks Yes No No No
NetChatLink Yes No No Runs under WINE
Kitty Yes No No No
Other software Windows Linux macOS Other

Interface and programming

[edit]
Other software GUI CLI Other Programming language Based on
jDCbot No No No Java
Net::DirectConnect No No No Perl
FlowLib No No No C#
DC-hublink Yes No No Visual Basic
Hub-Link Yes No No Visual Basic
MyIrcDcLinks Yes No No Delphi
NetChatLink Yes No No Delphi
Kitty Unknown Unknown Unknown C#
Other software GUI CLI Other Programming language Based on


References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Direct Connect software refers to the suite of client and hub applications that implement the Direct Connect (DC) protocol, a peer-to-peer file-sharing system originating in 1999 that enables users to connect through centralized hubs for searching, chatting, and directly transferring files without intermediaries.[1] Comparisons of this software focus on key attributes such as platform support, compatibility with the legacy NMDC and modern ADC protocols, security enhancements like credential encryption, user interface usability, download resuming capabilities, and overall network performance.[2][3] The DC protocol was initially developed by Jonathan Hess under NeoModus as a text-based, decentralized alternative to traditional client-server file sharing, allowing peers to share resources like software, music, and documents directly while hubs manage user indexing and rules such as minimum share sizes.[1] Over time, it evolved into Advanced Direct Connect (ADC), introduced to address limitations in the original NMDC by adding extensible features, protocol updates, and improved security through encrypted user credentials, though core transfers remain unencrypted by default unless extended.[2] The Direct Connect Network Foundation (DCNF), a non-profit organization established in Sweden, oversees protocol improvements, software development, and network promotion to enhance usability and accessibility for both new and existing users.[3] Notable client software includes DC++, a free, open-source Windows application that supports multi-hub connections, firewall integration, and over 50 million downloads, serving as a foundational reference for many derivatives.[4] Cross-platform options like EiskaltDC++ extend compatibility to Linux and macOS, offering interoperability with popular hubs and features like advanced search and ADC protocol support.[5] Other clients, such as ApexDC++ for Windows and QuickDC for Linux, emphasize innovative interfaces and performance optimizations, while macOS users can access DCOSX or ShakesPeer for similar functionality.[1][6] Hub software, essential for coordinating connections, includes DSHub, a platform-independent ADC server with graphical interfaces and secure features, and legacy NMDC options like those compatible across Linux and Windows environments.[7][3] These comparisons often highlight trade-offs: for instance, NMDC-based software prioritizes broad legacy compatibility but lacks ADC's extensibility, while modern clients balance ease of use with bandwidth efficiency to minimize interruptions in peer-to-peer transfers.[2] Overall, the ecosystem remains active through open-source contributions, with ongoing efforts to adapt to contemporary security needs and multi-platform demands.[3]

Hub Software

Core Features

Direct Connect hub software serves as centralized servers that coordinate peer-to-peer file sharing by managing user connections, facilitating chat and search queries, and enforcing network rules such as minimum share sizes. Common core features include user authentication and registration systems to control access; chat broadcasting for real-time communication among connected clients; search indexing that aggregates file lists from users for efficient querying by name, size, or type; and rule enforcement tools to moderate behavior, like kicking or banning users for violations. Many hubs support scripting for extensibility, allowing custom commands, automated moderation, and integration with databases for logging and statistics. Protocol handling is central, with hubs using NMDC or ADC to process client commands for joining (HelloinNMDC),sharingfilelists(Hello in NMDC), sharing file lists (MyList), and searching ($Search). For integrity, hubs may verify user shares via Tiger Tree Hash (TTH) roots in ADC implementations. Advanced features in modern hubs include TLS encryption for secure connections (ADCS or NMDCS), support for high user counts (e.g., over 25,000 in VerliHub), and hub linking to connect multiple hubs for shared chat or searches. For example, PtokaX provides an ultra-fast Lua scripting engine for custom scripts and a comprehensive user interface for monitoring activity.[8] VerliHub offers low CPU/RAM usage, MySQL integration for settings export/import, and utility scripts for user management. ADCH++ emphasizes extensibility with Lua and Python plugins, bloom filters to reduce search traffic, and a simple management system without ads.[9][10] In contrast, DSHub focuses on interactive configuration and security features like encrypted credentials, though it lacks recent scripting enhancements.[7]

Platform and Protocol Support

Hub software varies in platform compatibility, often leveraging cross-platform languages like C++ or Java for broad deployment. PtokaX supports Windows (64-bit GUI and service), Linux, macOS, FreeBSD, OpenBSD, Solaris, illumos, and Haiku, making it versatile for diverse server environments. VerliHub is optimized for Unix-like systems, particularly Linux, with no native Windows support. ADCH++ runs on Windows (7 and later, including Server editions up to 2025) and Linux (kernel 2.6+), while DSHub's Java base enables platform-independent operation across Windows, Linux, and others via JVM. UFOHub is primarily for Windows, with limited details on other OS.[8][9][10] Protocol support divides hubs into NMDC-focused (legacy, text-based) and ADC-oriented (extensible, with features like structured parameters and encryption). PtokaX and VerliHub implement NMDC, including NMDCS for TLS-encrypted connections in VerliHub, supporting extensions like $UserCommand for scripting. ADCH++ is a reference ADC implementation, handling base ADC commands, ADCS encryption, and extensions such as NAT traversal (NATT) and user commands (UCMD). DSHub also uses ADC, emphasizing secure credential handling. IPv6 support is available in PtokaX and some NMDC hubs, while ADC hubs like ADCH++ incorporate it natively. Integration with firewalls often relies on passive modes or UPnP, and scripting languages like Lua in PtokaX and VerliHub allow protocol extensions without core modifications.[7]
Hub SoftwareLanguageOS SupportProtocol Support
PtokaXC++, LuaWindows, Linux, macOS, BSDs, SolarisNMDC, IPv6
VerliHubC++, LuaLinux, UnixNMDC, NMDCS (TLS)
ADCH++C++Windows, LinuxADC, ADCS
DSHubJavaPlatform-independent (JVM)ADC
UFOHubUnknownWindowsNMDC

Development Status and Licensing

Most Direct Connect hub software is open-source under the GNU General Public License (GPL), promoting community contributions while requiring derivatives to remain open. PtokaX is licensed under GNU GPL v2 or later, with active development since 2002; its latest version 0.5.3.0 was released in 2022, incorporating Lua 5.4 and SQLite, and it remains widely used by over 1,000 hub owners with ongoing forum support as of 2025.[8] VerliHub, also GNU GPL, reached version 1.6.0.0 around 2023 but shows limited activity on GitHub, with no major updates in 2025; it sustains through scripting integrations like Lua plugins for moderation.[9] ADCH++ is actively maintained under GNU GPL, with version 3.1.0 released on May 11, 2025, including nightly builds and plugin support, reflecting continued adaptation to modern networks.[10] In contrast, DSHub (GPLv2) has been inactive since version 0.8.3 in 2014, limiting its use for current ADC extensions. UFOHub appears proprietary or freeware, with version 11.25.9 noted in hub lists as of 2025, but lacks public development transparency.[7][11] Development relies on community efforts, with upstream protocol specs from DCNF ensuring compatibility. Active projects like ADCH++ and PtokaX feature robust documentation, including wikis and build guides, while inactive ones like DSHub offer basic code examples but no updates for recent OS or security needs. This results in a mix of vibrant NMDC hubs and evolving ADC options, with sustainability tied to open-source contributions amid the protocol's niche status.[3]

Client Software

Core Features

Direct Connect client software provides essential functionalities for users to participate in peer-to-peer file sharing networks, primarily through connections to centralized hubs. Common core features across clients encompass file search capabilities, which allow users to query files by name, size, type, or hash across connected hubs; download and upload queuing systems that support resuming interrupted transfers and managing multiple sources; favorite hubs for quick reconnection to preferred servers; private messaging for direct user-to-user communication; and share profiles that organize and expose users' available files in structured lists.[12][13][14] Protocol interactions form the backbone of these features, enabling clients to establish connections with hubs using either the NMDC or ADC protocols for chat and search coordination, while peer-to-peer transfers handle direct file exchanges between users via TCP connections. For file integrity, clients employ Tiger Tree Hashing (TTH), a tree-based hash structure that verifies complete or partial files using base32-encoded root hashes negotiated during sessions.[15] Unique tools enhance usability in various clients, such as partial file sharing (PFSR) that allows incomplete downloads to be shared and resumed across sessions, auto-search for repeated queries with scheduling, and media preview options that generate magnet links or thumbnails for quick file assessment. For instance, DC++ offers advanced queue management with segmented downloading and automatic source alternation based on TTH verification.[12] EiskaltDC++ extends these with JSON-based RPC interfaces for external control and integration, enabling scripted automation of searches and transfers.[13] In contrast, Valknut provides a graphical user interface (GUI) for basic operations like hub connections and file queuing, though it lacks ADC support and is a legacy client without modern extensions.[14]

Platform and Protocol Support

Direct Connect client software varies in platform support, with many designed for specific operating systems while others offer cross-platform compatibility. Most modern clients support both the legacy NMDC protocol for broad compatibility with older hubs and the advanced ADC protocol for enhanced features like encryption and extensibility. Support for ADC often includes extensions such as secure connections (ADCS) and NAT traversal to improve connectivity in restricted networks. Notable clients include DC++, primarily for Windows, which fully supports NMDC and ADC with firewall and router integration. EiskaltDC++ provides extensive cross-platform support across Linux, macOS, Windows, and others, with full NMDC and ADC compatibility, including DHT for improved searches. ApexDC++ targets Windows users, supporting both protocols alongside features like Lua scripting. QuickDC focuses on Linux and BSD environments, offering NMDC and ADC support in a KDE-based interface. Legacy clients like Valknut, a cross-platform GUI for Linux and Windows, are limited to NMDC. For macOS, EiskaltDC++ serves as a primary option, while older projects like DCOSX provide NMDC support but lack recent updates. Integration with modern networks emphasizes UPnP for automatic port mapping and TLS for secure ADC sessions, reducing setup barriers. Clients generally handle passive modes for firewalled users, ensuring interoperability across diverse setups.
SoftwarePrimary PlatformsProtocol Support
DC++Windows (7+)NMDC, ADC
EiskaltDC++Linux, macOS, Windows, FreeBSDNMDC, ADC
ApexDC++WindowsNMDC, ADC
QuickDCLinux, BSDNMDC, ADC
ValknutLinux, Windows (legacy)NMDC
DCOSXmacOS (legacy)NMDC

Development Status and Licensing

Direct Connect client software is predominantly open-source under GNU General Public License (GPL) variants, promoting community contributions and free redistribution. DC++ is licensed under GPL v3 and remains actively developed, with regular updates as of 2025 for Windows compatibility and security enhancements.[4] EiskaltDC++ uses GPL v3 and is actively maintained on GitHub, with stable releases and daily builds supporting multiple platforms as of 2025.[13] ApexDC++ follows GPL v2 and continues maintenance releases, focusing on Windows optimizations.[16] In contrast, older clients like QuickDC (GPL v2) and Valknut show no significant updates since the mid-2000s, limiting their use to legacy NMDC networks. DCOSX, also GPL-licensed, last updated in 2013, is effectively unmaintained. These projects rely on the DC++ core for protocol stability, with development sustained by volunteer efforts through SourceForge and GitHub. Documentation varies, with active projects offering detailed guides, while legacy ones have outdated resources.

Other Software

Types and Functions

Auxiliary software in the Direct Connect ecosystem encompasses bots, libraries, and hub linkers, which extend the core protocol's capabilities beyond standard clients and hubs. Bots automate interactions within hubs, such as responding to user messages or managing user behavior. Libraries provide programmatic interfaces for integrating Direct Connect functionality into custom applications. Hub linkers facilitate connections between Direct Connect hubs and external networks, enabling broader interoperability.[17][18][19] Bots, such as jDCBot, serve as frameworks for automation in Direct Connect networks, allowing developers to create specialized agents that connect to hubs and perform tasks like message handling and user moderation. For instance, jDCBot, implemented in Java, supports triggers for events like public messages and connections, enabling bots to send messages, kick users, or fetch web content for dynamic responses. These bots enhance hub operations by automating routine tasks without requiring full client software. Similarly, trigger bots leverage event-based scripting to enforce rules, such as moderating chat through keyword detection and automated actions like warnings or disconnections.[17] Libraries offer API wrappers that simplify Direct Connect protocol integration for custom applications, supporting features like file sharing and hub communication. Net::DirectConnect, a Perl module, provides tools for peer-to-peer file retrieval, hub management, and protocol handling, including NMDC, ADC, and secure variants like ADCS. It includes utilities such as dcget for downloading files and dcshare for managing shared content, making it suitable for embedding Direct Connect capabilities in Perl-based scripts or servers. Another example is FlowLib, a C# library that enables bot and client development with support for protocol parsing, encrypted connections via TLS, and UPnP for NAT traversal, allowing seamless integration into .NET applications. These libraries act as foundational wrappers, facilitating the creation of tailored tools like search aggregators that query multiple hubs for files.[18][20] Hub linkers bridge Direct Connect hubs with other chat systems, promoting inter-hub communication and cross-network collaboration. DC-hublink, a Windows-based tool written in Visual Basic, connects Direct Connect hubs to IRC channels without requiring modifications to existing setups, featuring anti-flood protection, autoreconnection, and filtering for inappropriate content. It supports all Direct Connect protocols (NMDC and ADC) and operates with low resource usage, allowing users in one network to interact with those in another. An example of such bridging is irc2dc, a C++ daemon that enables bidirectional communication between IRC channels and DC++ hubs, serving system administrators in maintaining unified chat environments across protocols. These tools utilize custom inter-hub communication mechanisms, often relaying messages in real-time to simulate a connected ecosystem.[19][21] Unique to this auxiliary software are extensions for scripting and protocol bridging, though primary implementations rely on languages like Java, Perl, and C# rather than dynamic scripting environments. Bots and libraries often incorporate event-driven architectures akin to scripting, supporting automation for moderation and aggregation tasks. For example, search aggregators built on these libraries can compile results from multiple hubs, while API wrappers enable custom apps to interface directly with the protocol for specialized functions like automated file discovery.[17][20]

Platform and Protocol Support

Other software for Direct Connect, such as bots and libraries, exhibits platform support determined by the underlying programming language, enabling deployment across diverse operating systems. For instance, Java-based bots like ABot operate on any system with a Java Virtual Machine (JVM), including Windows, Linux, and macOS, providing broad cross-platform compatibility for ADC networks. Similarly, Go-language libraries such as go-dc support multiple architectures and operating systems, including Linux, Windows, and Unix-like systems, facilitating integration into server-side applications without OS-specific constraints. PHP-oriented tools, like the PHP Direct Connect bot library, run on web servers supporting PHP, typically Linux and Windows environments, allowing bot deployment in LAMP or WAMP stacks. Protocol extensions in these tools extend core NMDC and ADC functionalities to accommodate scripting and automation needs. In NMDC, custom commands such as $UserCommand enable bots to handle user-specific interactions, while $BotList and $BotINFO provide bot discovery and metadata exchange, requiring explicit support negotiation via $Supports. For ADC, extensions like UCMD (User Commands) allow customizable bot responses, and NATT (NAT Traversal) aids connectivity in restricted networks by supporting UDP-based hole punching, enhancing bot reliability in firewalled environments. ADC's base protocol also incorporates structured parameter handling, which libraries leverage for extensible command parsing without proprietary modifications. Integration capabilities emphasize embeddability and interoperability for niche applications. Libraries like go-dc permit embedding Direct Connect logic directly into larger Go-based applications, such as custom file-sharing services or monitoring tools, while PHP bots support interception of chat and search events for seamless incorporation into web dashboards. Compatibility with routers and firewalls is achieved through passive connection modes and extensions like NATT in ADC, which mitigate NAT issues common in home and enterprise setups; for example, bots can use TLS-encrypted connections (via ADCS) to traverse firewalls without additional port forwarding. Although modern web-based tools remain limited, PHP web frontends for Direct Connect scripting offer browser-accessible interfaces on Linux/BSD/macOS systems, bridging legacy protocols with contemporary web environments.
Software/LibraryLanguageOS SupportProtocol Extensions Supported
ABotJavaJVM-compatible (Windows, Linux, macOS)ADC UCMD, NATT
go-dcGoLinux, Windows, Unix-likeNMDC $UserCommand, ADC base
PHP DC Bot LibPHPLinux, Windows (server)NMDC BotList/BotList/BotINFO, ADC

Development Status and Licensing

The licensing of other Direct Connect software is predominantly open-source, reflecting the protocol's community-driven origins, though models vary to balance permissiveness and copyleft requirements. Bots like jDCBot, a Java framework for developing DC++-compatible automation scripts, are distributed under the GNU General Public License (GPL), which mandates that derivatives remain open-source.[17] Libraries such as FlowLib, a C# implementation supporting NMDC and ADC protocols for bot and client integration, adopt the GNU GPL v2, enabling free redistribution while requiring source code availability for modifications.[20] In contrast, Perl-based tools like Net::DirectConnect, which provides protocol handling for P2P connections, use the dual-licensing model of Perl itself—either the Artistic License (permissive for commercial reuse) or GPL—offering flexibility for embedding in diverse applications.[22] Development status for these tools underscores their niche role within the Direct Connect ecosystem, with most projects stagnant amid declining mainstream adoption of the protocol. Net::DirectConnect has seen no updates since its 0.14 release on December 21, 2010, rendering it incompatible with some modern hub extensions without manual patches.[18] Similarly, jDCBot remains at version 1.2.0 from around late 2010, with its SourceForge repository inactive and GitHub mirror showing no commits post-migration.[23] FlowLib's last source update occurred in January 2009, limiting its support for post-ADC protocol evolutions like enhanced TLS features.[20] Despite this inactivity, specialized niches show vitality; for instance, Lua-scripted bots thrive in 2025 hub environments via integrations like VerliHub, a C++ server that actively maintains Lua plugin support for tasks such as user moderation and file announcements, with updates continuing into the current year.[24] Additionally, the go-dc Go library saw its last update in 2020, offering a relatively more recent option for protocol implementation.[25] These projects' evolution heavily relies on upstream core software like DC++ for protocol stability, resulting in minimal independent innovation and sparse fork activity—jDCBot and FlowLib each have fewer than five notable forks, mostly archival. Documentation quality is inconsistent, aiding basic integration but hindering advanced use; Net::DirectConnect includes Perl-standard POD files for clear API reference, while FlowLib offers practical code examples for features like TTH hashing and UPnP port mapping, though lacking updates for contemporary .NET environments.[26] This dependency and documentation gaps contribute to their auxiliary status, where sustainability hinges on sporadic community maintenance rather than dedicated teams.
User Avatar
No comments yet.