Clever Geek Handbook
📜 ⬆️ ⬇️

Direct connect

Direct Connect is a partially centralized file-sharing (P2P) network . A DC network consists of hubs , DC clients, and hubs. The hub provides the client connecting to it with a list of connected users, the ability to use search and built-in advanced chat . DC clients connect to one or more hubs and can download files directly from other users connected to the same hub. For work, the DC protocol (NMDC), based on the development of NeoModus, or the ADC protocol is used.

Content

History

NeoModus was founded by Jonathan Hess in November 1999 as a company that made money with the Direct Connect adware program . The first third-party client was DClite, which never fully supported the protocol. The new version of Direct Connect already required a simple encryption key to initialize the connection, this author hoped to block third-party clients. The key was cracked and the author of DClite released a new version of his program compatible with the new software from NeoModus. Soon, DClite code was rewritten, and the program was renamed Open Direct Connect. Among other things, its user interface has become multi-document (MDI) and it has become possible to use plugins for file-sharing protocols (as in MLDonkey ). Open Direct Connect also did not have full protocol support, but appeared under Java. Other clients began to appear a little later: DCTC (Direct Connect Text Client), DC ++ , etc.

Protocol

Direct Connect protocol is a text protocol in which commands and data are transmitted in plain text, without encryption. The protocol does not regulate the encoding or font for clients or hubs.

The file-sharing part of the protocol is based on the concept of “slots”. These slots correspond to the number of people who can download from the user at the same time. The number of slots is set by the client.

The TCP protocol is used to connect to the hub and download files. Search in active mode works on UDP . The default port for connecting to the hub is 411.

Clients

The original client was called NeoModus Direct Connect (NMDC for short). Currently, the vast majority of network users use numerous clients based on the DC ++ client.

Hubs

Clients connect to one or several servers, the so-called hubs, which are used to search for files and sources for downloading them. Some hubs support linking - several hubs are interconnected for the convenience of users and the connected user sees one “common” hub. Large hubs during peak hours simultaneously have more than 20,000 users.

Comparison table of the most commonly used [1] [2] software used to create software hubs:

TitleWindowsLinuxOther OSProgramming languageLicenseIPv6User interfaceProject site
PtokaxYesYesYes: FreeBSDC ++GPL v3Yesgraphic (Win32), consolewww.ptokax.org
VerlihubNotYesYes: FreeBSDC ++GPL v2Notconsolewww.verlihub-project.org
RusHubYesYesYes: FreeBSDC ++GPL v3Yesconsolerushub.org
FlexhubYesYesYes: Qnap NAS; Synology NASLuaGPL v3Notgraphic , consolewww.flexhub.org
YnhubYesNotNotUnknownproprietaryNotgraphicynhub.org
DB hubNotYesYes: FreeBSDCGPLNotconsolesourceforge.net
HexhubYesNotNotAssemblerOSL 3.0Notgraphicnemesis.te-home.net
AquilaYesYesNotCGPLNotconsolesites.google.com
EximiusYesNotNotC #proprietaryNotgraphicen.rs2soft.nl
Viper hiveYesYesYesPythonGPL v2Notconsolecode.google.com
TitleWindowsLinuxOther OSProgramming languageLicenseIPv6User interfaceProject site

With the massive introduction of DHT technology into DC clients, the need for network hubs may disappear.

Hublists

Hublist - a special server that collects and stores information about active hubs. Many clients have a built-in ability to import a list of hubs from the hublist. Also, many hublists keep statistics and allow you to view it through a browser .

dchub link

Usually it indicates the address and port of the hub.

It is indicated in the form:

  dchub: // [ IP or Hub Domain ]: [hub port ]

If the hub is SSL protected, the link starts at nmdcs: //

The type of link to the hub user or the folder of the hub user is as follows:

  dchub: // [username] @ [ IP or Hub Domain ]: [hub port ] / [file path] / [file name]

After clicking on such a link, the client will not only connect to the hub, but also download the file list of the user specified in the link and select the file in it, the path and name of which are also indicated in the link.

This type of file link can be used when it is impossible to use a magnet link , because the contents of the file may change or the file has not yet been created.

Differences from other P2P systems

Differences from some P2P systems built on other protocols ( eDonkey , Gnutella and its fork Gnutella2 ):

Conditioned by network structure
  • Advanced multi-user chat
  • The network server (hub) can be dedicated to a specific topic (for example, music of a specific direction), which makes it easy to find users with the desired subject of files
  • The presence of privileged users - operators with an expanded set of hub management capabilities, in particular, monitoring users' compliance with chat and file sharing rules
Just customer dependent
  • Ability to download entire directories
  • Search results not only for file names, but also for directories
  • Restrictions on the minimum amount of shared material (by volume)
  • Support for scripts with potentially limitless possibilities both on the client side and on the hub side (true not for any hubs and clients)
  • The ability to get a list of user files in the form of a tree structure of directories

ADC Protocol

In practice, the DirectConnect protocol has specific problems that partly interfere with efficient file sharing. The authors of the DC ++ client developed a fundamentally new protocol for their solution, called Advanced Direct Connect (ADC), the purpose of which is to increase the reliability, efficiency and security of the file-sharing network. On December 2, 2007, the final version of the ADC 1.0 protocol was released. [3] The protocol continues to be developed and supplemented.

Notes

  1. ↑ [1] Statistics of a large Russian hablist.
  2. ↑ [2] (Eng.) Statistics of a large English-speaking hablist.
  3. ↑ http://adc.sourceforge.net/ADC.html

Links

  • DC Protocol Description
  • Description of the DC protocol (Russian)
  • ADC v1.0 Protocol Description
Source - https://ru.wikipedia.org/w/index.php?title=Direct_Connect&oldid=98809305


More articles:

  • Country Prose
  • Aruns
  • Matam (police department)
  • Wheel Balancing
  • Ismailov, Telman Mardanovich
  • Riktus, Jean
  • Catalan Lands
  • Births of the Pink family
  • Rigging
  • Texas Gopher

All articles

Clever Geek | 2019