Skip to content

shreyanshshah27/Gamma-Torrent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Gamma-Torrent (γ-Torrent)

Simple Implementation of BitTorrent-Client in Python

Table of content

Description

Gamma-Torrent (γ-Torrent) is a basic Python based BitTorrent-Client tool which can be accessed using Command-Line-Interface. It was created as an end semester collaborative project for Computer Networks course. The main motive of this project was to implement simple Bittorrent-Client adn add few innovative ideas to improve the performance of GammaTorrent.

Installation

  • Clone the repo using :

$ git clone https://github.com/caped-crusader16/Gamma-Torrent.git


  • After complete cloning, enter directory GammaTorrent under Gamma-Torrent-master directory

$ cd Gamma-Torrent-master/GammaTorrent


Configure

  • To install the dependencies by itself

$ pip install -r requirements.txt

  • To run the project

$ python3 main.py react.torrent

Format :

$ python3 main.py <torrent_file_name>

Note : This torrent file should be present in the 'torrent_d/sample_torrents' directory to run. You just need to include the file name in the command where the torrent should exist in the directory mentions. Currently, only 'react.torrent' file is present in the given directory

List of Dependencies

bcoding==1.5
bitstring == 3.1.7
PyPubSub == 4.0.3
requests >= 2.24.0
pubsub == 0.1.2
ipaddress == 1.0.23

ScreenShots

  • Image-1 : Starting of Torrent; Connecting with the peers

Image 1

  • Image-2 : Connecting with peers using Sockets; Handling Handshakes with the connected peers

Image 2

  • Image-3 : Handling Handshakes and BitFields with the peers

Image 3

  • Image-4 : Handling choke, unchoke peers; Downloading content in pieces

Image 4

References

Authors

Shreyansh Shah, Manav Vagrecha , Devam Shah

Support

  • If you really like the project then please give us a star ⭐
  • If you are interested to add some new features or make any improvements, ping me up at ([email protected]) with a detailed explanation of your approach OR send a pull request OR File an issue with detailed description.

About

Implementation of Bit-Torrrent Client in Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages