Commit Graph

732 Commits

Author SHA1 Message Date
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 9f62098e85 cmd/scrape -> cmd/tracker-announce, and a big refresh
What it was doing was not scraping, that's something completely different. Now it can also announce magnets.
2015-03-26 17:22:17 +11:00
Matt Joiner 9869f8f5a9 Almost completed http tracker support 2015-03-26 17:20:31 +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 604e61497e The license is MPL2.0
Fixes #1
2015-03-25 17:35:33 +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 01210a4577 Fixes for changes to basil.org/fuse 2015-03-25 17:25:24 +11:00
Matt Joiner 87690e4c4c Show metadata state in status output
This is help verify the cause for an occasional stall obtaining metadata from peers.
2015-03-25 15:50:31 +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
Matt Joiner 1ec15c9560 cmd/torrent: Replace flag with go-flags, rejig options 2015-03-25 15:41:15 +11:00
Matt Joiner 03e69c5464 Fix crash from bad metadata_size in extended handshake 2015-03-24 16:47:02 +11:00
Matt Joiner ecda836926 Merge pull request #4 from dborzov/master
Add tests for ParseMagnetURI
2015-03-23 12:13:49 +11:00
Matt Joiner eb1385fd8d Merge pull request #5 from jzelinskie/master
add cli flag to disable DHT
2015-03-23 12:10:49 +11:00
Jimmy Zelinskie 8cc582ecb2 add cli flag to disable DHT
This partially addresses #3.
2015-03-22 18:24:31 -04:00
Peter Borzov 74496572dc Fix test error message 2015-03-22 13:57:57 -04:00
Peter Borzov 9d725d8caa Make ParseMagnetURI easier to read 2015-03-22 13:50:16 -04:00
Peter Borzov e5bf008e98 Test ParseMagnetURI 2015-03-22 13:42:43 -04:00
Matt Joiner 0f4478115e Merge pull request #2 from dborzov/master
Fix typos
2015-03-22 23:11:33 +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 ed8e89a60c cmd/torrent: Nicer usage 2015-03-20 23:18:32 +11:00
Matt Joiner 73d8eef468 Improve the README 2015-03-20 23:18:09 +11:00
Matt Joiner 231c8b9419 Update Codeship badge URL 2015-03-20 22:01:37 +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 30c67caced Allow some overlap between piece prioritization classes
This probabilistically improves download speeds when doing readaheads
2015-03-20 10:52:55 +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 466b5f0623 Improve connection status info, especially flags 2015-03-18 18:38:29 +11:00
Matt Joiner 4d510ddca1 Piece priority tests 2015-03-18 18:37:52 +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 28455fb817 Speed up stuff relating to checking piece completion 2015-03-18 18:34:35 +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 0d5c10ef53 mse: Check that readUntil doesn't read indefinitely while synchronizing 2015-03-18 18:16:27 +11:00
Matt Joiner eb29dcec80 mse: Clean-up 2015-03-18 18:14:57 +11:00
Matt Joiner 8d58fc28f6 data/blob: Change store eviction to LRU, from random replacement
It works *much* better for torrenting with a readahead window. When we want to
avoid downloading, we want to avoid downloading lots of dispersed pieces.
2015-03-18 18:12:46 +11:00
Matt Joiner 0f7c4c5bda util: Support CopyExact with pointer source
Nice to avoid copying large value types.
2015-03-18 18:09:54 +11:00
Matt Joiner 8e8d75dda1 Support initial payload, and improve tests 2015-03-13 14:30:48 +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 d57f5896d4 mse: Tons of fixes and improvements 2015-03-13 06:16:49 +11:00