Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marksamman/gotorrent

BitTorrent client written in Go
https://github.com/marksamman/gotorrent

Last synced: about 2 months ago
JSON representation

BitTorrent client written in Go

Awesome Lists containing this project

README

        

gotorrent [![Build Status](https://travis-ci.org/marksamman/gotorrent.svg?branch=master)](https://travis-ci.org/marksamman/gotorrent)
=========

BitTorrent client written in Go

##### Usage
```bash
$ ./gotorrent file.torrent[ file2.torrent[ ...]]
```

##### TODO
* LRU cache for file handles to decrease the number of fopen/fclose calls
* When downloading the same piece from multiple peers, send cancel to the peers who weren't fast enough
* Show upload/download speed
* Limit upload/download speed
* Text-based UI (ncurses?) / GUI (must still be possible to run as CLI)
* Request piece from peer when receiving Have if we don't have the piece and peer is idle
* Server-side (allow other peers to connect to us)
* Option to seed after completed download
* Implement a choking algorithm to prevent peers from choking us
* More tests!