Is it possible to track seeder/leecher ratio and or download/upload rates #819
Replies: 7 comments
-
Hi @razorblade23 I guess you mean aggregate data for the peer. The tracker does not track that info for the time being. It only has the peer info for one torrent: {
"info_hash": "ec83837e5e828774d700dfa31636c40e89e079c3",
"seeders": 2,
"completed": 2,
"leechers": 0,
"peers": [
{
"peer_id": {
"id": "0x2d6c74304438302dccc64dae7b46d41b64773e21",
"client": "libTorrent (Rakshasa) / rTorrent"
},
"peer_addr": "XX.XX.XX.XX:63389",
"updated": 1712080929009,
"updated_milliseconds_ago": 1712080929009,
"uploaded": 84881060,
"downloaded": 84881060,
"left": 0,
"event": "None"
},
{
"peer_id": {
"id": "0x2d7142343339302d386162676d296e55216c4f68",
"client": "qBittorrent"
},
"peer_addr": "YY.YY.YY.YY:64051",
"updated": 1712081402011,
"updated_milliseconds_ago": 1712081402011,
"uploaded": 84881060,
"downloaded": 0,
"left": 0,
"event": "None"
}
]
} You can open a feature request here. FYI, we have been discussing the need for a proper logging system (or event sender/listener) to collect any metrics you want. But I think it's a feature we have to design carefully because users might have a lot of different needs. However what you are asking for it's a very common and useful feature. cc @torrust/maintainers |
Beta Was this translation helpful? Give feedback.
-
Hy @josecelano Metrics for specific peers is more then welcome addition Most off the private torrent sites use these metrics to give bonus points to users who has high seed ratio or to kick or limit the hit and runs (the ones that download but do not seed) Its a valuable to have such information. |
Beta Was this translation helpful? Give feedback.
-
would it be a good idea to build stuff like this like a injectable plugin? Then you keep the base like it is. plugin bonus points
plugin HNR
plugin Leech bonus
plugin free leech
etc... |
Beta Was this translation helpful? Give feedback.
-
Hi @ERR1R we like the idea of making the tracker extensible via plugins, but I have a lot of doubts about this approach. For example, would the plugins be injected and compile-time or runtime? Alternatively, we could keep the tracker API simple. For example, we could have good events support. The tracker could trigger an event for every possible action and we could keep them in an event store. Indexes or other tracker's clients could pull events from the tracker API (or via other ways like subscriptions, ...). The clients would be responsible for building their data. The main event could be "peer announced". We could even split the event into more concrete events like: "peer started", "peer complete", ... One solution in the middle could be just adding basic aggregate data for peers and let clients define their own rules (points). Basic statistics for peersTODO: define what good statistics per peer are. Pros:
Cons:
PluginsPros:
Cons:
Plugins at compile-timePros:
Cons:
Plugins at runtimePros:
Cons:
Links crates: Link examples:
EventsPros:
Cons:
cc @torrust/maintainers |
Beta Was this translation helpful? Give feedback.
-
I think that it would be best to implement a "middle tier" solution you proposed That way you can keep API simple, but also allow clients to agregate data and define HNR rules by themself Extension by plugins is also a great idea, but the implementation could be troublesome Plugins could be loaded at runtime but limited to a single language (at least for start) like maybe Python for simplicity |
Beta Was this translation helpful? Give feedback.
-
@razorblade23 I think it could be implemented progressively:
|
Beta Was this translation helpful? Give feedback.
-
Good plan, i like that I would love to help out, but i am just learning Rust 😕 |
Beta Was this translation helpful? Give feedback.
-
In private mode /private_listed mode
Is it possible to track how much is the seeder/leecher uploaded data vs downloaded data or ratio?
I havent found this option in current version?
Is this been implemented?
Beta Was this translation helpful? Give feedback.
All reactions