Spin-off of T279275#6971702
Note:
- We may directly implement it on AbuseFilter and then (after migration rules) retire Spamblacklist
- We may keep a combined (local and global) regex rule in cache, so that we do not need to query database every time on edit. the cached rule itself will be regenerated upon edits of local or global blacklists
- Some domain-type rules may be checked using methods similar to Special:LinkSearch, but the caveat is it will blocks only www.badsite.com while allows www.goodsite.com/?url=www.badsite.com
- $wgBlacklistSettings would be implemented in another way: we introduce a maintanence script to download rules from sources and populate the local database (tagged as external sources and replacing existing external sources entries), and this may be run as a cron job. 3rd-party wikis will not get real-time update of blacklist rules (but can keep delays as little as possible), but the impact is minimal
- See also T241440: Allow private blocking of harassment via regexes and URLs on-wiki