sclient.js/bin/sclient.js

58 lignes
1.2 KiB
JavaScript
Fichiers exécutables

'use strict';
var pkg = require('../package.json');
var remote = (process.argv[2]||'').split(':');
var local = (process.argv[3]||'').split(':');
var localAddress;
var localPort;
var rejectUnauthorized;
function usage() {
console.info("");
console.info("sclient.js v" + pkg.version);
console.info("Usage: sclient <servername:port> <port> [-k | --insecure]");
console.info(" ex: sclient whatever.com 3000");
console.info(" (whatever.com:443 localhost:3000)");
console.info(" ex: sclient whatever.com:4080 0.0.0.0:3000");
console.info("");
process.exit(0);
}
if (!remote[0]) {
usage();
return;
}
if (!remote[1]) {
remote[1] = 443;
}
if (!local[0]) {
usage();
return;
}
if (local[0] === String(parseInt(local[0], 10))) {
localPort = parseInt(local[0], 10);
localAddress = 'localhost';
} else {
localAddress = local[0];
localPort = parseInt(local[1], 10);
}
if (!localPort) {
usage();
return;
}
if (/^-k|--insecure$/.test(process.argv[4])) {
rejectUnauthorized = false;
}
var opts = {
remoteAddr: remote[0]
, remotePort: remote[1]
, localAddress: localAddress
, localPort: localPort
, rejectUnauthorized: rejectUnauthorized
};
require('../')(opts);