2
0
mirror of synced 2025-02-24 06:38:14 +00:00
Matt Joiner 60d8ea75a2 Prevent bad metadata_size in extended handshakes from stalling completion of metadata
Occasionally bad peers send ridiculous or incorrect metadata_size in their handshakes. If the first acceptable size is wrong, and too small, we'll keep failing metadata completion. If it's too large, honest peers will never send us the pieces we're asking for and we'll never complete the metadata. Now we just adjust the expected metadata size, and keep retrying until we finish. Additionally, we can now request metadata after sending initial messages.
2015-03-27 15:36:59 +11:00
2015-03-25 15:42:14 +11:00
2015-03-25 17:35:33 +11:00
2015-03-22 13:57:57 -04:00
2015-03-22 13:50:16 -04:00
2015-03-20 23:52:53 +11:00
2015-03-08 17:28:14 +11:00
2015-03-21 09:11:45 -04:00
2015-03-01 14:33:10 +11:00

torrent

Codeship GoDoc

This repository implements BitTorrent-related packages and command-line utilities in Go.

There is support for protocol encryption, DHT, PEX, uTP, and various extensions. There are several storage backends provided, blob, file, mmap. You can use the provided binaries in ./cmd, or use torrent as a library for your own applications.

Installation

Install the library package with go get github.com/anacrolix/torrent, or the provided cmds with go get github.com/anacrolix/torrent/cmd/....

Library example

There is a small example in the package documentation.

Torrent utility

There's a provided utility that downloads torrents from the command-line.

$ go get github.com/anacrolix/torrent/cmd/torrent
$ torrent 'magnet:?xt=urn:btih:ZOCMZQIPFFW7OLLMIC5HUB6BPCSDEOQU'
2015/03/20 22:51:41 main.go:96: downloaded ALL the torrents
$ md5sum ubuntu-14.04.1-desktop-amd64.iso
119cb63b48c9a18f31f417f09655efbd  ubuntu-14.04.1-desktop-amd64.iso
$ echo such amaze
wow
Description
Full-featured BitTorrent client package and utilities
Readme MPL-2.0
Languages
Go 99.9%
Shell 0.1%