Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marksamman/gotorrent
BitTorrent client written in Go
https://github.com/marksamman/gotorrent
Last synced: 18 days ago
JSON representation
BitTorrent client written in Go
- Host: GitHub
- URL: https://github.com/marksamman/gotorrent
- Owner: marksamman
- License: mit
- Created: 2014-03-25T14:40:42.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-03-20T19:22:00.000Z (over 8 years ago)
- Last Synced: 2024-08-01T00:43:51.857Z (3 months ago)
- Language: Go
- Size: 89.8 KB
- Stars: 22
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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!