iWant: Decentralized Peer to Peer File Sharing

A command-line tool for searching and downloading files in LAN network, without any central server.

Features

  • Decentralized : There is no central server hosting files. Therefore, no central point of failure
  • Easy discovery of files: As easy as searching for something in Google.
  • File download from multiple peers: If the seeder fails/leaves the group, leecher will continue to download from another seeder in the network
  • Directory download: Supports downloading directories
  • Resume download: Resume download from where you left off.
  • Consistent data: Any changes(modification, deletion, addition) made to files inside the shared folder will be instantly reflected in the network
  • Cross Platform: Works in Linux/Windows/Mac. More testing needs to be done in Mac.

How does it work ?

As soon as the program starts, it spawns the election daemon, folder monitoring daemon and server daemon.

The election daemon takes care of the following activities
  • Manages the consensus.
  • Notifies the server daemon as soon as there is a leader change.
  • It coordinates with other peers in the network regarding contesting elections, leader unavailability, network failure, split brain situation etc.
  • It uses multicast for peer discovery. The consensus description is mentioned here
When the folder monitoring daemon starts, it performs the following steps
  • Indexes all the files in the shared folder
  • Updates the entries in the database
  • Informs the server about the indexed files and folders.
  • Any changes made in the shared folder will trigger the folder monitoring daemon to index the modified files, update the database and then inform the server about the changes
The iwant client talks to the server daemon when the user wishes to:
  • search for files
  • download files
  • change shared folder
  • change download folder
The server daemon receives commands from iwant client and updates from file monitoring and election daemon.
  • Updates received from folder monitoring daemon is fowarded to the leader. For example: indexed files/folders information.
  • Updates received from the election daemon like leader change event, triggers the server to forward the indexed files/folders information to the new leader
  • Queries received from the iwant client like file search is forwarded to the leader, who then performs fuzzy search on the metadata it received from other peers and returns a list containing (filename, size, checksum)
  • Queries received from the iwant client like file download is forwarded to the leader, who forwards the roothash of the file/folder along with the list of peers who have the file. The server daemon then intiates download process with peers mentioned in the peers list.
  • Updates received from the iwant client like changing shared folder, triggers the server daemon to make sure that the folder monitoring daemon indexes the new folder and after indexing is complete, the server daemonupdates the leader with the new indexed files/folders meta information.
Ehacking Staff
With more than 50 global partners, we are proud to count the world’s leading cybersecurity training provider. EH Academy is the brainchild of Ehacking, which has been involved in the field of training since the past Five years and continues to help in creating professional IT experts.

Most Popular

How to Exploit Heartbleed using Metasploit in Kali Linux

Heartbleed vulnerability (registered as CVE-2014-0160) is a security bug present in the older version of OpenSSL cryptographic library. OpenSSL is a cryptographic toolkit used...

How to Install Parrot Security OS on VirtualBox in 2020

Parrot Security OS is a free GNU/LINUX distribution, released on 10th April 2013. It is a mixture of Kali Linux and Frozenbox OS, aims to...

How to Install Kali Linux on VirtualBox [Windows Host] in 2020

Kali Linux is a Debian based Linux distribution, released on the 13th March 2013 as a complete rebuild of BackTrack Linux. It is one of...

Acunetix v13 Release Introduces Groundbreaking Innovations

The newest release of the Acunetix Web Vulnerability Scanner further improves performance and premieres best-of-breed technologies London, United Kingdom – February 5, 2019 – Acunetix,...