2
0
mirror of synced 2025-02-24 06:38:14 +00:00

915 Commits

Author SHA1 Message Date
Matt Joiner
7ee0fdafe3 Add some client callbacks 2020-07-15 16:16:14 +10:00
Matt Joiner
e81d8890dd Don't filter context cancel errors
The caller thinks this means it succeeded, when it fact it was cancelled and it should interpret that appropriately.
2020-06-19 11:41:26 +10:00
Matt Joiner
62e7f29a0c Fix panic in webseed request rejection logging
Also use a new helper in Logger to simplify things.
2020-06-04 11:51:17 +10:00
Maxb
a7689f52bd Add DisallowDataDownload/Upload to TorrentSpec and small log cleanup 2020-06-04 10:36:56 +10:00
Matt Joiner
8a2ff43246 Tidy up the interface changes 2020-06-02 17:41:59 +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
026c737886 Add webseeds from magnet links 2020-06-02 13:53:25 +10:00
Matt Joiner
ff53ab860c Further progress on webseeding 2020-06-01 18:25:45 +10:00
Matt Joiner
69a0f2f1e4 Got file storage working with segment index 2020-06-01 00:14:51 +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
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
461403c0f5 Fix Client torrent "of %d bytes" in status 2020-05-13 17:32:16 +10:00
Matt Joiner
39171df0c6 Fix PeerConn outgoing field for webrtc
Due to jumping straight into handshakes, outgoing=true was assumed. This didn't actually solve the issue I thought it might, but is important for determining "preferred" connection direction, which may result in dropping connections.
2020-05-03 18:37:26 +10:00
Matt Joiner
f36fc10079 Fix crash when announcing unloaded torrent to websocket 2020-05-03 14:10:46 +10:00
Matt Joiner
3e9a5a4aec Expose ClientConfig.Extensions
Also run the storage failure test with fast disabled for the seeder. This probably would have tickled some issues in the past, so it seems like a good place to try it out.
2020-04-23 13:03:40 +10:00
Matt Joiner
a5db7a7fa6 Remove websocket tracker logging level override 2020-04-22 11:41:12 +10:00
Matt Joiner
0ab6d108be Pool webtorrent tracker websockets at the Client level 2020-04-21 18:08:43 +10:00
Matt Joiner
c074b30d94 Log webrtc connection errors and rework webtorrent.TrackerClient 2020-04-20 13:42:25 +10:00
Matt Joiner
520d3c38e3 Fix some webtorrent PeerConnection leaks 2020-04-20 10:21:31 +10:00
Matt Joiner
d05ce2d274 Update anacrolix/log 2020-04-16 17:20:58 +10:00
Matt Joiner
74986db9ed Don't try to do conventional dials if we have no dialers
Stops us from consuming all the peers we store for no reason.
2020-04-16 12:00:49 +10:00
Matt Joiner
d4430e89b6 Fix crash with conventional trackers when tcp and utp are disabled
Fixes #396.
2020-04-16 10:27:17 +10:00
Matt Joiner
f45dac1e38 Use offer_id for webrtc conn string 2020-04-13 14:04:34 +10:00
Matt Joiner
27bfdd0dbf Create peer connections when WebRTC connections obtain a data channel 2020-04-07 10:59:10 +10:00
Matt Joiner
378ccd0932 Logging improvements for DHT 2020-03-17 13:48:09 +11:00
Matt Joiner
c83738f3f4 Update to latest anacrolix/dht 2020-03-17 13:47:53 +11:00
Matt Joiner
7fe199992c Use stable bit set for pending pieces PriorityBitmap
Fixes #382.
2020-02-27 18:33:44 +11:00
Matt Joiner
ddc61845ac Misc cleanup 2020-02-22 19:38:56 +11:00
Matt Joiner
c855c7a366 Differentiate between storage.ClientImpl{,Closer} 2020-02-21 14:12:44 +11:00
Matt Joiner
ddddc63924 Expose PeerConn.PeerPieces
Fixes #375.
2020-02-21 11:51:24 +11:00
Matt Joiner
dff436f102 Rename connection->PeerConn and fix exports 2020-02-21 11:07:50 +11:00
Matt Joiner
01955ebe80 Tweak DHT status output 2020-02-21 09:47:46 +11:00
Matt Joiner
afe4d8795d Support custom DHT servers
Addresses #266.
2020-02-20 17:46:29 +11:00
Matt Joiner
71f18f1042 Remove ClientConfig.ProxyURL and DefaultHTTPUserAgent
ProxyURL is no longer used for implicit sockets, this will ensure consumers are aware. It's other behaviour is already more correct specified through HTTPProxy.

DefaultHTTPUserAgent was vestigial, and is specified now through the ClientConfig.
2020-02-20 17:04:11 +11:00
Matt Joiner
d24922dc09 Add support for non-IP-based networks
Includes a test with unix sockets. Exposes AddDialer, AddListener, and reworks Peer.
2020-02-20 16:47:37 +11:00
Matt Joiner
e9e128cbf8 Split Client dialers and listeners 2020-02-20 11:10:05 +11:00
Matt Joiner
376ff763fe Apply staticcheck 2020-02-20 11:09:57 +11:00
Matt Joiner
dc39e98cfb Fix race in requestStrategyThree request timeout callback 2020-01-20 11:51:24 +11:00
Matt Joiner
cfc68d3ae6 Fix bad init of Torrent.requestStrategy 2020-01-14 10:51:09 +11:00
Matt Joiner
2559af0f9c Extract the request timeout stuff into requestStrategyThree 2020-01-14 10:51:09 +11:00
Matt Joiner
4c989da21e Extract the request strategy logic
Bit messy. Now it'll be easier to clean-up what it depends on, and test.
2020-01-14 10:51:09 +11:00
James Lawrence
ad73cf8611 fixes various vet errors 2020-01-14 09:09:09 +10:00
Matt Joiner
98bd488466 Fix a log level 2020-01-07 10:50:18 +11:00
Matt Joiner
c9f9235117 Fix panic in logging
Found by @ccampbell.
2020-01-07 10:44:58 +11:00
Matt Joiner
3a733e530c Improve logging and errors for accept rate limiting 2020-01-04 17:14:18 +11:00
Sick Yoon
32579e72c7 disable listeners if proxy is configured 2020-01-02 09:18:14 +10:00
Matt Joiner
5f1d937b62 Add connection trust flag, and more tests with small caches
Thanks to observations and feedback from @ccampbell.
2019-12-18 13:52:00 +11:00