]>
 
 
Sergey Matveev's repositories - btrtrc.git/log 
 
 
 
 
 
 
Sergey Matveev [Thu, 20 Apr 2023 07:55:41 +0000 (10:55 +0300)] 
 
No Web* 
 
Sergey Matveev [Thu, 20 Apr 2023 07:42:38 +0000 (10:42 +0300)] 
 
Initial draft client 
 
Matt Joiner [Tue, 4 Apr 2023 09:13:14 +0000 (19:13 +1000)] 
 
Don't log using torrent source as warning for context cancellation 
 
This probably occurs because the info was obtained and we don't need to try the source anymore. 
 
Matt Joiner [Tue, 4 Apr 2023 09:12:26 +0000 (19:12 +1000)] 
 
Import generics as g 
 
Matt Joiner [Tue, 4 Apr 2023 09:12:01 +0000 (19:12 +1000)] 
 
Add AddTorrentOpts.InfoBytes 
 
Matt Joiner [Mon, 3 Apr 2023 05:10:54 +0000 (15:10 +1000)] 
 
Expose StringAddr 
 
Matt Joiner [Mon, 3 Apr 2023 05:10:38 +0000 (15:10 +1000)] 
 
bencode: Only use unsafe.String for go>=1.20 
 
Matt Joiner [Sun, 19 Mar 2023 23:50:22 +0000 (10:50 +1100)] 
 
bencode: Support parsing strings into bool 
 
Matt Joiner [Wed, 1 Mar 2023 03:17:29 +0000 (14:17 +1100)] 
 
Add Peer.Torrent 
 
This was for accessing from callback events. 
 
Matt Joiner [Wed, 1 Mar 2023 01:34:35 +0000 (12:34 +1100)] 
 
gorond 
 
Matt Joiner [Wed, 1 Mar 2023 01:33:25 +0000 (12:33 +1100)] 
 
Finish moving all Peer types and methods into peer.go 
 
Matt Joiner [Fri, 24 Feb 2023 05:20:08 +0000 (16:20 +1100)] 
 
Expose UDP tracker error response type 
 
Matt Joiner [Mon, 20 Feb 2023 04:49:55 +0000 (15:49 +1100)] 
 
Don't reconnect before sending requests with current conn ID 
 
The tracker udp://tracker.torrent.eu.org:451/announce gives `error response: "Connection ID missmatch.\x00"` every 2 minutes when under heavy use. I suspect that reconnect requests are sent just after the connection ID is confirmed as not stale, but before it used for a request, and the server rejects the request after processing the reconnect first. 
 
It might also just be that that tracker server implementation is lazy and marks everything stale on regular boundaries. 
 
Matt Joiner [Sun, 19 Feb 2023 02:24:25 +0000 (13:24 +1100)] 
 
Add unit test for relative availability after HaveNone 
 
Could help with https://github.com/anacrolix/torrent/issues/813. 
 
Matt Joiner [Sun, 19 Feb 2023 01:08:23 +0000 (12:08 +1100)] 
 
Add http and udp tracker server implementations 
 
Matt Joiner [Sat, 18 Feb 2023 07:35:22 +0000 (18:35 +1100)] 
 
gofumpt 
 
dependabot[bot] [Sat, 18 Feb 2023 05:06:17 +0000 (16:06 +1100)] 
 
Bump golang.org/x/net from 0.5.0 to 0.7.0 (#819) 
 
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.5.0 to 0.7.0. 
- [Release notes](https://github.com/golang/net/releases) 
- [Commits](https://github.com/golang/net/compare/v0.5.0...v0.7.0) 
 
--- 
updated-dependencies: 
- dependency-name: golang.org/x/net 
  dependency-type: indirect 
... 
 
Signed-off-by: dependabot[bot] <support@github.com>  
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>  
Matt Joiner [Tue, 14 Feb 2023 01:46:23 +0000 (12:46 +1100)] 
 
Limit peer request data allocation
This follows up from 
abb5cbc96e301a4ca1f5df698b105ae8553ce1e9 . We currently limit how many requests peers can send us, but didn't really check that peers didn't make us allocate huge amounts of space to buffer their requests. I'm sure there's some rough edges here.
 
dependabot[bot] [Mon, 13 Feb 2023 21:15:15 +0000 (08:15 +1100)] 
 
Bump github.com/pion/dtls/v2 from 2.1.5 to 2.2.4 (#814) 
 
Bumps [github.com/pion/dtls/v2](https://github.com/pion/dtls) from 2.1.5 to 2.2.4. 
- [Release notes](https://github.com/pion/dtls/releases) 
- [Commits](https://github.com/pion/dtls/compare/v2.1.5...v2.2.4) 
 
--- 
updated-dependencies: 
- dependency-name: github.com/pion/dtls/v2 
  dependency-type: indirect 
... 
 
Signed-off-by: dependabot[bot] <support@github.com>  
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>  
Matt Joiner [Mon, 13 Feb 2023 12:27:15 +0000 (23:27 +1100)] 
 
Check for chunks overflowing piece bounds on request read 
 
Test for integer overflow in when checking read requests are within the bounds of the associated piece. Another fix is required to limit the amount of memory that can be allocated for such requests. 
 
Colin Marc [Mon, 13 Feb 2023 03:26:03 +0000 (04:26  +0100)] 
 
Remove unecessary completion "set" (#812) 
 
If the file has never been downloaded, complete will naturally be false. It's 
not necessary to then set it false again unless it was actually claimed to be 
true in the first place. 
 
In my tests, using the boltdb completion thingy with fsync turned *on*, this 
reduced the cold start for big buck bunny from multiple seconds to just a few 
ms. 
 
Spencer Comfort [Mon, 30 Jan 2023 21:41:06 +0000 (16:41 -0500)] 
 
Update codeql analysis to v2 (#806) 
 
Updates the outdated codeql analysis actions to v2 
 
Matt Joiner [Mon, 23 Jan 2023 21:52:49 +0000 (08:52 +1100)] 
 
Roaring bitmap tests now pass when run from downstream 
 
Matt Joiner [Sun, 8 Jan 2023 06:22:02 +0000 (17:22 +1100)] 
 
Add span for udp packet handling 
 
Matt Joiner [Wed, 4 Jan 2023 13:05:34 +0000 (00:05  +1100)] 
 
Forward leechers and seeders announce handler results 
 
Matt Joiner [Wed, 4 Jan 2023 13:04:42 +0000 (00:04  +1100)] 
 
Handle left param for http tracker server announces 
 
Matt Joiner [Tue, 3 Jan 2023 14:26:31 +0000 (01:26  +1100)] 
 
gorond 
 
Matt Joiner [Tue, 3 Jan 2023 14:25:57 +0000 (01:25  +1100)] 
 
Add a check that piece request order items are scanned in order 
 
It's not clear from btree documentation that scan should be ordered. 
 
Matt Joiner [Tue, 3 Jan 2023 14:25:26 +0000 (01:25  +1100)] 
 
Fix an issue parsing negative bencode string lengths 
 
See the fuzz test in dht/krpc. 
 
Matt Joiner [Mon, 2 Jan 2023 13:14:21 +0000 (00:14  +1100)] 
 
Limit udp tracker server request concurrency 
 
Matt Joiner [Sat, 31 Dec 2022 02:25:00 +0000 (13:25 +1100)] 
 
Update tidwall/btree 
 
Matt Joiner [Sat, 31 Dec 2022 00:27:47 +0000 (11:27 +1100)] 
 
Sleep webseed peers after unhandled errors 
 
Matt Joiner [Thu, 29 Dec 2022 08:42:19 +0000 (19:42 +1100)] 
 
Assume upstream peers are leechers 
 
Matt Joiner [Thu, 29 Dec 2022 08:41:36 +0000 (19:41 +1100)] 
 
Resize packet buffer to avoid wasting memory 
 
Matt Joiner [Thu, 29 Dec 2022 08:41:09 +0000 (19:41 +1100)] 
 
Avoid panic in AnnounceEvent.String 
 
Matt Joiner [Thu, 29 Dec 2022 08:40:20 +0000 (19:40 +1100)] 
 
Fix race when final peers are available early 
 
Matt Joiner [Wed, 28 Dec 2022 23:22:03 +0000 (10:22 +1100)] 
 
Add Context parameter to SendResponse 
 
Matt Joiner [Wed, 28 Dec 2022 23:21:34 +0000 (10:21 +1100)] 
 
Track request payload len 
 
Matt Joiner [Sat, 17 Dec 2022 00:08:46 +0000 (11:08 +1100)] 
 
Default to announcing as leecher
(cherry picked from commit 
16da3c0c46a71d6f270600c63acb674226c1c9ae )
 
Matt Joiner [Fri, 16 Dec 2022 04:38:30 +0000 (15:38 +1100)] 
 
Add --port flag to announce
(cherry picked from commit 
e554aa19a691615f349bf6dae0601706ea47dc03 )
 
Matt Joiner [Sun, 25 Dec 2022 08:26:01 +0000 (19:26 +1100)] 
 
Merge branch 'universal-webseed-escaping' 
 
Matt Joiner [Sun, 25 Dec 2022 08:23:07 +0000 (19:23 +1100)] 
 
Fix write error handling 
 
Fixes https://github.com/anacrolix/torrent/issues/798. 
 
Prior to this fix, it looks like the writer would just keep writing chunks of the front buffer (incorrectly if there was an error), until presumably the writer would be killed by read hangup elsewhere. 
 
Matt Joiner [Sun, 25 Dec 2022 07:20:42 +0000 (18:20 +1100)] 
 
Don't use path.Join in default webseed path escaper 
 
Thanks fuzzing! 
 
Matt Joiner [Sun, 25 Dec 2022 07:20:23 +0000 (18:20 +1100)] 
 
Add fuzzing for webseed path escaping 
 
Matt Joiner [Fri, 23 Dec 2022 00:18:36 +0000 (11:18 +1100)] 
 
Change default webseed path escaping to work for all S3-compatible providers 
 
a [Thu, 22 Dec 2022 00:07:40 +0000 (18:07 -0600)] 
 
update deps (#794) 
 
Matt Joiner [Sat, 17 Dec 2022 23:56:25 +0000 (10:56 +1100)] 
 
Make trackerServer package 
 
Matt Joiner [Sat, 17 Dec 2022 00:08:46 +0000 (11:08 +1100)] 
 
Default to announcing as leecher 
 
Matt Joiner [Sat, 17 Dec 2022 00:08:35 +0000 (11:08 +1100)] 
 
Pass seeders and leechers back in UDP announce 
 
Matt Joiner [Fri, 16 Dec 2022 04:39:02 +0000 (15:39 +1100)] 
 
Use port from announce request, not packet source 
 
Matt Joiner [Fri, 16 Dec 2022 04:38:30 +0000 (15:38 +1100)] 
 
Add --port flag to announce 
 
Matt Joiner [Fri, 16 Dec 2022 02:22:44 +0000 (13:22 +1100)] 
 
Set span errors 
 
Matt Joiner [Thu, 15 Dec 2022 12:21:08 +0000 (23:21 +1100)] 
 
Propagate announce interval, particularly for UDP 
 
Matt Joiner [Tue, 13 Dec 2022 05:41:08 +0000 (16:41 +1100)] 
 
Add upstream announce gating 
 
Matt Joiner [Tue, 13 Dec 2022 04:28:34 +0000 (15:28 +1100)] 
 
Add some tracing 
 
Matt Joiner [Mon, 12 Dec 2022 00:23:33 +0000 (11:23 +1100)] 
 
Don't use AnnounceHandler by value 
 
It needs to share mutex for upstream tracker single flight handling. 
 
Matt Joiner [Sun, 11 Dec 2022 04:21:23 +0000 (15:21 +1100)] 
 
Validate received chunks before conversion to indexes 
 
https://github.com/anacrolix/torrent/issues/791 
 
Matt Joiner [Thu, 8 Dec 2022 04:07:14 +0000 (15:07 +1100)] 
 
Fix error message for connection ID mismatch 
 
Matt Joiner [Thu, 8 Dec 2022 04:06:59 +0000 (15:06 +1100)] 
 
Make UDP tracker connection ID unsigned 
 
This is more appropriate for logging and its use as a byte blob elsewhere. 
 
Matt Joiner [Thu, 8 Dec 2022 04:06:05 +0000 (15:06 +1100)] 
 
Use ConnectionId type alias 
 
Matt Joiner [Thu, 8 Dec 2022 03:04:23 +0000 (14:04 +1100)] 
 
Add get peers limits 
 
Matt Joiner [Thu, 8 Dec 2022 03:04:42 +0000 (14:04 +1100)] 
 
Use smaller parameter type 
 
Matt Joiner [Thu, 8 Dec 2022 02:39:58 +0000 (13:39 +1100)] 
 
Fix goroutine leak when augmenting peers from upstream 
 
Marco Vidonis [Wed, 7 Dec 2022 22:17:33 +0000 (22:17 +0000)] 
 
Add customer headers when dialling WS connection to tracker (#789) 
 
* expose WebtorrentTrackerHttpHeader field 
 
Matt Joiner [Tue, 6 Dec 2022 23:43:45 +0000 (10:43 +1100)] 
 
Fix missing log argument 
 
Matt Joiner [Tue, 6 Dec 2022 23:43:33 +0000 (10:43 +1100)] 
 
Rework logging 
 
Matt Joiner [Tue, 6 Dec 2022 14:54:38 +0000 (01:54  +1100)] 
 
Support upstream trackers 
 
Matt Joiner [Tue, 6 Dec 2022 04:59:06 +0000 (15:59 +1100)] 
 
Support alternate remote host resolution 
 
Matt Joiner [Mon, 5 Dec 2022 06:52:03 +0000 (17:52 +1100)] 
 
Support HTTP tracker server 
 
Matt Joiner [Mon, 5 Dec 2022 01:52:19 +0000 (12:52 +1100)] 
 
Start a UDP server implementation 
 
Matt Joiner [Tue, 6 Dec 2022 23:42:29 +0000 (10:42 +1100)] 
 
Group Client DHT and tracker config 
 
Matt Joiner [Mon, 5 Dec 2022 06:53:36 +0000 (17:53 +1100)] 
 
Support marshalling http tracker response peers 
 
Matt Joiner [Mon, 5 Dec 2022 06:50:39 +0000 (17:50 +1100)] 
 
Rename tracker/http package 
 
Matt Joiner [Mon, 5 Dec 2022 06:49:27 +0000 (17:49 +1100)] 
 
New go fmt on doc comments 
 
Matt Joiner [Mon, 5 Dec 2022 01:51:29 +0000 (12:51 +1100)] 
 
Some tidying in tracker/udp 
 
Matt Joiner [Mon, 5 Dec 2022 01:50:40 +0000 (12:50 +1100)] 
 
Add announce --event flag 
 
Matt Joiner [Mon, 28 Nov 2022 23:42:32 +0000 (10:42 +1100)] 
 
Wrap error returned from tracker HTTP request director 
 
Matt Joiner [Mon, 28 Nov 2022 23:44:46 +0000 (10:44 +1100)] 
 
Rename some HTTP identifiers to Http 
 
I believe the Go convention on this is bad, and this names them inline with the style used elsewhere in anacrolix/torrent with Ip for example. 
 
Unfortunately it's pretty widespread, so I've only changed the recent additions. 
 
Marco Vidonis [Mon, 28 Nov 2022 23:35:36 +0000 (23:35 +0000)] 
 
Modify HTTP request before sending (#787) 
 
* set up custom request headers 
 
* apply headers defined in torrent client config 
 
* add error handling 
 
* provide better name for method 
 
* update error message 
 
* only apply HTTPRequestDirector if not nil 
 
Matt Joiner [Mon, 28 Nov 2022 23:29:50 +0000 (10:29 +1100)] 
 
Fix godo use in torrentfs CI 
 
Matt Joiner [Wed, 23 Nov 2022 23:33:06 +0000 (10:33 +1100)] 
 
Metadata size handling and DHT logging noise 
 
Matt Joiner [Tue, 15 Nov 2022 12:22:10 +0000 (23:22 +1100)] 
 
gorond ./... 
 
Matt Joiner [Wed, 2 Nov 2022 12:03:25 +0000 (23:03 +1100)] 
 
Move a bunch of stuff into subpackages 
 
The core package is very large now, and often only parts of it are needed. 
 
Raphaël Thériault [Mon, 14 Nov 2022 08:20:08 +0000 (00:20  -0800)] 
 
pass TrackerDialContext to webtorrent trackers (#785) 
 
Raphaël Thériault [Mon, 14 Nov 2022 08:19:02 +0000 (00:19  -0800)] 
 
support providing a DialContext for the http client (#786) 
 
pk [Mon, 26 Sep 2022 00:01:51 +0000 (19:01 -0500)] 
 
Retrive file via HTTP URL in `metainfo.go` (#778) 
 
Matt Joiner [Fri, 23 Sep 2022 13:29:19 +0000 (23:29 +1000)] 
 
Run default DHT with table maintainer 
 
Matt Joiner [Sun, 18 Sep 2022 01:26:58 +0000 (11:26 +1000)] 
 
Update github.com/anacrolix/dht/v2 
 
Matt Joiner [Wed, 31 Aug 2022 01:09:47 +0000 (11:09 +1000)] 
 
Merge branch 'webrtc-conn-leak' 
 
Matt Joiner [Wed, 31 Aug 2022 01:06:00 +0000 (11:06 +1000)] 
 
Merge branch 'bargle' 
 
Alex Sharov [Mon, 8 Aug 2022 05:38:19 +0000 (12:38 +0700)] 
 
Win limit amount of peers per udp packet (#771) 
 
Alex Sharov [Wed, 13 Jul 2022 10:04:03 +0000 (17:04 +0700)] 
 
use rLock where can, part2 (#767) 
 
Alex Sharov [Wed, 13 Jul 2022 10:03:42 +0000 (17:03 +0700)] 
 
use RLock where can (#766) 
 
Matt Joiner [Wed, 13 Jul 2022 01:34:02 +0000 (11:34 +1000)] 
 
cmd/torrent: Restore the announce and bencode subcommands 
 
Matt Joiner [Tue, 12 Jul 2022 01:46:03 +0000 (11:46 +1000)] 
 
Close data channel on offer init errors 
 
Matt Joiner [Tue, 12 Jul 2022 00:42:35 +0000 (10:42 +1000)] 
 
Also close created data channels when cleaning up webrtc conns 
 
Matt Joiner [Mon, 11 Jul 2022 05:01:30 +0000 (15:01 +1000)] 
 
Support announcing to webtorrent trackers without offers 
 
Matt Joiner [Mon, 11 Jul 2022 01:39:54 +0000 (11:39 +1000)] 
 
webtorrent: Create data channel earlier per webrtc examples 
 
Matt Joiner [Mon, 11 Jul 2022 01:38:06 +0000 (11:38 +1000)] 
 
Trace some webrtcNetConn use 
 
Matt Joiner [Mon, 11 Jul 2022 01:37:14 +0000 (11:37 +1000)] 
 
cmd/torrent: Time and log TracerProvider.Shutdown