-
Notifications
You must be signed in to change notification settings - Fork 4
/
forward.js
31 lines (26 loc) · 868 Bytes
/
forward.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var Auth = require("../index")
, net = require("net")
, through = require("through")
// forward
var server = net.createServer(function (stream) {
var secret = through(function (data) {
console.log("[SERVER]", data.toString())
this.emit("data", "secret")
})
// Auth(secret, login)
, auth = Auth(secret, function (user, pass) {
if (user === "steve" && pass === "jones") {
return true
}
return "ACCESS DENIED"
})
stream.pipe(auth).pipe(stream)
}).listen(process.argv[2] || 8080, function () {
var stream = Auth("steve", "jones", net.connect(process.argv[2] || 8080))
stream.on("data", function (data) {
console.log("[CLIENT]", data.toString())
stream.end()
server.close()
})
stream.write("anything")
})