move intentional user messages and client data to CLI/UI
This commit is contained in:
parent
d3a9d0422d
commit
96983d53ca
|
@ -97,6 +97,7 @@ function connectTunnel() {
|
||||||
if (!state.config.sortingHat) {
|
if (!state.config.sortingHat) {
|
||||||
state.config.sortingHat = path.resolve(__dirname, '..', 'lib/sorting-hat.js');
|
state.config.sortingHat = path.resolve(__dirname, '..', 'lib/sorting-hat.js');
|
||||||
}
|
}
|
||||||
|
// TODO sortingHat.print();
|
||||||
|
|
||||||
// TODO Check undefined vs false for greenlock config
|
// TODO Check undefined vs false for greenlock config
|
||||||
var tun = remote.connect({
|
var tun = remote.connect({
|
||||||
|
@ -107,6 +108,37 @@ function connectTunnel() {
|
||||||
, net: state.net
|
, net: state.net
|
||||||
, insecure: state.config.relay_ignore_invalid_certificates
|
, insecure: state.config.relay_ignore_invalid_certificates
|
||||||
, token: state.token
|
, token: state.token
|
||||||
|
, handlers: {
|
||||||
|
grant: function (grants) {
|
||||||
|
console.info("");
|
||||||
|
console.info("Connect to your device by any of the following means:");
|
||||||
|
console.info("");
|
||||||
|
grants.forEach(function (arr) {
|
||||||
|
if ('ssh+https' === arr[0]) {
|
||||||
|
console.info("SSH+HTTPS");
|
||||||
|
} else if ('ssh' === arr[0]) {
|
||||||
|
console.info("SSH");
|
||||||
|
} else if ('tcp' === arr[0]) {
|
||||||
|
console.info("TCP");
|
||||||
|
} else if ('https' === arr[0]) {
|
||||||
|
console.info("HTTPS");
|
||||||
|
}
|
||||||
|
console.log('\t' + arr[0] + '://' + arr[1] + (arr[2] ? (':' + arr[2]) : ''));
|
||||||
|
if ('ssh+https' === arr[0]) {
|
||||||
|
console.info("\tex: ssh -o ProxyCommand='openssl s_client -connect %h:%p -quiet' " + arr[1] + " -p 443\n");
|
||||||
|
} else if ('ssh' === arr[0]) {
|
||||||
|
console.info("\tex: ssh " + arr[1] + " -p " + arr[2] + "\n");
|
||||||
|
} else if ('tcp' === arr[0]) {
|
||||||
|
console.info("\tex: netcat " + arr[1] + " " + arr[2] + "\n");
|
||||||
|
} else if ('https' === arr[0]) {
|
||||||
|
console.info("\tex: curl https://" + arr[1] + "\n");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
, access_token: function (jwt) {
|
||||||
|
console.info("Received updated access_token:", jwt);
|
||||||
|
}
|
||||||
|
}
|
||||||
, greenlockConfig: {
|
, greenlockConfig: {
|
||||||
version: state.greenlock.version || 'draft-11'
|
version: state.greenlock.version || 'draft-11'
|
||||||
, server: state.greenlock.server || 'https://acme-v02.api.letsencrypt.org/directory'
|
, server: state.greenlock.server || 'https://acme-v02.api.letsencrypt.org/directory'
|
||||||
|
|
|
@ -217,32 +217,9 @@ function _connect(state) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayGrants(grants) {
|
function noHandler(cmd) {
|
||||||
// TODO sortingHat.print();
|
console.warn("[telebit] state.handlers['" + cmd[1] + "'] not set");
|
||||||
console.log("");
|
console.warn(cmd[2]);
|
||||||
console.log("Connect to your device by any of the following means:");
|
|
||||||
console.log("");
|
|
||||||
grants.forEach(function (arr) {
|
|
||||||
if ('ssh+https' === arr[0]) {
|
|
||||||
console.log("SSH+HTTPS");
|
|
||||||
} else if ('ssh' === arr[0]) {
|
|
||||||
console.log("SSH");
|
|
||||||
} else if ('tcp' === arr[0]) {
|
|
||||||
console.log("TCP");
|
|
||||||
} else if ('https' === arr[0]) {
|
|
||||||
console.log("HTTPS");
|
|
||||||
}
|
|
||||||
console.log('\t' + arr[0] + '://' + arr[1] + (arr[2] ? (':' + arr[2]) : ''));
|
|
||||||
if ('ssh+https' === arr[0]) {
|
|
||||||
console.log("\tex: ssh -o ProxyCommand='openssl s_client -connect %h:%p -quiet' " + arr[1] + " -p 443\n");
|
|
||||||
} else if ('ssh' === arr[0]) {
|
|
||||||
console.log("\tex: ssh " + arr[1] + " -p " + arr[2] + "\n");
|
|
||||||
} else if ('tcp' === arr[0]) {
|
|
||||||
console.log("\tex: netcat " + arr[1] + " " + arr[2] + "\n");
|
|
||||||
} else if ('https' === arr[0]) {
|
|
||||||
console.log("\tex: curl https://" + arr[1] + "\n");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var connCallback;
|
var connCallback;
|
||||||
|
@ -287,7 +264,19 @@ function _connect(state) {
|
||||||
err = null;
|
err = null;
|
||||||
} else if (cmd[1] === 'grant') {
|
} else if (cmd[1] === 'grant') {
|
||||||
authenticated = true;
|
authenticated = true;
|
||||||
displayGrants(cmd[2]);
|
if (state.handlers[cmd[1]]) {
|
||||||
|
state.handlers[cmd[1]](cmd[2]);
|
||||||
|
} else {
|
||||||
|
noHandler(cmd);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
} else if (cmd[1] === 'access_token') {
|
||||||
|
authenticated = true;
|
||||||
|
if (state.handlers[cmd[1]]) {
|
||||||
|
state.handlers[cmd[1]](cmd[2]);
|
||||||
|
} else {
|
||||||
|
noHandler(cmd);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
err = { message: 'unknown command "'+cmd[1]+'"', code: 'E_UNKNOWN_COMMAND' };
|
err = { message: 'unknown command "'+cmd[1]+'"', code: 'E_UNKNOWN_COMMAND' };
|
||||||
|
|
Loading…
Reference in New Issue