2
0
mirror of synced 2025-02-24 14:48:27 +00:00

331 Commits

Author SHA1 Message Date
Matt Joiner
5de6abd6a7 Fix race to set IPBlocklist on DHT before it bootstraps and serves 2015-06-02 23:58:49 +10:00
Matt Joiner
5b52769523 Changes to the way piece prioritization affects the piece 2015-06-01 18:23:35 +10:00
Matt Joiner
21fb4933fc Change the way piece state is exposed to give more detail 2015-06-01 18:22:12 +10:00
Matt Joiner
bc4aa06c91 Comments 2015-06-01 18:17:14 +10:00
Matt Joiner
7f9d6eed78 Relax pedantic listen addr matching
Fixes #15.
2015-05-20 18:14:42 +10:00
Matt Joiner
085dbaa8ff Include reason for panic on different listener addresses 2015-05-20 15:45:58 +10:00
Matt Joiner
1cf591dc3d Switch to using a slice for tracking pending chunks. Saves massive amounts of memory. 2015-05-16 10:51:48 +10:00
Matt Joiner
0d13293d71 Support seeding 2015-05-15 08:39:53 +10:00
Matt Joiner
5eb6b5286e Rare panic: a piece is requested that shouldn't have been 2015-05-09 11:52:52 +10:00
Matt Joiner
ca74d8ed33 Made Torrent.GotInfo a function, to avoid use of zero-initialized channel 2015-04-30 00:30:19 +10:00
Matt Joiner
0ec0302d1c Publicly expose Torrent.GotInfo 2015-04-28 15:24:17 +10:00
Matt Joiner
526d9d738e Rewrite imports to local bencode and metainfo 2015-04-27 14:55:01 +10:00
Matt Joiner
cc6a52fee0 Remove all the old intermediate config fields from Client 2015-04-27 14:05:27 +10:00
Matt Joiner
b37f6d6f96 Add the option to disable encryption 2015-04-20 17:30:22 +10:00
Matt Joiner
28b299e7c8 Rework the Torrent Reader interface, to allow reader options, and add "responsive" as one such option
Had several weeks of testing. Removes a lot of the "helper" reading methods, but this was necessary to allow per-Torrent reading options.
2015-04-14 23:59:41 +10:00
Matt Joiner
97c235440c If IP blocklists are enabled, block anything that isn't IPv4
I know of no public IPv6 blocklists.
2015-04-01 17:36:51 +11:00
Matt Joiner
6b81d57ca2 dht: Clean-up interface, add loads of documentation 2015-04-01 17:29:55 +11:00
Matt Joiner
6c3f8ea26c Remove unnecessary reflection 2015-04-01 14:34:57 +11:00
Matt Joiner
8ba4a2e0f3 cmd/torrentfs: Check error creating client
This wouldn't have happened with exceptions ;)
2015-04-01 14:30:22 +11:00
Matt Joiner
c202e2289c Opinionated torrent filter doesn't belong in this package 2015-03-30 23:11:20 +11:00
Matt Joiner
1ce84f664e Fix a few minor data races 2015-03-30 23:10:37 +11:00
Matt Joiner
5ecde3a874 Show number of torrents in the client status 2015-03-28 02:51:16 +11:00
Matt Joiner
6582cffe06 AddTorrentSpec now merges in new information an existing torrent didn't have 2015-03-28 02:50:55 +11:00
Matt Joiner
90b27618ac The signedness on several tracker.AnnounceRequest fields now matters
Sending negative ports and lefts through to HTTP trackers was making them mad.
2015-03-27 17:22:00 +11:00
Matt Joiner
8ae09e2fa8 Only the first tracker was being tried
Must have lost this in the client tracker clean-up a while back.
2015-03-27 17:20:02 +11:00
Matt Joiner
64f833f3f0 cmd/torrent-magnet: Converts a torrent from stdin to a magnet link 2015-03-27 17:16:50 +11:00
Matt Joiner
5049f5d375 More unnecessary log shushing 2015-03-27 15:37:58 +11: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
Matt Joiner
5f7ad4c769 Merge all the tracker packages, why would anyone want them separately? 2015-03-27 15:12:15 +11:00
Matt Joiner
3aa78763aa Use rogpeppe's sortimports to fix this goimports ordering madness 2015-03-26 17:18:08 +11:00
Matt Joiner
d97b487229 cmd/torrent: Report progress
Fixes #6
2015-03-25 17:32:42 +11:00
Matt Joiner
c471613cd0 Suppress some noisy errors that aren't interesting to the average user 2015-03-25 17:28:34 +11:00
Matt Joiner
6da805d1b1 Move ut_pex back into the "m" map 2015-03-25 15:49:27 +11:00
Matt Joiner
19a50712dc Add the ability to disable PEX
Fixes #3
2015-03-25 15:42:14 +11:00
Peter Borzov
f574117e30 Fix typos 2015-03-21 09:11:45 -04:00
Matt Joiner
67f90ed886 More public interface tidying 2015-03-20 23:52:53 +11:00
Matt Joiner
ec25ef417e bitbucket.org/anacrolix/sync moved to github 2015-03-20 16:46:39 +11:00
Matt Joiner
842a32ae0c Rewrite import paths for migration from Bitbucket 2015-03-20 16:37:44 +11:00
Matt Joiner
0c63952353 More cleaning up of public interface 2015-03-20 10:52:01 +11:00
Matt Joiner
a646308a12 Update the example 2015-03-20 10:51:06 +11:00
Matt Joiner
a07eb8d720 Misc, some encryption related 2015-03-18 18:37:26 +11:00
Matt Joiner
f90e6e7c2c Don't accept unless connections are wanted 2015-03-18 18:36:27 +11:00
Matt Joiner
c413ed7963 Comments in banned torrent list 2015-03-18 18:35:52 +11:00
Matt Joiner
a451bc7e6d Handle data going missing 2015-03-18 18:35:22 +11:00
Matt Joiner
29238ff23f Change the interface to add torrents to a Client 2015-03-18 18:32:31 +11:00
Matt Joiner
58b2b9bec7 Avoid dopplegangers, foreign address that have our client ID 2015-03-18 18:29:51 +11:00
Matt Joiner
a7dddd9be6 Rewrite handshaking and connection management 2015-03-18 18:28:13 +11:00
Matt Joiner
fa025bdbee Disable AllowedFast 2015-03-18 18:21:00 +11:00
Matt Joiner
203da0aab0 Tidy up extension bytes handling; don't close conn from handshake writer; force protocol encryption for now 2015-03-13 06:21:13 +11:00
Matt Joiner
e85b7e228b Add support for Fast Extension 2015-03-12 20:06:23 +11:00