An implementation of a torrent client in Node.js
Decided to feed my curiosity of a how bittorrent actually works by building a simple Console-UI torrent client in Node Js. Happy Coding.
This tool has the following features:
- Read and parse torrent file
- Scrape udp trackers
- Connect to peers
You can install the necessary dependecies by following steps bellow:
$ git clone https://github.com/MuhiaKevin/ChifTorrent.git
$ cd ChifTorrent
$ npm install
Run the following command to download a torrent file
Example :
$ cd src/
$ node main.js file.torrent
- Get peers from all trackers that are working
- implement a torrent file parser
These are some of the additional features i plan to reasearch and implement:
-
Use magnet links to download files
-
Use Distributed Hash tables instead of trackers
-
Allow for more than one downloads
-
Create a graphical interface
-
Support pausing and resuming downloads
-
Use WebRTC to create direct connection to peers
I would have made very little progress without the help of this sources