You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
2.3 KiB

const wetty = require('./package.js');
8 years ago
const fs = require('fs');
const path = require('path');
const optimist = require('optimist');
const opts = optimist
8 years ago
.options({
sslkey: {
demand: false,
description: 'path to SSL key',
},
sslcert: {
demand: false,
description: 'path to SSL certificate',
},
sshhost: {
demand: false,
description: 'ssh server host',
},
sshport: {
demand: false,
description: 'ssh server port',
},
sshuser: {
demand: false,
description: 'ssh user',
},
sshauth: {
demand: false,
description: 'defaults to "password", you can use "publickey,password" instead',
},
port: {
demand: false,
alias: 'p',
description: 'wetty listen port',
},
help: {
demand : false,
alias : 'h',
description: 'Print help message',
},
8 years ago
})
.boolean('allow_discovery').argv;
11 years ago
<<<<<<< HEAD
8 years ago
let runhttps = process.env.HTTPS || false;
let globalsshuser = process.env.SSHUSER || '';
let sshhost = process.env.SSHHOST || 'localhost';
let sshauth = process.env.SSHAUTH || 'password,keyboard-interactive';
let sshport = process.env.SSHPOST || 22;
let port = process.env.PORT || 3000;
if (opts.sshport) {
8 years ago
sshport = opts.sshport;
}
if (opts.sshhost) {
8 years ago
sshhost = opts.sshhost;
}
if (opts.sshauth) {
8 years ago
sshauth = opts.sshauth;
}
if (opts.sshuser) {
8 years ago
globalsshuser = opts.sshuser;
=======
if (opts.help) {
optimist.showHelp();
process.exit(0);
>>>>>>> Modularize the wetty service and add events (#18)
8 years ago
}
const globalsshuser = opts.sshuser || process.env.SSHUSER || '';
const sshhost = opts.sshhost || process.env.SSHHOST || 'localhost';
const sshauth = opts.sshauth || process.env.SSHAUTH || 'password';
const sshport = opts.sshport || process.env.SSHPOST || 22;
const port = opts.port || process.env.PORT || 3000;
11 years ago
if (opts.sslkey && opts.sslcert) {
8 years ago
opts['ssl'] = {};
opts.ssl['key'] = fs.readFileSync(path.resolve(opts.sslkey));
opts.ssl['cert'] = fs.readFileSync(path.resolve(opts.sslcert));
11 years ago
}
8 years ago
process.on('uncaughtException', e => {
console.error(`Error: ${e}`);
11 years ago
});
const e = wetty.serve(port, globalsshuser, sshhost, sshport, sshauth, opts.ssl);
11 years ago
e.on('exit', code => {
console.log(`exit with code: ${code}`);
});
8 years ago
e.on('disconnect', () => {
console.log('disconnect');
8 years ago
});