Matt Joiner
3d49eec03a
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.
2022-11-29 10:45:38 +11:00
Marco Vidonis
916af6e38a
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
2022-11-29 10:35:36 +11:00
Craig Campbell
f120b93e1c
Add ability to set DialContext/ListenPacket for tracker announcements ( #760 )
...
This is useful if you want to use a custom dialer to proxy requests via
an external server since the HTTPProxy can only be used with tcp
trackers and not udp.
2022-07-07 15:51:58 +10:00
Matt Joiner
50fcd908ca
tracker/udp.ConnClient: Make logging configurable
...
Should fix https://github.com/anacrolix/torrent/issues/701#issue-1088130173
2021-12-28 12:05:01 +11:00
Matt Joiner
8dc897d4a2
Fix races using resources on Close
2021-12-12 15:01:50 +11:00
Matt Joiner
c6ee03f449
gofumpt
2021-11-08 14:47:01 +11:00
afjoseph
487352fa5b
fixup! [trackerscraper] Add custom DNS lookup function
2021-11-01 11:26:58 +11:00
afjoseph
2a6152b832
[trackerscraper] Add custom DNS lookup function
2021-11-01 11:26:58 +11:00
Matt Joiner
175b826e73
Rework Reader waiting
2021-09-04 23:07:32 +10:00
Matt Joiner
b67ccab7f2
Pass trackerScraper context to announces
...
This will cancel announces for Closed Torrents and let them move more quickly to announcing the stopped event. Spotted by @hwh33.
2020-12-21 09:29:20 +11:00
Matt Joiner
ddd03362f8
Factor out internal/string_limiter
2020-12-17 12:22:02 +11:00
Matt Joiner
d713aaf280
Rework active announce limiter to reduce contention
2020-12-15 15:29:45 +11:00
Matt Joiner
c81da2d5ee
Strictly adher to tracker announce response intervals if a torrent is private
2020-12-09 22:36:57 +11:00
Matt Joiner
846fa3f1f6
Log announce return
2020-12-09 20:01:05 +11:00
Matt Joiner
01dfc28484
Set tracker announce timeout back to default
...
Add lots of comments about how this works and why.
2020-10-01 11:45:47 +10:00
Matt Joiner
010362ec82
Rework HTTP announce timeouts
...
Use Request.Context to implement timeouts, set the default to 3s for announces from the Client.
2020-10-01 10:45:05 +10:00
Matt Joiner
a3827099c4
Limit simultaneous announces to the same URL
2020-10-01 10:43:10 +10:00
Matt Joiner
cb37a914c1
Rename Peer to PeerInfo, and unexport PeerInfos
2020-05-29 19:44:48 +10:00
Matt Joiner
15fff58d7b
Rework tracker status lines
2020-04-28 09:13:44 +10:00
Matt Joiner
d05ce2d274
Update anacrolix/log
2020-04-16 17:20:58 +10:00
Matt Joiner
070e11a0dd
Adjust recently added logging
2020-04-16 12:17:18 +10:00
Matt Joiner
eec337d4bc
Set tracker announce numWant to 0 if we're unable to dial
2020-04-16 12:02:34 +10:00
Matt Joiner
c27e3f8de3
Merge branch 'webtorrent'
2020-04-15 17:26:46 +10:00
Matt Joiner
bb3ae90cd2
Comments and reduced locking in trackerScraper.Run
2020-04-15 17:26:02 +10:00
Matt Joiner
f90cbcce20
Fix locks around Torrent.announceRequest
2020-04-13 19:13:59 +10:00
Matt Joiner
4d516ddadd
Create stub for websocket trackers
2020-04-06 15:38:01 +10:00
Matt Joiner
00efae11ee
Reduce tracker retry for failed announces to 1 minute
2019-08-22 13:59:26 +10:00
Matt Joiner
cb1bf0f413
goimports -local
2019-08-21 20:58:40 +10:00
Matt Joiner
9224303c1e
Update all imports of dht to v2
2019-08-10 18:46:07 +10:00
Matt Joiner
5b44954223
Send tracker stopped event from the tracker scraper routine
...
Fixes potential blocking on the announce while the client lock is held, as well as differing arguments to the other announces introduced by #321 .
2019-07-17 11:56:25 +10:00
Leandro Martelli
7ce45366f5
Adding Started and Stopped events
2019-06-03 09:45:34 +10:00
Matt Joiner
fc4fab91f5
Switch to goimports import sorting
...
Used to use sortimports, but it's old, and goimports seems to have an opinion now.
2018-11-02 23:12:01 +11:00
Denis Kuzmenok
9dc89ab6dc
reverting usage of proxy for http requests
2018-10-31 10:54:10 +11:00
Matt Joiner
02f37a34ee
Fix timer leak in tracker announces when peers are wanted
...
Fixes #281 .
2018-10-21 18:24:22 +11:00
Matt Joiner
ad0c33a50c
Fix TLS handshake failures with https trackers
...
Fixes #276
2018-10-18 11:09:56 +11:00
Matt Joiner
5e3f9893f3
Always announce to trackers every interval, and announce earlier if short on peers
2018-10-18 10:35:38 +11:00
Matt Joiner
6dd3b9c12c
Law of Demeter Client.mu
2018-07-25 13:42:28 +10:00
Matt Joiner
de08380464
Decide where to set proxy for HTTP trackers
...
Remove old ClientConfig.setProxyURL, set this directly now through ClientConfig.TrackerHttpClient.Transport.Proxy (if your Client allows it).
2018-07-11 15:10:58 +10:00
Matt Joiner
50def7a688
Move PEX stuff into peer_protocol
2018-07-10 11:21:24 +10:00
Matt Joiner
d950677f67
Expose public IPv4 and IPv6 config options and use them with trackers
2018-03-29 14:29:15 +11:00
Matt Joiner
8f7408b1f9
IPv6 tracker support
2018-02-19 16:19:18 +11:00
Denis Kuzmenok
455a414204
adding http user-agent setters and usage
2017-12-28 10:47:51 +02:00
themihai
6ab65a49a8
feat(config): Allows the torrent client to customise the client identity and connection config
2017-11-07 20:14:13 +02:00
Matt Joiner
9757f04cf8
Apply megacheck to torrent package
2017-11-07 16:11:59 +11:00
Matt Joiner
11aabc5a85
Tidy the next announce tracker status field
2017-08-17 01:18:18 +10:00
Matt Joiner
1e8c6808b2
Improve readability of tracker status line
2016-07-14 13:08:52 +10:00
Matt Joiner
507daba528
Rework tracker scraper code to allow tracker stats
...
Inspired by @axet's work.
2016-07-12 16:44:06 +10:00
Matt Joiner
9b48d0c7a5
Suppress tracker scraping errors until I decide what to do with them
...
They're not really necessary, but I had them enabled while I rewrote the tracker scraper code.
2016-06-18 17:23:53 +10:00
Matt Joiner
b0923608bb
Handle tracker announce prepare errors
2016-05-23 11:00:49 +10:00
Matt Joiner
20870ec4ff
Rework torrent tracker scraping
...
New scrapers are added anytime trackers are added to a torrent. In the future they will also be stopped as soon as they're removed. All trackers are concurrently scraped, the old-style of sticking to one tracker that works is abandoned for now.
2016-05-22 22:45:08 +10:00