Darkwire Software
Home       Products       News       About us       Contact us
Darknet index

Darknet Project:


Index:

DSA - Proxy Servers - HTTP extension
DSB - File Servers
DSC - Centre Servers - HTTP extension
DSD - Stream Servers - Host Peer
DSE - Location Servers - HTTP extension
DSF - Storage Servers
DCA - File Clients
DCB - Proxy Clients
DCC - Location Clients
DCD - Stream Clients - Host Peer Double
DCE - Main Clients

DSA Nodes - Proxy Servers:

Designation:

In addition to regular message forwarding, any clients accessing a proxy server can specify any limitations of the client platform and the server will automatically work around them for any messages meant for the client.
This is a core part of Darknet, focusing on the 2nd principle. Packets are encrypted with a secure key not known by the proxy client.

Extensions:

1) HTTP Extension

HTTP packet forwarding, using liblacewing.
This should be solely used to mask the identity of the client for accessing other HTTP extensions, since HTTP is supported by every platform.

Identities:

DSA1 - Liblacewing Proxy Server
DSA2 - HTTP Proxy Server Extension
^ Index

DSB Nodes - File Servers:

Designation:

The file server sends files to different clients. Popular files are noted and can be uploaded should the host permit. Clients and the server obtain 2 types of file hosting, public and private.
It is assumed that public client transfers are allowed to be hosted by the server, but this can be overridden for each specific file.
Private files are listed on the server lists if chosen, and are available via querying the client directly, usually with a password.

The file server has three functions:
• Hosting popular files (Server » Client & Client » Server)
• Allowing file transfers (Client » Server » Client)
• Hosting lists of files that its clients and/or the server itself wish to share. Hosted files have several unique settings set by the initial hoster.

Extensions:

(no extensions have yet been created)

Identities:

DSB1 - Liblacewing File Server
^ Index

DSC Nodes - Centre Servers:

Designation:

Darknet clients initially access a random Centre Server from the list embedded in their code. You should update your Darknet node regularly to ensure you have the most recent centre server list.
These are not encrypted, as the servers contain nothing but directions to further servers. The embedded list should be current when released (every Centre Server known should be on there).
Centre servers are a necessity, but if all known centre servers are offline, clients will connect to the last used server (e.g. a file client will connect to the file server).
The probability of all servers being offline should ideally be nil.

Centre servers have 2 functions:
• To provide any clients with an accurate list of online and/or offline servers, as many as requested.
• To make these lists editable by clients, to a degree.

Due to the nature of this server, a Centre Server must NOT be ran on the same machine as another Darknet server.
Centre Servers must be so fast the user does not know they are even accessing them, as they are the equivalent of DNS.

The decentrialisation aspect of this server type is that all servers hold a list of centre servers. Should any hostile party close down all the Darknet Centre servers, any client will just access another server type and retrieve the list of servers from there.
The server is primarily liblacewing, and any clients connecting should set their name to the special key, the details of their query, and an additional random number appended.
If the key matches, the query is analysed and responded to. Otherwise an error is reported.

Extensions:

1) HTTP Extension

HTTP packet forwarding, using liblacewing.
The list specifications should be given in POST along with a special key, given with the embedded list. PHP scripting will generate a response list or error.

Identities:

DSC1 - Liblacewing Centre Server
DSC2 - HTTP Centre Server Extension
^ Index

DSD Nodes - Stream Servers:

Designation:

The stream server solely passes data between clients. File transfers on this server node are highly unrecommended.

The stream server has one of two functions:
• Streaming data (Client » Server » Client)
• Hosting a data stream (Server » Client)

Data may include video streams, audio streams, chat messages, etc.
Storage of messages is NOT permitted; instead use a storage server.

Variants:

1) Host Stream

Server streaming; clients may transfer small amounts of data (eg chat messages), but the main focus is the host, which streams data continuously. Useful for online TV/radio, with chats with the hosts.

2) Peer Stream

Client streaming; clients connect and broadcast what they want - video, audio, chat messages. Useful for audio conferencing, video conferencing, instant messaging, etc.

Identities:

DSD1 - Host Stream Server
DSD2 - Peer Stream Server
^ Index

DSE Nodes - Location Servers:

Designation:

A location server locates files or services. When it boots, it connects to a centre server, sends a special keyword and receives a set of file-stream servers, to which it then connects.
Server uses liblacewing, and any clients connecting should set their name to the special key, the details of their query, and an additional 3-digit random number appended.
If the key matches, the query is analysed and responded to. Otherwise an error is reported.

It has one function:
• Query all the servers for the specified term - file, peer, etc.

The location server does not request data from the servers with each query.
There are 4 methods which cause the update:
• Every nth request, re-query the servers
• Every n seconds, re-query the servers
• On request and last request time minus current time exceeds n seconds
• All servers must update when a server in the set shuts down
The location server disconnects from all its set if its centre server has shut down, and accesses another centre server.

Extensions:

1) HTTP Extension

The term should be given in POST or GET. The response will contain a not-found or an error; details of where it is found should NOT be given, and an update of the lists will not take place.

Identities:

DSE1 - Liblacewing Location Server
DSE2 - HTTP Location Server Extension
^ Index

DSF Nodes - Storage Servers:

Designation:

A storage server does not actually store files directly; it reroutes them to additional file servers and storage servers.
Generally it accesses 3-5 file servers and 1-3 other storage servers.

A storage server has 3 functions:
• Upload files and send files to file servers; then send details of upload to other storage servers; then send details of other storage servers to clients
• Receive notification of download from file servers and forward to other storage servers
• Send a file server address to clients

Extensions:

(no extensions have yet been created)

Identities:

DSF1 - Liblacewing Storage Server
^ Index

DCA Nodes - Proxy Clients:

Designation:

The proxy client redirects packets between proxy servers; essentially the same as a proxy server (DSA Nodes). If a server uses it, it can specify any limitations of the server platform and the proxy server will automatically work around them for any messages meant for the server.
This is a core part of Darknet, focusing on the 2nd principle. Packets are encrypted with a secure key not known by the proxy server.

Proxy clients support several different Server » Server connections at once. A proxy client has 2 functions:
• Messages sent to the proxy are passed to another client on the same server.
• Messages sent to the proxy are passed to another liblacewing client connection, and so passed to another server or to a client on another server.

Extensions:

1) HTTP Extension

HTTP packet forwarding, using liblacewing.
This should be solely used to mask the identity of the client for accessing other HTTP extensions, since HTTP is supported by every platform.

Identities:

DCA1 - Liblacewing Proxy Server
DCA2 - HTTP Proxy Server Extension
^ Index

DCB Nodes - File Clients:

Designation:

A file client supports file transfers only. A single file server (DSB Node) is accessed, and it sends files to the server or clients on the server; and also receives files. It sends using rUDP. If rUDP is unavailable to the platform, a proxy server must be invoked.

A file client has 2 functions:
• Receiving files from the server and/or clients
• Sending files to the server and/or clients

Extensions:

(no extensions have yet been created)

Identities:

DCB1 - Liblacewing File Client
^ Index

DCC Nodes - Location Clients:

Designation:

A location client queries several location servers for the specified term. Due to the high number of connections, this task is not implemented into a stream client or file client by default - see main client for a crossover of several types.
Location servers should be very fast in response, due to the low bandwidth usage of clients, so a Darknet-wide search should take a small amount of time.
Location clients do not have access to the HTTP addon of location servers - only liblacewing can be queried.

A location client has 1 function:
• Query location servers for a term

Extensions:

(no extensions have yet been created)

Identities:

DCC1 - Liblacewing Location Client
^ Index

DCD Nodes - Stream Clients:

Designation:

Stream clients are a main part of Darknet, basically handling any sort of communication that isn't file transfers.
A stream client has one or both of 2 functions:
• Send data stream
• Receive data stream
From that, you can make chatrooms, remote assistance applications, screen-sharing, VoIP, videoconferencing, etc. It is the client's discretion what they may send.

Variants:

1) Host Stream

Host stream clients mainly broadcast stream data to a DSA2 Node server. Useful for an online radio station.

2) Peer Stream

Peer stream clients mainly receive stream data from a DSA Node server. Useful for an online TV viewer.

3) Double Stream

Double stream clients both send and receive stream data from a DSA Node server. Useful for an online game.

Identities:

DCD1 - Liblacewing Host Stream Client
DCD2 - Liblacewing Peer Stream Client
DCD3 - Liblacewing Double Stream Client
^ Index

DCE Nodes - Main Clients:

Designation:

A main client uses the technology of a file client, a double stream client, and a location client.
You can create, for example, a video downloader & player, which will use location client to find the video, then use double stream client to receive live feeds, or file client to download normal videos and play once downloaded.

A client has 5 functions:
• Find a file
• Download a file
• Upload a file
• Receive a stream
• Broadcast a stream

Extensions:

(no extensions have yet been created)

Identities:

DCE1 - Liblacewing Main Client
^ Index