Lawrence, Rendall
1a3f5b1598
upgrade golangci to v2
...
* migrate configuration to version 2
* fix new lint warnings
* update lint.yaml to use golangci-lint-action v7
2025-04-22 14:18:18 +03:00
Lawrence, Rendall
f1a32a024a
fix compilation error after 28bb9f5c
2025-01-15 14:08:26 +03:00
Lawrence, Rendall
9fc94617ce
set mochi-2e2 as submodule
...
* update go version to 1.23
* remove sha256-simd dependency
* fix logger file path
2024-10-01 16:17:42 +03:00
Lawrence, Rendall
ee493b845c
change async torrent approval directory watch to periodic
2024-09-01 15:54:23 +03:00
Lawrence, Rendall
f010cabdb1
remove separate key for L/S count
2024-06-27 20:27:20 +03:00
Lawrence, Rendall
5fa3b0431c
add man for lmdb storage
...
* update dependencies
2024-06-25 17:45:30 +03:00
Lawrence, Rendall
e61045833a
fix lint warnings
2024-06-24 14:01:46 +03:00
Lawrence, Rendall
2f01a7cfc8
(untested) refactor code, add separate call to create KV-store
2024-05-20 18:28:40 +03:00
Lawrence, Rendall
a414192205
update jwkset, add ctx passthrough to KeyFunc
2024-04-01 16:25:14 +03:00
Lawrence, Rendall
1a243b94c5
(minor) unify log keys
2024-03-12 15:29:58 +03:00
Lawrence, Rendall
95b7f5530f
change math/rand to crypto/rand in non-test code
2024-03-05 11:01:18 +03:00
Lawrence, Rendall
772ac47e9c
update dependencies
...
* add script for release pack
* fix lint warnings
2024-03-05 10:32:30 +03:00
Lawrence, Rendall
e1e075da9d
update go version in actions
2024-01-01 20:24:04 +03:00
Lawrence, Rendall
5491b2a8fa
update JWT middleware
2024-01-01 20:08:19 +03:00
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
b956811e40
(untested) refactor code
2023-03-21 18:59:05 +03:00
Lawrence, Rendall
d1ad0eb687
Merge branch 'fasthttp' into ctxCancel
2023-03-19 20:36:38 +03:00
Lawrence, Rendall
63e0b93db4
remove randseed package
2023-03-19 20:13:44 +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
3e5a26dd50
fix lint warnings, update wf go version
2023-03-03 12:21:57 +03:00
Lawrence, Rendall
3b1c713c85
move PRNG to pkg, fix lint warnings
2022-11-30 23:20:05 +03:00
Lawrence, Rendall
d8d6f2cf4b
refactor code for context fallthrough
2022-11-01 17:02:24 +03:00
Lawrence, Rendall
d6de38bdbd
(wip) pass context from frontend request down to store
2022-10-31 18:57:57 +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
170639eb3e
(minor) remove double bearer trim
2022-08-26 11:58:22 +03:00
Lawrence, Rendall
d7777ca583
(minor) refactor jwt
2022-08-26 11:13:18 +03:00
Lawrence, Rendall
498779aeaf
(partially tested) add scrape JWT validation
...
* remove `xorshift` package, add internal function in `varinterval`
* change `bittorrent.QueryParams` getters to search case insensitive keys
2022-08-25 18:31:48 +03:00
Lawrence, Rendall
f5a58630db
(tested) add simple jwt middleware tests
2022-08-18 17:06:22 +03:00
Lawrence, Rendall
048ace4d42
(untested) reimplement jwt middleware
...
* change github.com/SermoDigital/jose to github.com/golang-jwt/jwt
* remove pkg/errors dependency
* update dependencies
TODO:
* add test
* flag if announce/scrape handle needed
2022-08-17 15:10:23 +03:00
Lawrence, Rendall
0fd0e06360
(tested) change DataStorage interface to accept byte array as value
2022-06-23 21:01:05 +03:00
Lawrence, Rendall
0564dfce4b
(untested) add pg storage tests
2022-06-18 20:52:57 +03:00
Lawrence, Rendall
79c92df0f8
(tested) add hooks check when ping http route called
2022-05-14 01:36:21 +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
6aab7e8340
(minor) change log level in HandleAnnounce
2022-04-27 01:01:07 +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
b365abd296
(untested) sanitize code
...
* remove peer argument from scrape swarm storage call
* replace Peer field with netip.Addr in ScrapeRequest
* add man for keydb storage
* update readme
2022-04-25 19:05:41 +03:00
Lawrence, Rendall
72a03db654
(tested) fix panic while IPv6Peers/IPv4Peers append
...
* change memory swarm key type to Peer (it became comparable)
2022-04-25 14:27:05 +03:00
Lawrence, Rendall
ef03291efe
(tested) rollback to separate v4 and v6 keys in redis/keydb
...
* sanitize log fields
* remove miniredis dependency
* store/collect information about hybrid (v2to1) hashes
2022-04-24 20:32:15 +03:00
Lawrence, Rendall
22f459315b
(wip) implement keydb store
...
* make redis store reusable for keydb
* replace redis HKeys calls in AnnouncePeers with HRandField
* change signature of storage.ScrapeSwarm
2022-04-24 02:23:18 +03:00
Lawrence, Rendall
4131c64e89
(wip) create new driver for KeyDB
...
* move GC and prometheus aware storage functions to separate interfaces
2022-04-23 01:28:06 +03:00
Lawrence, Rendall
01064fd21a
(tested) split storage to data and peer interfaces,
...
add option for persisting (or not) torrent approval data
2022-04-16 18:50:19 +03:00
Lawrence, Rendall
965df2a9c3
(untested) Merge commit 24ab4ae from https://github.com/jzelinskie/chihaya
2022-04-16 01:22:24 +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