52 lines
1.1 KiB
JavaScript
52 lines
1.1 KiB
JavaScript
var http = require('http');
|
|
|
|
var makeIpBans = function(cidrs, privkey, cb) {
|
|
cb({
|
|
message: cidrs.join("\noverchan-inet-ban "),
|
|
name: "mod#"+privkey,
|
|
frontend: "memegod.censor",
|
|
newsgroup: "ctl"
|
|
})
|
|
}
|
|
|
|
var makeDeletePosts = function(msgids, privkey, cb) {
|
|
cb({
|
|
message: msgids.join("\ndelete "),
|
|
name: "mod#"+privkey,
|
|
frontend: "memegod.censor",
|
|
newsgroup: "ctl",
|
|
})
|
|
}
|
|
|
|
var moderate = function(req) {
|
|
|
|
j = JSON.stringify(req);
|
|
|
|
var r = http.request({
|
|
port: 8800,
|
|
method: "POST",
|
|
path: "/api/post",
|
|
auth: "user:pass",
|
|
headers: {
|
|
"Content-Type": "text/json",
|
|
"Content-Length": j.length
|
|
}
|
|
}, function (res) {
|
|
res.on('data', function (chunk) {
|
|
var r = chunk.toString();
|
|
var rj = JSON.parse(r);
|
|
console.log(rj.id);
|
|
});
|
|
});
|
|
|
|
r.write(j);
|
|
r.end();
|
|
}
|
|
|
|
var privateKey = "longhexgoestripcodegoeshere";
|
|
|
|
// ban 192.168.0.1/16 and sign with private key
|
|
makeIpBans(["192.168.0.1/16"], privateKey, moderate);
|
|
// delete <msg1@place.tld> and <msg2@otherplace.tld> and sign with private key
|
|
makeDeletPosts(["<msg1@place.tld>", "<msg2@otherplace.tld>"], privateKey, moderate);
|