Commit Graph

2530 Commits

Author SHA1 Message Date
ucwong 645901636d torrent : add udp scheme to 'switch case' 2020-06-04 10:37:50 +10:00
Maxb a7689f52bd Add DisallowDataDownload/Upload to TorrentSpec and small log cleanup 2020-06-04 10:36:56 +10:00
Matt Joiner 8606385985
Merge pull request #410 from anacrolix/webseeds
* Rename Peer to PeerInfo, and unexport PeerInfos

* Break peer out from PeerConn

* Abstract out segments mapping and use it in mmap storage

* Got file storage working with segment index

* Fix race in webtorrent.TrackerClient.Run

* storage file implementation: Error on short writes

* Remove debug logging from storage file implementation

* cmd/torrent-verify: Fix piece hash output

* Support disabling webtorrent

* Further progress on webseeding

* Handle webseed Client events

* Rename fastestConn->fastestPeer

* Add webseeds from magnet links

* Remove events from webseed

Manage this stuff inside the webseed peer instead.

* Make use of magnet source fields and expose Torrent.MergeSpec

* Add option to disable webseeds

* Fix webseeds when info isn't available immediately

* Handle webseed request errors

* Tidy up the interface changes
2020-06-03 11:25:08 +10:00
Matt Joiner 8a2ff43246 Tidy up the interface changes 2020-06-02 17:41:59 +10:00
Matt Joiner d5a482e209 Handle webseed request errors 2020-06-02 16:41:49 +10:00
Matt Joiner 7909084a17 Fix webseeds when info isn't available immediately 2020-06-02 16:18:25 +10:00
Matt Joiner 72bd4f362e Add option to disable webseeds 2020-06-02 16:17:32 +10:00
Matt Joiner 997384a394 Make use of magnet source fields and expose Torrent.MergeSpec 2020-06-02 15:06:05 +10:00
Matt Joiner 054ea59e6d Remove events from webseed
Manage this stuff inside the webseed peer instead.
2020-06-02 13:54:26 +10:00
Matt Joiner 026c737886 Add webseeds from magnet links 2020-06-02 13:53:25 +10:00
Maxb d7627143bc Add per-torrent ability to disable uploading 2020-06-02 11:20:39 +10:00
Matt Joiner eb8688a902 Rename fastestConn->fastestPeer 2020-06-01 19:09:17 +10:00
Matt Joiner 5602ecd810 Handle webseed Client events 2020-06-01 18:41:21 +10:00
Matt Joiner ff53ab860c Further progress on webseeding 2020-06-01 18:25:45 +10:00
Matt Joiner 67c9021e97 Support disabling webtorrent 2020-06-01 18:24:46 +10:00
Matt Joiner cf6d161256 cmd/torrent-verify: Fix piece hash output 2020-06-01 11:16:17 +10:00
Matt Joiner 235c67a6ec Remove debug logging from storage file implementation 2020-06-01 11:12:51 +10:00
Matt Joiner 604af2be82 storage file implementation: Error on short writes 2020-06-01 11:12:33 +10:00
Matt Joiner c3696aa5a4 Fix race in webtorrent.TrackerClient.Run 2020-06-01 11:11:41 +10:00
Matt Joiner 69a0f2f1e4 Got file storage working with segment index 2020-06-01 00:14:51 +10:00
Matt Joiner 3cbdf4aa98 cmd/torrent-verify now needs to call InitIndex 2020-06-01 00:04:15 +10:00
Matt Joiner 563a09cc47 connLessTrusted takes peer instead of PeerConn 2020-06-01 00:03:51 +10:00
Matt Joiner decf8bb6ea webseed Client skeleton 2020-05-31 21:00:44 +10:00
Matt Joiner 7fec6785bf Abstract out segments mapping and use it in mmap storage 2020-05-31 21:00:19 +10:00
Matt Joiner 317146dec9 Export PeerImpl and all its methods 2020-05-31 13:22:36 +10:00
Matt Joiner 3f8f6e1733 Got things compiling 2020-05-31 13:09:56 +10:00
Matt Joiner 3d1f08b12f Save progress 2020-05-30 17:52:27 +10:00
Matt Joiner de88c620bc Seperate peer and PeerConn 2020-05-30 15:18:28 +10:00
Matt Joiner 02adc3f2ee Break peer out from PeerConn 2020-05-30 10:14:20 +10:00
Matt Joiner cb37a914c1 Rename Peer to PeerInfo, and unexport PeerInfos 2020-05-29 19:44:48 +10:00
Matt Joiner c7ea314de0
BEP27 isn't implemented
https://github.com/anacrolix/torrent/issues/406
2020-05-24 17:47:16 +10:00
Yaroslav Kolomiiets 6ea0344efd torrent-metainfo-pprint: include the 'nodes' field into the output when non-empty 2020-05-21 16:31:14 +10:00
Matt Joiner c04f09ee42 Fix panic closing torrent that failed to open storage 2020-05-21 12:17:10 +10:00
Matt Joiner a1a715f362 Improve cmd/tracker-announce output 2020-05-20 12:04:53 +10:00
Matt Joiner e33d773391 Don't error on setting info when we already have it 2020-05-19 15:22:58 +10:00
Matt Joiner 91afef8733 Fix https://github.com/anacrolix/torrent/issues/388 2020-05-19 15:00:08 +10:00
Matt Joiner f6c757ca65 Add tests for https://github.com/anacrolix/torrent/issues/388 2020-05-19 14:59:45 +10:00
Rob Powell 26d7034d72 Update README.md 2020-05-19 14:24:37 +10:00
Matt Joiner 78d14c78d2 Fix panic caused by adding disabled udp trackers 2020-05-19 12:44:42 +10:00
Matt Joiner 461403c0f5 Fix Client torrent "of %d bytes" in status 2020-05-13 17:32:16 +10:00
Matt Joiner 587f28d2fa Add comment to metainfo.MetaInfo.CreationDate 2020-05-13 14:33:26 +10:00
Matt Joiner ccc71463b9 Expose metainfo.GeneratePieces 2020-05-13 14:33:26 +10:00
Matt Joiner 533fec840a cmd/tracker-announce: Rework for better utility in shell scripts 2020-05-12 11:31:56 +10:00
Matt Joiner cc5d2abe18 doc comment 2020-05-05 09:00:43 +10:00
Matt Joiner 4eee1ba261 Fix benchmark failing due to mainReadLoop returning io.EOF 2020-05-03 19:31:20 +10:00
Matt Joiner 8b6c26b912 Pull fix to panic in pion/ice
https://github.com/pion/ice/issues/182
2020-05-03 18:51:09 +10:00
Matt Joiner 54d55db108 webtorrent: Synchronize access to PeerConnection.Close 2020-05-03 18:45:12 +10:00
Matt Joiner 11e13ac8c1 cmd/torrent: Output stats on termination, not just completion 2020-05-03 18:42:37 +10:00
Matt Joiner 90bbdf9adb cmd/torrent: Add download -pex flag
For testing with https://github.com/anacrolix/torrent/issues/402.
2020-05-03 18:42:03 +10:00
Matt Joiner 11a373200f cmd/torrent: Only output progress lines when they change
This stops spamming output when seeding.
2020-05-03 18:41:33 +10:00