GoTorrent is a lightweight and efficient command-line BitTorrent client written in Go.
- Download torrents (not so efficiently yet).
- Simple and easy-to-use command-line interface.
To install GoTorrent, you need to have Go installed on your system. Then, you can use the following command:
go get github.com/WendelHime/gotorrent
go build -o gotorrent ./cmd/gotorrent
gotorrent -torrent <torrent-filepath> -output <output-directory>
<torrent-filepath>
: Path to the torrent file you want to download<output-directory>
: Directory where the downloaded files will be saved. If the directory doesn't exist, it will be created.
Example:
./gotorrent -torrent internal/integration/sample.torrent -output ./output
go test -cover -race ./...
- This program only support ipv4 addresses.
- This program only support single file torrents. (sorry you won't be able to download shrek movies right now)
- I've only tested with a couple torrent files like for debian images - look for the best mirror for you and if there's any torrent file available you can try it (don't forget to verify/validate hashes!)
- Add support to multi-file torrents
- Add support to ipv6 addresses
- Keep track of stored pieces and download missing pieces if the program was interrupted
- Add more unit tests/improve test coverage
- Seed data