wip minor refactoring
This commit is contained in:
parent
3e0c977511
commit
82f5545d72
|
@ -401,6 +401,7 @@ function parseConfig(err, text) {
|
||||||
//console.log("no questioning:");
|
//console.log("no questioning:");
|
||||||
parseCli(state);
|
parseCli(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseCli(/*state*/) {
|
function parseCli(/*state*/) {
|
||||||
var special = [
|
var special = [
|
||||||
'false', 'none', 'off', 'disable'
|
'false', 'none', 'off', 'disable'
|
||||||
|
@ -472,7 +473,7 @@ function parseConfig(err, text) {
|
||||||
}
|
}
|
||||||
|
|
||||||
state._clientConfig = camelCopy(state._clientConfig || {}) || {};
|
state._clientConfig = camelCopy(state._clientConfig || {}) || {};
|
||||||
RC = require('../lib/remote-control-client.js').create(state);
|
RC = require('../lib/rc/index.js').create(state);
|
||||||
|
|
||||||
if (!Object.keys(state._clientConfig).length) {
|
if (!Object.keys(state._clientConfig).length) {
|
||||||
console.info('(' + state._ipc.comment + ": " + state._ipc.path + ')');
|
console.info('(' + state._ipc.comment + ": " + state._ipc.path + ')');
|
||||||
|
|
|
@ -24,7 +24,7 @@ var camelCopy = recase.camelCopy.bind(recase);
|
||||||
var snakeCopy = recase.snakeCopy.bind(recase);
|
var snakeCopy = recase.snakeCopy.bind(recase);
|
||||||
var TPLS = TOML.parse(fs.readFileSync(path.join(__dirname, "../lib/en-us.toml"), 'utf8'));
|
var TPLS = TOML.parse(fs.readFileSync(path.join(__dirname, "../lib/en-us.toml"), 'utf8'));
|
||||||
|
|
||||||
var TelebitRemote = require('../').TelebitRemote;
|
var TelebitRemote = require('../lib/daemon/index.js').TelebitRemote;
|
||||||
|
|
||||||
var state = { homedir: os.homedir(), servernames: {}, ports: {}, keepAlive: { state: false } };
|
var state = { homedir: os.homedir(), servernames: {}, ports: {}, keepAlive: { state: false } };
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ function TelebitRemote(state) {
|
||||||
EventEmitter.call(this);
|
EventEmitter.call(this);
|
||||||
var me = this;
|
var me = this;
|
||||||
var priv = {};
|
var priv = {};
|
||||||
|
var path = require('path');
|
||||||
|
|
||||||
//var defaultHttpTimeout = (2 * 60);
|
//var defaultHttpTimeout = (2 * 60);
|
||||||
//var activityTimeout = state.activityTimeout || (defaultHttpTimeout - 5) * 1000;
|
//var activityTimeout = state.activityTimeout || (defaultHttpTimeout - 5) * 1000;
|
||||||
|
@ -39,8 +40,9 @@ function TelebitRemote(state) {
|
||||||
priv.tokens = [];
|
priv.tokens = [];
|
||||||
var auth;
|
var auth;
|
||||||
if(!state.sortingHat) {
|
if(!state.sortingHat) {
|
||||||
state.sortingHat = "./sorting-hat.js";
|
state.sortingHat = path.join(__dirname, '../sorting-hat.js');
|
||||||
}
|
}
|
||||||
|
state._connectionHandler = require(state.sortingHat);
|
||||||
if (state.token) {
|
if (state.token) {
|
||||||
if ('undefined' === state.token) {
|
if ('undefined' === state.token) {
|
||||||
throw new Error("passed string 'undefined' as token");
|
throw new Error("passed string 'undefined' as token");
|
||||||
|
@ -349,7 +351,7 @@ function TelebitRemote(state) {
|
||||||
|
|
||||||
// TODO use readable streams instead
|
// TODO use readable streams instead
|
||||||
wstunneler._socket.pause();
|
wstunneler._socket.pause();
|
||||||
require(state.sortingHat).assign(state, tun, function (err, conn) {
|
state._connectionHandler.assign(state, tun, function (err, conn) {
|
||||||
if (err) {
|
if (err) {
|
||||||
err.message = err.message.replace(/:tun_id/, tun._id);
|
err.message = err.message.replace(/:tun_id/, tun._id);
|
||||||
packerHandlers._onConnectError(cid, tun, err);
|
packerHandlers._onConnectError(cid, tun, err);
|
||||||
|
@ -472,12 +474,12 @@ function TelebitRemote(state) {
|
||||||
priv.timeoutId = null;
|
priv.timeoutId = null;
|
||||||
var machine = Packer.create(packerHandlers);
|
var machine = Packer.create(packerHandlers);
|
||||||
|
|
||||||
console.info("[telebit:lib/remote.js] [connect] '" + (state.wss || state.relay) + "'");
|
console.info("[telebit:lib/daemon.js] [connect] '" + (state.wss || state.relay) + "'");
|
||||||
var tunnelUrl = (state.wss || state.relay).replace(/\/$/, '') + '/'; // + auth;
|
var tunnelUrl = (state.wss || state.relay).replace(/\/$/, '') + '/'; // + auth;
|
||||||
wstunneler = new WebSocket(tunnelUrl, { rejectUnauthorized: !state.insecure });
|
wstunneler = new WebSocket(tunnelUrl, { rejectUnauthorized: !state.insecure });
|
||||||
// XXXXXX
|
// XXXXXX
|
||||||
wstunneler.on('open', function () {
|
wstunneler.on('open', function () {
|
||||||
console.info("[telebit:lib/remote.js] [open] connected to '" + (state.wss || state.relay) + "'");
|
console.info("[telebit:lib/daemon.js] [open] connected to '" + (state.wss || state.relay) + "'");
|
||||||
me.emit('connect');
|
me.emit('connect');
|
||||||
priv.refreshTimeout();
|
priv.refreshTimeout();
|
||||||
priv.timeoutId = setTimeout(priv.checkTimeout, activityTimeout);
|
priv.timeoutId = setTimeout(priv.checkTimeout, activityTimeout);
|
|
@ -4,7 +4,7 @@ var os = require('os');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var http = require('http');
|
var http = require('http');
|
||||||
|
|
||||||
var common = require('./cli-common.js');
|
var common = require('../cli-common.js');
|
||||||
|
|
||||||
function packConfig(config) {
|
function packConfig(config) {
|
||||||
return Object.keys(config).map(function (key) {
|
return Object.keys(config).map(function (key) {
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"name": "telebit",
|
"name": "telebit",
|
||||||
"version": "0.20.4",
|
"version": "0.20.5-wip",
|
||||||
"description": "Break out of localhost. Connect to any device from anywhere over any tcp port or securely in a browser. A secure tunnel. A poor man's reverse VPN.",
|
"description": "Break out of localhost. Connect to any device from anywhere over any tcp port or securely in a browser. A secure tunnel. A poor man's reverse VPN.",
|
||||||
"main": "lib/remote.js",
|
"main": "lib/daemon/index.js",
|
||||||
"files": [
|
"files": [
|
||||||
"bin",
|
"bin",
|
||||||
"lib",
|
"lib",
|
||||||
|
|
Loading…
Reference in New Issue