Matt Joiner
93f911ed01
Metadata size handling and DHT logging noise
2022-11-24 10:33:06 +11:00
Matt Joiner
3e0f34934d
gorond ./...
2022-11-15 23:31:27 +11:00
Raphaël Thériault
455913c752
pass TrackerDialContext to webtorrent trackers ( #785 )
2022-11-14 19:20:08 +11:00
Raphaël Thériault
8e53dbaeb8
support providing a DialContext for the http client ( #786 )
2022-11-14 19:19:02 +11:00
Matt Joiner
e81c6569af
Run default DHT with table maintainer
2022-09-23 23:29:19 +10:00
Alex Sharov
67b55c222b
use RLock where can ( #766 )
2022-07-13 20:03:42 +10:00
Matt Joiner
214fe6b93c
Use webrtc local addr for webrtc conn peer priority
...
WebRTC conns are providing the correct IP for peer priority calculations, so use that instead of trying to guess (which doesn't work if there are no regular conn listeners attached to the Client.
(cherry picked from commit e86bb5fee3958dc90a3d012469b1352005d6c9ad)
2022-07-12 15:52:03 +10:00
Matt Joiner
12279621e4
Check that incoming peer request chunk lengths don't exceed the upload rate limiter burst size
...
Should fix #759 .
2022-06-25 23:16:58 +10:00
Matt Joiner
05cd58de85
Add Client.PublicIPs
2022-06-22 23:59:18 +10:00
Matt Joiner
f527180873
Bump up the local client reqq
...
This seems to boost upload speeds to Transmission to 16MB/s. It may require a corresponding amount of buffering in memory, that could require work later.
2022-06-15 14:22:17 +10:00
Matt Joiner
eeb021b134
Use Option for cached Torrent length
...
Fixes https://github.com/anacrolix/torrent/issues/630 .
2022-05-12 13:47:12 +10:00
Matt Joiner
9434fe58a2
Set debug log level for outgoing connection error
...
Contributed by @tsynik in https://github.com/anacrolix/torrent/issues/702#issuecomment-1010523079 .
2022-05-12 13:33:57 +10:00
Matt Joiner
39bd8fc5a0
Use reusable roaring iterators
2022-05-12 10:42:16 +10:00
Matt Joiner
669c69faac
Disable update requests timer
2022-05-12 10:37:36 +10:00
Matt Joiner
9a9c7dee00
Add and use typed roaring bitmap
2022-05-09 12:05:50 +10:00
afjoseph
5bcd5d1b13
[client] Handle nil IP in badPeerAddr()
2022-04-26 10:59:12 +10:00
Matt Joiner
d8611ecf2d
Fix races around Reader and Torrent.Drop when Torrent is closed
2022-04-11 15:44:24 +10:00
Matt Joiner
e801f8518f
Merge branch 'go1.18'
2022-03-17 15:16:04 +11:00
Matt Joiner
472894d9dd
Update dht logging
2022-03-17 14:58:32 +11:00
Matt Joiner
32d89830ed
Use generic pubsub
2022-03-17 14:55:55 +11:00
Matt Joiner
55b178a8ca
Export Torrent.UseSources
2022-03-15 13:42:00 +11:00
Matt Joiner
39af2fe8f2
Merge branch 'http-proxying'
2022-03-15 12:41:22 +11:00
Matt Joiner
ec2b1b2073
Support banning webseeds
2022-03-11 14:05:31 +11:00
Matt Joiner
162cef5d1b
When banning an IP drop peers that match
2022-03-11 13:59:47 +11:00
Matt Joiner
32501740f2
Support banning webseeds
2022-03-11 13:33:34 +11:00
Matt Joiner
cb1291d565
Separate torrent sources source file
2022-02-25 19:59:16 +11:00
Matt Joiner
d06f990b81
Use HTTP proxy config for torrent sources
2022-02-25 19:59:16 +11:00
Matt Joiner
716dc55321
Fix race in MergeSpec using DisableInitialPieceCheck
2022-02-25 19:55:26 +11:00
FIGBERT
7d41b9b21c
Pass client logger to anacrolix/go-libutp sockets ( #722 )
...
* Update anacrolix/go-libutp (v1.1.0 -> v1.2.0)
* Pass client logger to anacrolix/go-libutp
* Pass logger instead of option
The project now compiles properly when CGO is not enabled.
Additionally, the new argument (now log.Logger instead of
utp.NewSocketOpt) is now required. The tests have been updated to match
this change, and now pass logger.Default to NewUtpSocket.
* Correct function signature of NewUtpSocket
2022-02-15 16:18:32 +11:00
Matt Joiner
a324fbfee3
Make use of the lazylog branch of anacrolix/log
...
This avoids significant allocations and overhead.
2022-01-31 17:22:36 +11:00
Matt Joiner
b68ab1db12
When banning an IP drop peers that match
2022-01-27 15:12:26 +11:00
Matt Joiner
f1e250672f
Fix v4 in v6 IPs from being banned as IPv4
2022-01-27 15:11:01 +11:00
Matt Joiner
7a20e9fe8a
Lazy logging
2022-01-23 09:37:11 +11:00
Matt Joiner
1cff4fe95e
Switch to external anacrolix/generics
2022-01-22 18:43:04 +11:00
Matt Joiner
4a8611b23e
Do smart banning on existing badPeerIPs
2022-01-22 18:43:04 +11:00
Matt Joiner
53cf508061
Implement smart ban using generics
2022-01-22 18:43:04 +11:00
Matt Joiner
f7494791d0
Reduce some logging
2021-12-27 22:06:52 +11:00
Matt Joiner
1bae62fd22
Dynamic outbound max requests
...
This might be one solution to https://github.com/anacrolix/torrent/issues/698 .
2021-12-24 08:55:57 +11:00
Matt Joiner
bdb33ef9f7
gofumpt -extra
2021-12-23 14:00:00 +11:00
martin
b6cc93c0be
* set proxy of websocket tracker to the proxy used by client config
2021-12-16 16:04:59 +11:00
Matt Joiner
1bc84e316f
Don't group Torrent piece request orders without a storage capacity together
2021-12-12 18:35:02 +11:00
Matt Joiner
94bb5d40ba
Implement piece request ordering with retained state
2021-12-12 18:35:01 +11:00
Matt Joiner
8dc897d4a2
Fix races using resources on Close
2021-12-12 15:01:50 +11:00
Matt Joiner
69f3b6064e
Don't use the Client's IP blocklist after the Client is closed
...
Fixes a segfault due to using a memory mapped blocklist in confluence.
2021-12-12 15:01:50 +11:00
Matt Joiner
a9373fc8fd
Fix minimum peer extensions error message
2021-12-03 20:36:50 +11:00
Matt Joiner
0f81e0011f
Avoid calling net.Conn methods with the Client mutex locked
...
The utp firewall callback might want to use it. I can't think of a better way to determine with an incoming connection request should be blocked.
2021-11-17 14:00:50 +11:00
Matt Joiner
a90ae5aed4
Pass HTTP Proxy config into webseeding HTTP client
2021-11-12 14:16:14 +11:00
Matt Joiner
1071e261e1
Remove unused Client.updateRequests
2021-11-12 13:55:43 +11:00
Matt Joiner
c6ee03f449
gofumpt
2021-11-08 14:47:01 +11:00
Matt Joiner
f86af21cd2
Improve dht bootstrap stats logging
2021-11-05 09:30:25 +11:00