What we fixed in 1.0.46:
You can safely upgrade to 1.0.46. Once updated, run the rebuilder via Admin CP (Tools > Rebuild caches) or via CLI:
- Ultra-Fast Rebuilder: We introduced in-memory CIDR matching and smart crawler User-Agent pre-filtering. The tool now instantly recognizes that 99.9% of those 320k (or 1.29M!) records aren't search engines and skips them in microseconds without making any network DNS calls.
- Qwantbot Integration: Official Qwant IP subnets (
194.187.171.0/24and91.242.162.0/24) and dual-stack FCrDNS verification are now fully supported. Genuine Qwant crawlers will never be labeled as "Fake Bot" again.- On-the-fly Auto-Healing: Any verified bot that visits your forum will have its historical blacklist or rate-limit violations automatically cleared from the database on the fly.
It will now breeze through those hundreds of thousands of records in just a couple of minutes instead of two days. Enjoy!Code:php cmd.php xf-rebuild:xentr-ipt-remediate-bots -vv![]()
Erstellt neu... Rebuild & Remediate Verified Bots (4563 processed, 10 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (4575 processed, 10 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (4586 processed, 10 remediated)
does not seem to be true for my installation. Possibly the limitation is in the shared hosting having limited resources rather than in the code?It will now breeze through those hundreds of thousands of records in just a couple of minutes instead of two days. Enjoy!![]()
The process has sped up quite a bit in the meantime. Currently, after four hours, it looks like that:Sadly not really as it seems. After the upgrade to 1.0.46 I restarted the remediate process and after exactly one hour this was the state of affairs:
So judging from the numbers of the verbose output even 25% slower than before. It may however well be that skipped entries (as to the description above) are not counted in the output and that this way the number is not comparable. The fact that there are a couple of remediated entries now after just one hour whereas there was just one after 10 hours with the last version does potentially hint in that direction.Code:Erstellt neu... Rebuild & Remediate Verified Bots (4563 processed, 10 remediated) Erstellt neu... Rebuild & Remediate Verified Bots (4575 processed, 10 remediated) Erstellt neu... Rebuild & Remediate Verified Bots (4586 processed, 10 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (315640 processed, 1128 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (315641 processed, 1128 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (315665 processed, 1128 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (287223 processed, 787 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (287509 processed, 897 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (287793 processed, 973 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (288285 processed, 986 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (289227 processed, 993 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (290227 processed, 999 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (291227 processed, 1009 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (292227 processed, 1016 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (293227 processed, 1027 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (294227 processed, 1042 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (295188 processed, 1054 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (296145 processed, 1059 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (297145 processed, 1062 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (298145 processed, 1066 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (299145 processed, 1073 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (300145 processed, 1073 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (301145 processed, 1074 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (302145 processed, 1075 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (303145 processed, 1075 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (304145 processed, 1076 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (305145 processed, 1080 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (306145 processed, 1090 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (307145 processed, 1097 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (308145 processed, 1102 remediated)
Erstellt neu... Rebuild & Remediate Verified Bots (309145 processed, 1105 remediated)


I have also been curious about the order things are processed.What beats what? Should a registered member beat the fact they are on a vpn, so therefore the vpn doesnt matter? Or does that fact that the user is on a VPN override this?

What happens if a member logs out, their IP address changes and they come back to the forum and happen to be using a VPN or are coming from a blocked country? In this scenario won't they not be recognized as a valid member and be blocked before they can even login?2. How to prevent registered members from ever being blocked by VPN checks:
Go to Admin CP > Options > [XENTR] IP Threat Monitor > Exemptions & Whitelist:
- Enable "Protect Registered Members" (Recommended).
- When enabled, all logged-in forum members are automatically exempt from VPN checks and rate-limit blocks. Only guests and unknown crawlers will be strictly filtered.
isExemptUser) <--- RIGHT HERE!\XF::visitor()->user_id). If a user explicitly clicks "Log out", XenForo destroys that session and treats them as an anonymous Guest./login/
user_id is restored and Protect Registered Members immediately shields them from all blocks! So, using @Elisabeth_K 's idea of a diagram (I like diagrams, so much easier to understand!), Something like this??Evaluation Order (Who beats who?):
- Whitelisted URL Paths (e.g. captcha, license verification, or custom paths)
- Verified Search Engine Bots (Google, Bing, Applebot, etc.)
- Trusted IPs (Your static IP whitelist)
- Exempt Users / Registered Members (
isExemptUser) <--- RIGHT HERE!- Blacklist Check
- Country, ASN & ProxyCheck VPN Detection
- Rate Limiting & Threat Scoring

Already set, and active when my example above was taken - hence why it identifies the person, however also flags that they are on a vpn (and banned them because of this)Enable "Protect Registered Members" (Recommended).
I'm tempted to apply this, however something that general makes me twitchAdd this to Whitelisted Request Paths:
Code:/login/
Same here on first visit. I have no problems blocking all VPNs.Currently i block all vpn's
/community/attachments/1791925560195-webp.3168...user_id = 0). Because the system saw that specific hit as an unauthenticated guest, ProxyCheck ran, returned a false-positive VPN flag, and permanently blacklisted the IP. Because Bandi previously used that IP while logged in, the dashboard tied the blacklisted record to his username./login/ vs. Registration Dilemma:/login/ only matches routes containing /login/ — it does not whitelist /register/. However, as you rightly pointed out, allowing VPNs during onboarding makes it easier for bad actors to slip through.active, blocked, blacklisted, or trusted. When clicking the "Active" filter, it strictly filters by status = 'active', which is why Trusted IPs only appear under "All" or "Trusted".we are btw. hitting a conceptional problem here: True residential and mobile proxies do typically only have a limited lifespan until their IP changes. If you keep the blacklist that you partly build up through classification via the proxycheck API forever (or even just for a couple of days) this will inevitably lead to overblocking: Blocking IPs that once were used by a proxy but have since been swapped to a genuine user. The solution would be to limit the lifespan of the blacklist to very short. But: This would again rise the number of API requests dramatically.Residential ISPs like Virgin Media dynamically reassign IP pools. If a previous subscriber on that IP ran a VPN node, P2P client, or Apple Relay, ProxyCheck.io might still have that IP flagged as a proxy in their database.



Add this to Whitelisted Request Paths:
Code:/login/

Btw: An alternative (and probably simpler) solution that would also save API-queries would be to use the existing "block" option of IP Threat Manager for IPs with the flag "residential": If one would have a configurable time window for how log such an IP should be blocked before it is released and prixycheck is asked again when it pops up one could configure it to i.e. 24h or 48h. Would be less precise but the colateral damage would be way more limited than currently.So IP Threat Monitor could make use of that and re-adjust the internal classification of residential IPs (and only those) accordingly while still following ASN and country blocks. This will/would increase API requests to a degree, but maybe it is worth it.
This update focuses on delivering smarter protection for residential visitors and refining log filtering within the Admin Control Panel.
Smarter Handling for Home and Mobile Internet Users
Dynamic IP addresses used by home broadband and mobile network providers rotate frequently. Occasionally, an ordinary household connection may temporarily host an unauthorized proxy and get flagged by security lookup services. However, these services also clear such dynamic addresses very rapidly...

Does this refer to the setting in the rate-limiter configuration?When enabled (Recommended):
• Residential and mobile broadband IPs detected as proxies receive a Temporary Block (expiring automatically after your configured ban duration, e.g. 15–60 min) instead of being permanently stamped as Blacklisted in the database.

We use essential cookies to make this site work, and optional cookies to enhance your experience.