tor-router/bin/tor-router.js
Zachary Boyd 9449a59e4d make over
2015-12-29 00:12:46 -05:00

37 lines
968 B
JavaScript

'use strict';
const TorPool = require('../lib/TorPool.js');
const DockerPool = require('../lib/DockerPool');
const SOCKS = require('../lib/SOCKSServer.js');
const DNS = require('../lib/DNSServer.js');
const url = require('url');
const program = {
docker: process.env.DOCKER || 'tcp://127.0.0.1:2375',
tors: parseInt(process.env.TORS) || 1,
port: parseInt(process.env.PORT) || 9050,
dns: parseInt(process.env.DNS_PORT) || 9053
};
var docker = new DockerPool({ host: (url.parse(program.docker).hostname), port: (url.parse(program.docker).port) });
var pool = new TorPool(program.tors, docker);
process.stdin.resume();
process.on('uncaughtException', function (err) {
console.error(err.stack);
});
pool.start(function () {
if (program.port) {
let socks = new SOCKS(pool);
socks.server.listen(program.port, function (err) {
if (err)
console.error(err);
});
}
if (program.dns) {
let dns = new DNS(pool);
dns.server.serve(program.dns);
}
});