30 lines
793 B
JavaScript
30 lines
793 B
JavaScript
var dnode = require('dnode');
|
|
var fs = require('fs');
|
|
var net = require('net');
|
|
|
|
var secretQuotes = require('./quotes.json');
|
|
function randomQuote (cb) {
|
|
var ix = Math.floor(Math.random() * secretQuotes.length);
|
|
cb(secretQuotes[ix]);
|
|
}
|
|
|
|
var server = net.createServer(function (stream) {
|
|
var d = dnode({ auth : auth });
|
|
d.pipe(stream).pipe(d);
|
|
|
|
function auth (user, pass, cb) {
|
|
if (typeof cb !== 'function') return;
|
|
|
|
if (user === 'moo' && pass === 'hax') {
|
|
console.log('signed in: ' + user);
|
|
d.on('end', function () {
|
|
console.log('disconnected: ' + user);
|
|
});
|
|
|
|
cb(null, { quote : randomQuote });
|
|
}
|
|
else cb('ACCESS DENIED')
|
|
}
|
|
});
|
|
server.listen(7007);
|