Page MenuHomePhabricator
Authored By
matmarex
Sep 3 2020, 12:26 AM
Size
1 KB
Referenced Files
None
Subscribers
None

T260393.rb

require 'rest-client'
require 'json'
require 'pp'
sites = %w[
en.wikipedia.org
www.mediawiki.org
ar.wikipedia.org
ca.wikipedia.org
ckb.wikipedia.org
cs.wikipedia.org
fr.wikipedia.org
hu.wikipedia.org
ka.wikipedia.org
ko.wikipedia.org
nl.wikipedia.org
sr.wikipedia.org
sv.wikipedia.org
zh.wikipedia.org
]
sites.each do |site|
puts "Checking #{site}..."
api = "https://#{site}/w/api.php?"
total = 0
suspicious = 0
recentchanges = JSON.parse RestClient.get "#{api}action=query&format=json&list=recentchanges&rctag=discussiontools-reply&rclimit=max&rcend=2020-09-02T18:00:00Z"
recentchanges['query']['recentchanges'].each do |rc|
rev = rc['revid']
compare = JSON.parse RestClient.get "#{api}action=compare&format=json&fromrev=#{rev}&torelative=prev"
diff = compare['compare']['*'] rescue next
if diff =~ /diff-deletedline/
suspicious += 1
puts "* #{rc['timestamp']} #{api.sub 'api.php', 'index.php'}oldid=#{rev}&diff=prev"
end
total += 1
end
puts "* #{site}: #{suspicious}/#{total} look suspicious"
end

File Metadata

Mime Type
text/x-ruby
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
8528561
Default Alt Text
T260393.rb (1 KB)

Event Timeline