mirror of
https://git.coolaj86.com/coolaj86/sclient.js
synced 2025-02-22 15:58:04 +00:00
58 lines
1.2 KiB
JavaScript
Executable File
58 lines
1.2 KiB
JavaScript
Executable File
'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);
|