Skip to content

Commit

Permalink
edited tests; some functions are more error prone now when not given …
Browse files Browse the repository at this point in the history
…the right parameters
  • Loading branch information
absolute-quantum committed Dec 23, 2015
1 parent cfabbfc commit da3c522
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 15 deletions.
9 changes: 8 additions & 1 deletion antispam.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,13 @@ exports.addSpam = function(socket){
}

function clearHeart(socket){
if(not(socket)) throw new Error("socket variable is not defined");
if(!heartbeats[socket.id]) return
clearInterval(heartbeats[socket.id].interval)
}

function addHeart(socket){
if(not(socket)) throw new Error("socket variable is not defined");
if(heartbeats[socket.id]) return
clearHeart(socket)
heartbeats[socket.id] = {
Expand All @@ -77,6 +79,7 @@ function addHeart(socket){
}

function checkHeart(socket){
if(not(socket)) throw new Error("socket variable is not defined");
if(!heartbeats[socket.id]) return(clearHeart(socket))
var startedSince = Math.round(heartbeats[socket.id].interval._idleStart/1000)
if(startedSince>=options.heartBeatStale) clearHeart(socket)
Expand All @@ -89,6 +92,8 @@ function checkHeart(socket){
}

function authenticate(socket, cb){
if(not(cb)) throw new Error("No callback defined")
if(not(socket)) cb("Socket variable is not defined",null);
exists(socket, function(err,data){
if(err) return(cb(err,null))
if(data.banned){
Expand Down Expand Up @@ -121,7 +126,8 @@ function exists(socket, cb){
}

exports.ban = function(data,min){
if(not(min)) min = options.banTime;
if(not(data)) throw new Error("No options defined")
if(not(min)) min = options.banTime
var ip = false
if(typeof(users[data])!="undefined") ip = data
if(typeof(users[data.ip])!="undefined") ip = data.ip
Expand All @@ -130,6 +136,7 @@ exports.ban = function(data,min){
}

exports.unBan = function(data){
if(not(data)) throw new Error("No options defined")
var ip = false
if(typeof(users[data])!="undefined") ip = data
if(typeof(users[data.ip])!="undefined") ip = data.ip
Expand Down
17 changes: 13 additions & 4 deletions localtest.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ var file = new static.Server('./public');
// Actually needed for antispam
var antiSpam = require('./antispam');
antiSpam.init({
banTime: 30, // Ban time in minutes
kickThreshold: 2, // User gets kicked after this many spam score
kickTimesBeforeBan: 1, // User gets banned after this many kicks
banTime: 1, // Ban time in minutes
kickThreshold: 7, // User gets kicked after this many spam score
kickTimesBeforeBan: 3, // User gets banned after this many kicks
banning: true, // Uses temp IP banning after kickTimesBeforeBan
heartBeatStale: 40, // Removes a heartbeat after this many seconds
heartBeatCheck: 4, // Checks a heartbeat per this many seconds
Expand All @@ -28,7 +28,16 @@ http.createServer(function (req, res) {
// Everyone has this line already when using socket-anti-spam
io.sockets.on('connection', function (socket) {
console.log(antiSpam.getBans())

socket.join("kappa")
io.sockets.in("kappa").emit('roomer_msg', {kappa:"kappa"});
io.sockets.in("kappa").emit('roomer_msg', {kappa:"kappa"});
io.sockets.in("kappa").emit('roomer_msg', {kappa:"kappa"});
io.sockets.in("kappa").emit('roomer_msg', {kappa:"kappa"});
io.sockets.in("kappa").emit('roomer_msg', {kappa:"kappa"});
io.sockets.in("kappa").emit('roomer_msg', {kappa:"kappa"});
io.sockets.in("kappa").emit('roomer_msg', {kappa:"kappa"});
io.sockets.in("kappa").emit('roomer_msg', {kappa:"kappa"});
io.sockets.in("kappa").emit('roomer_msg', {kappa:"kappa"});
// Extra socket function for testing purposes so we can spam something :3
socket.on("spamming", function() {
socket.emit("spamscore",null);
Expand Down
File renamed without changes.
15 changes: 5 additions & 10 deletions public/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<script src="http://127.0.0.1:8080/socket.io/socket.io.js"></script>
<button onClick='repeat()'>spam</button>
<div id="status"></div>
<div id="spamscore"></div>
<div id="doing"></div>
<script>
var less = 1;
Expand All @@ -9,24 +9,19 @@
var spamscorediv = document.getElementById('spamscore');
var socket = io.connect('http://127.0.0.1:8080');
disconnected = false;


socket.on("connect", function(){
doingdiv.innerHTML = 'STATUS: Connected<br/>';
repeat();
disconnected = false;
});
socket.on("disconnect", function(){
doingdiv.innerHTML = 'STATUS: Disconnected/Kicked!<br/>';
doingdiv.innerHTML = 'STATUS: Disconnected<br/>';
disconnected = true;
});
socket.on("spamscore", function(score){
spamscorediv.innerHTML = 'Spamscore: '+score+'<br/>';
socket = io.connect('http://127.0.0.1:8080', { 'forceNew': true });
});
function repeat(){
if(disconnected) return;
socket.emit('spamming', { some: 'data' });
doingdiv.innerHTML = doingdiv.innerHTML + 'Emitting...';
if(less>100) return;
less++;
setTimeout(function(){ repeat(); },4000/less);
}
</script>
File renamed without changes.

0 comments on commit da3c522

Please sign in to comment.