]> git.openstreetmap.org Git - rails.git/blob - script/update-spam-blocks
Merge pull request #6394 from openstreetmap/dependabot/github_actions/ruby/setup...
[rails.git] / script / update-spam-blocks
1 #!/usr/bin/env ruby
2 # frozen_string_literal: true
3
4 require_relative File.join("..", "config", "environment")
5 require "generator"
6
7 addresses = User.count(
8   :conditions => {
9     :status => %w[suspended deleted],
10     :creation_time => (Time.now.utc - 28.days)..Time.now.utc
11   },
12   :group => :creation_address
13 )
14
15 addresses.each do |address, count|
16   next unless count > 1
17   next if Acl.exists?(:address => address)
18
19   Acl.create({
20                :address => address,
21                :k => "no_account_creation",
22                :v => "auto_spam_block"
23              }, { :without_protection => true })
24
25   puts "Blocked #{address}"
26 end
27
28 acls = Acl.find(:all, :conditions => {
29                   :k => "no_account_creation",
30                   :v => "auto_spam_block"
31                 })
32
33 acls.each do |acl|
34   next if addresses[acl.address]
35
36   acl.delete
37
38   puts "Unblocked #{acl.address}"
39 end
40
41 exit 0