All Projects → gravetii → Diztl

gravetii / Diztl

Licence: mit
Share, discover & download files in your network 💥

Programming Languages

java
68154 projects - #9 most used programming language
go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Diztl

Layr
A decentralized (p2p) file storage system built atop Kademlia DHT that enforces data integrity, privacy, and availability through sharding, proofs of retrievability, redundancy, and encryption, with smart-contract powered incentive scheme
Stars: ✭ 90 (-44.44%)
Mutual labels:  distributed-systems, peer-to-peer, p2p
Js Ipfs
IPFS implementation in JavaScript
Stars: ✭ 6,129 (+3683.33%)
Mutual labels:  p2p, peer-to-peer, distributed
Iwant
Commandline tool for searching and downloading files in LAN network, without any central server
Stars: ✭ 268 (+65.43%)
Mutual labels:  file-sharing, p2p, peer-to-peer
ipfs-chat
Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
Stars: ✭ 84 (-48.15%)
Mutual labels:  peer-to-peer, file-sharing, distributed
Js Dag Service
Library for storing and replicating hash-linked data over the IPFS network.
Stars: ✭ 81 (-50%)
Mutual labels:  p2p, peer-to-peer, distributed
field-manual
The Offical User's Guide to OrbitDB
Stars: ✭ 178 (+9.88%)
Mutual labels:  peer-to-peer, p2p, distributed
Qtox
qTox is a chat, voice, video, and file transfer IM client using the encrypted peer-to-peer Tox protocol.
Stars: ✭ 3,843 (+2272.22%)
Mutual labels:  communication, p2p, distributed
tensorpeers
p2p peer-to-peer training of tensorflow models
Stars: ✭ 57 (-64.81%)
Mutual labels:  peer-to-peer, p2p, distributed
Go2p
Simple to use but full configurable p2p framework
Stars: ✭ 80 (-50.62%)
Mutual labels:  p2p, peer-to-peer, distributed-systems
Syncthing Macos
Frugal and native macOS Syncthing application bundle
Stars: ✭ 1,096 (+576.54%)
Mutual labels:  file-sharing, p2p, peer-to-peer
Eiskaltdcpp
File sharing program using DC and ADC protocols
Stars: ✭ 277 (+70.99%)
Mutual labels:  file-sharing, communication, p2p
Airdcpp Webclient
Communal peer-to-peer file sharing application for file servers/NAS devices
Stars: ✭ 106 (-34.57%)
Mutual labels:  file-sharing, p2p, peer-to-peer
Orbit Db
Peer-to-Peer Databases for the Decentralized Web
Stars: ✭ 6,381 (+3838.89%)
Mutual labels:  p2p, peer-to-peer, distributed
Figo
P2P file transfer utility
Stars: ✭ 88 (-45.68%)
Mutual labels:  file-sharing, p2p, peer-to-peer
Memo
The memo elastic and resilient key-value store.
Stars: ✭ 111 (-31.48%)
Mutual labels:  grpc, peer-to-peer, distributed
I2pd
🛡 I2P: End-to-End encrypted and anonymous Internet
Stars: ✭ 1,796 (+1008.64%)
Mutual labels:  communication, p2p
Wave Share
Serverless, peer-to-peer, local file sharing through sound
Stars: ✭ 1,641 (+912.96%)
Mutual labels:  file-sharing, p2p
P2p Cdn Sdk Javascript
Free p2p cdn github javascript sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀
Stars: ✭ 158 (-2.47%)
Mutual labels:  p2p, peer-to-peer
Partyshare
A free, open source file sharing application, built on the peer-to-peer hypermedia protocol IPFS.
Stars: ✭ 131 (-19.14%)
Mutual labels:  file-sharing, peer-to-peer
Syncthing Android
Wrapper of syncthing for Android.
Stars: ✭ 1,812 (+1018.52%)
Mutual labels:  p2p, peer-to-peer

Diztl Icon

Diztl

License: MIT Donate Chat on Gitter Say Thanks!

A peer-to-peer file discovery and sharing tool for LANs!

Implementation

Diztl consists of two main components:

  • Tracker: The Tracker's responsibility is to allow co-ordination and communication between the different Nodes.
  • Node: A Node is 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 Node.

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 Tracker.

When a 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.

Built With

  • 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.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to the project.

Authors

  • Sandeep Dasika

License

MIT


Icons made by Kiranshastry from www.flaticon.com is licensed by CC 3.0 BY
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].