Lawrence, Rendall
61f859e3f6
(partially tested) simplify client approval m/w
...
* sanitize code
2023-03-23 00:34:10 +03:00
Lawrence, Rendall
665899017e
(untested) move unsafe string conversion to pkg
...
* fix invalid UDP f/e start when no workers provided
* add bench for entire server
2023-03-22 17:51:13 +03:00
Lawrence, Rendall
88f1ef7ca5
suppress context canceled error
2023-03-19 19:52:52 +03:00
Lawrence, Rendall
34c2921be8
add support for no_peer_id HTTP announce parameter
...
* remove `compact` from req/resp structures, because
it used only in HTTP and only while response write
2023-03-19 18:37:57 +03:00
Lawrence, Rendall
da7de52813
change httprouter with fasthttp and simple handler
...
* add http benchmark
* move HTTP query parameters parsing to http subpackage
* update dependencies
2023-03-18 00:58:35 +03:00
Lawrence, Rendall
99e30961ef
(minor) convert UDP private key to bytea
2022-11-30 23:52:28 +03:00
Lawrence, Rendall
f80e9af156
(untested) add salt to UDP connection ID
2022-11-30 19:10:23 +03:00
Lawrence, Rendall
3b1b74ad4f
simplify udp connection ID generator
2022-11-29 18:15:21 +03:00
Lawrence, Rendall
234c65333e
Add workers config parameter to start concurrent listeners
2022-11-25 13:58:04 +03:00
Lawrence, Rendall
ef6d820c5b
Add cmd option for quick start w/o config file
2022-11-18 18:28:19 +03:00
Lawrence, Rendall
d8d6f2cf4b
refactor code for context fallthrough
2022-11-01 17:02:24 +03:00
Lawrence, Rendall
c1e041b4f8
(wip) fix invalid http compact address encode
...
* add packages to loggers
* split config examples with different storages
2022-10-25 18:38:55 +03:00
Lawrence, Rendall
a9d1642615
(wip) sanitize and refactor code
...
* replace bencode calls in http response with static generated values
* move bytepool to shared folder
* change receivers for `Scrapes` and `RequestAddresses` (bored of compile warnings)
2022-10-24 19:07:47 +03:00
Lawrence, Rendall
dff0ba6da8
(wip) rework configuration to support multiple frontends
2022-10-21 17:53:03 +03:00
Lawrence, Rendall
9d8440667c
(tested) Add reuseport feauture.
...
SO_REUSEPORT allows multipple instances to use same port.
It might be used for better scalability and performance.
* update dependencies
* fix data race of http's srv and tlsSrv variables
2022-07-11 13:38:37 +03:00
Lawrence, Rendall
c50a532181
(tested) complete replace logrus with zerolog
...
* remove cobra dependency and split execs to mochi and e2e
* add log init synchronization
2022-05-02 03:13:58 +03:00
Lawrence, Rendall
4d646f7c09
(wip) migrate to zerolog
2022-05-01 01:39:21 +03:00
Lawrence, Rendall
64b27c2df6
(tested) preserve all addresses of peer
...
* add multiple addresses in request structures and frontend parsers
* move per-ip peer fetch/store from storage to internal hooks
* fetch/store both v1 and v2 info hashes
2022-04-27 00:52:17 +03:00
Lawrence, Rendall
0d4a2a751e
(tested) fix wait group race in udp frontend
2022-04-24 21:37:57 +03:00
Lawrence, Rendall
f9c72341c0
(minor) refactor redis GC and fix TX calls,
...
add indicator that metrics are running
2022-04-17 00:57:30 +03:00
Lawrence, Rendall
8cd8343757
(tested) refactor code
...
* add sentinel master parameter into driver config
* replace yaml double deserialization with `mapstructure` in initializers
* replace struct initializers with registered functions
* add torrent approval MD and a sanitize rest MDs
2022-04-16 00:51:48 +03:00
Lawrence, Rendall
397e106396
(tested) fix redis to pass tests
...
* delete info hash count key from redis (replaced with SCARD on infohash set)
* add GC test
* add peer.Addr() functio to always return unwrapped address if 4to6 appear
2022-04-15 01:33:45 +03:00
Lawrence, Rendall
5c2471ca9b
(untested) Merge commit e56ad81 from https://github.com/jzelinskie/chihaya
...
* rename/replace redis keys
2022-04-14 19:14:12 +03:00
Lawrence, Rendall
c9e0af8b1e
fix lint errors
2022-04-12 21:48:54 +03:00
Širhoe Biazhkovič
c7edbb52f2
Merge commits 129aac230aa..828edb8fd8b from https://github.com/chihaya/chihaya
2022-04-12 15:58:14 +03:00
Lawrence, Rendall
4dbbb4ad83
Rename to MoChi
2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
beb4736b86
Implement simple PGDC methods for storage
...
* sanitize code a little
* move e2e build to 'e2e' tag
2021-12-21 15:24:25 +03:00
Leo Balduf
cb88a11d6a
frontend: add defaults for parser options
2019-10-12 12:52:16 +09:00
Cenk Alti
0de1d25448
fix listenAndServe comment
2018-12-27 15:17:43 +03:00
Cenk Alti
b345eb3899
split listenAndServe into 2 functions
2018-12-26 18:15:05 +03:00
Cenk Alti
2a26215f2a
Revert "protect socket variable with mutex; fix #437 "
...
This reverts commit 1b7ce4c378 .
2018-12-26 18:10:48 +03:00
Cenk Alti
1b7ce4c378
protect socket variable with mutex; fix #437
2018-12-25 11:23:47 +03:00
Leo Balduf
495f2c2734
frontend/udp: pool connection ID generation state
2018-09-18 11:25:54 +02:00
Justin Li
d95120c817
Return []error from Stop() channel, allow recursive stop groups
2018-09-09 11:30:15 -04:00
Jimmy Zelinskie
f0780ad9cc
frontend: isolate prometheus logic to one file
2018-06-15 13:33:26 -04:00
Leo Balduf
fa19d1125c
udp: support both BEP15 and old opentracker v6 announces
2018-02-17 13:41:36 +01:00
Leo Balduf
fa6e360da4
udp: set address family for connect metrics
2017-12-06 23:00:36 +01:00
Jimmy Zelinskie
80558648d7
Merge pull request #363 from jzelinskie/req-san
...
Request Sanitizer via library
2017-10-18 12:45:25 -04:00
Jimmy Zelinskie
ca823e0e5f
frontend: update to use non-object sanization
2017-10-17 22:02:45 -04:00
Leo Balduf
89bc479a3b
*: make use of timecache
2017-10-15 20:05:39 +02:00
Jimmy Zelinskie
47b5e67345
frontend/udp: add request sanitization
2017-10-08 18:02:34 -04:00
Leo Balduf
8ed171b0ea
pkg/log: create wrapper around logrus
2017-06-26 20:46:40 +02:00
Cedric Charly
f7becf952b
frontend: TrackerLogic interface returns modified context
...
HandleAnnounce and HandleScrape must return the modified context changed
by the hooks. These contexts are passed to AfterAnnounce and AfterScrape
for further use.
Closes #304
2017-06-07 19:25:12 -05:00
Leo Balduf
f61e7a9281
frontend: make request timing optional
2017-05-12 20:27:31 +02:00
Jimmy Zelinskie
cb55019ab8
*: add structured logging
2017-05-07 04:30:22 -04:00
Jimmy Zelinskie
ea0dba3a3d
cmd/chihaya: refactor root run command
...
This change refactors a bunch of the state of execution into its own
object. It also attempts to simplify stopping and adjusts some other
packages to integrate with the stopper interface.
Fixes #309 .
2017-05-01 15:56:38 -04:00
Leo Balduf
233c355526
udp: remove read deadline
2017-02-18 13:17:45 +01:00
Jimmy Zelinskie
215f33d862
frontend/*: only record ClientErrors to Prometheus
...
All ClientErrors are constant and should not cause Prometheus streams to
be generated for all possible failure scenarios in the program.
Fixes #294 .
2017-02-16 01:01:38 -05:00
Leo Balduf
fdf4ed8169
frontend: fix recording of address family
2017-02-05 17:24:53 +01:00
Jimmy Zelinskie
0e07b33827
prometheus: record IP AddressFamily
2017-02-02 19:19:33 -05:00