gravetii / Diztl
Projects that are alternatives of or similar to Diztl
A peer-to-peer file discovery and sharing tool for LANs!
Diztl consists of two main components:
- Tracker: The
Tracker's responsibility is to allow co-ordination and communication between the different
- Node: A
Nodeis basically any peer in the network. It can share resources as well as request for and download resources from other
Nodes in the network.
The current implementation isn't completely decentralized in that the search queries from a
Node are sent to the
Tracker which then broadcasts the request across all peers in the network, requesting them to reply with the files they have that might be of interest to the caller
Once the requesting
Node decides on the file it wants to download from the target peer, communication happens solely between the two peers without any intervention from the
Node first starts up, all the shared files are indexed and made available for search by other peers in the network. The
Node then connects to the
Tracker and registers itself after which it can participate in the network and communicate with other nodes.
By default, the download directory for each node is
<user's home directory>/diztl/downloads. The share and download folders can be configured by clicking on the
Configure dirs button.
For the formats of different request-response structures, take a look at the
diztl/diztl.proto file which contains the protobuf specifications as well as the gRPC service definitions.
- JavaFX: An open source, client application platform for desktop built on Java.
- gRPC: The project uses gRPC as its communication protocol along with protocol buffers as the data-interchange format.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to the project.
- Sandeep Dasika