View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0006183||unreal||documentation||public||2022-10-15 01:57||2022-12-07 17:10|
|Priority||normal||Severity||feature||Reproducibility||have not tried|
|Status||closed||Resolution||no change required|
|Summary||0006183: Reputation score : How to have more details on the doc?|
I am more and more interested in the reputation score to sort the users of my IRC server
Here are my questions:
- I saw that a user with an IP address remaining connected for a full day (24 hours) could make him increase his reputation score to +1 every 5 minutes, does this mean that this user in 24 hours will have a score of 288? Can he have more in one day or he will never have 800 in one day? Is 288 the maximum?
- If he is connected to the service, and if he remains connected to the IRC server for 24 hours, he will not have 288 but 576? That's right ?
- If for example I see a user with a score of 2000, can you imagine that he has a Fixed IP (whether in ipv4 or the first 4 args of an IPv6?
- Same question as above, if a user has a score of 2000, does this mean that he has always been using this IP address for at least 7 days? or more or less?
- A user with 10,000 points means what? Does this mean that he has spent a month minimum logging in almost every day, so a user with a score of 10,000 has an assured Fixed IP?
- Is it possible to determine if an IP is Fixed from a score? How much must the score be for the ip to be considered fixed? I had already noticed that an IP exceeding 7-15 days could be a fixed IP in most cases, so if a guy stays connected 24 hours a day on IRC for 7 days he will therefore have 2016 points That's right ? so from a score of 2000 we can consider that its IP is fixed?
|Tags||No tags attached.|
|3rd party modules|
I just saw a user with an IPv6 that stays fixed on the first 4 args a:a:a:a:* but everything else *:b:b:b:b changes every time.
This person has been coming every day since July, and their reputation score is only 120
Does this mean reputation score calculated on all ipv6 instead of ipvv6 in "/64" style? is there a way for the reputation score to do the calculation only on ipv6/64?
I also have a new question:
- Let's imagine if a user not connected to the service connects to the irc server and remains connected for 30 minutes, he will therefore receive 6 points in the score after 30 minutes, I understood that
- Now let's imagine that he is also connected with a clone at the same time during these 30 minutes. Will he always have 6 points in the reputation score, or 12?
I think you understood most of it, as also explained on https://www.unrealircd.org/docs/Reputation_score
So every 5 minutes it is +1, or if the user is identified to services it is +2. And there is a limit of 10000, after that it does not grow anymore.
All the other questions are kinda not guarantees, like "user using fixed IP" or "has the user always been using this IP". We cannot know... it could be another user. Especially since some ISP's map multiple customers to 1 single IPv4 IP nowadays sometimes like https://en.wikipedia.org/wiki/Carrier-grade_NAT. I'm afraid there are no guarantees here at all.
The reason reputation scores are used because they provide some "history" of that IP being used to connect to your IRC, and then there is the ASSUMPTION that the user is probably "more or less OK". This is then used at various places (as explained in the URL mentioned at the beginning), such as in cases of an attack (Connthrottle) or to give more room for traffic (less likely to be a flooder).
You also asked: - Now let's imagine that he is also connected with a clone at the same time during these 30 minutes. Will he always have 6 points in the reputation score, or 12?
No, if there are like 3 users that have not identified to services and they come from the same IP address, then every 5min the IP reputation score is only +1. If at least 1 of the users on that same IP has identified to services, then every 5min the IP reputation score will be +2.
See the source code at https://github.com/unrealircd/unrealircd/blob/dc55c3ec9f19e5ed284e5a786f646d0e6bb60ef9/src/modules/reputation.c#L835-L905 where you can see there is specific code in place to prevent the mistake that you mention :)
Hope that answered your questions.
|2022-10-15 01:57||armyn||New Issue|
|2022-10-16 11:11||armyn||Note Added: 0022656|
|2022-11-14 15:34||armyn||Note Added: 0022658|
|2022-12-07 17:08||syzop||Assigned To||=> syzop|
|2022-12-07 17:08||syzop||Status||new => closed|
|2022-12-07 17:08||syzop||Resolution||open => no change required|
|2022-12-07 17:08||syzop||Note Added: 0022681|
|2022-12-07 17:10||syzop||Note Edited: 0022681|