Commit Graph

40 Commits

Author SHA1 Message Date
Lawrence, Rendall
61f859e3f6 (partially tested) simplify client approval m/w
* sanitize code
2023-03-23 00:34:10 +03:00
Lawrence, Rendall
88f1ef7ca5 suppress context canceled error 2023-03-19 19:52:52 +03:00
Lawrence, Rendall
d6de38bdbd (wip) pass context from frontend request down to store 2022-10-31 18:57:57 +03:00
Lawrence, Rendall
dff0ba6da8 (wip) rework configuration to support multiple frontends 2022-10-21 17:53:03 +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
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
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
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
57d9c8e78e clear store error in responseHook if ErrResourceDoesNotExist appear 2022-04-14 01:52:52 +03:00
Lawrence, Rendall
781fa9440f (done) replace redigo with go-redis
* replace redis keys with RawString encoded values (delete SerializedPeer)
* merge peers got from pre-hools with store data
2022-04-14 01:13:18 +03:00
Lawrence, Rendall
554ae6fcd6 Reformat comments 2022-04-12 18:32:17 +03:00
Lawrence, Rendall
c1956d68f6 Remove YAML/MD lint configs, reformat stdlib imports 2022-04-12 18:10:51 +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
Širhoe Biazhkovič
566d99fcd7 Gegin work on shared store for handlers 2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
8580bb37e0 WIP Add support for custom torrents' approval storages
* migrate torrentapproval to list storage
* add initial support for torrent file storage (watch directory with fsnotify)
* replace frontend/http/bencode package with github.com/zeebo/bencode module
* sanitize code (fix warnings)

TODO:
* parse torrent files to get hashes,
* watch directory event types

DON'T use for now
2021-09-04 01:49:01 +03:00
Leo Balduf
756a0f6316 middleware: document stop.Stopper behaviour for Hooks 2017-12-02 22:46:09 +01:00
Jimmy Zelinskie
134744a484 middleware: remove sanitization mw 2017-10-08 18:02:34 -04:00
Jimmy Zelinskie
3f29aa358b middleware: sanitize max scrape infohashes
Fixes #268.
2017-02-02 02:32:35 -05:00
Leo Balduf
102b032c43 udp: fix ordering of scrapes 2017-01-30 13:07:14 +01:00
Leo Balduf
3ae3843944 bittorrent: add AddressField to ScrapeRequest 2017-01-20 20:34:39 +01:00
Leo Balduf
3c098c0703 middleware: add sanitization hook 2017-01-20 20:29:59 +01:00
Jimmy Zelinskie
d86b8e14de middleware: fix scrape data in announces
This change adjusts it such that only empty Swarms return the request
Peer. This also increments the Scrape data properly if a peer is added.

Fixes #241.
2016-10-01 22:56:07 -04:00
Leo Balduf
45a5e632ae responseHook: always include the announcing peer
Fixes #231
Fixes #232
2016-09-29 18:51:05 -04:00
Leo Balduf
3ec6f10e93 hooks: add response hook
Fixes #216
2016-09-08 16:02:01 -04:00
Leo Balduf
565ac21834 hooks: add swarm interaction 2016-09-08 15:16:25 -04:00
Leo Balduf
1ff41d7882 middleware: make hooks return a context 2016-09-05 18:26:04 -04:00
Jimmy Zelinskie
fc13031d96 move to std context package 2016-08-16 22:34:05 -04:00
Jimmy Zelinskie
cc6614c474 rename back to chihaya 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie
040a3294b1 middleware: add clientwhitelist 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie
c9fe95b103 s/backend/middleware 2016-08-16 22:17:10 -04:00