moving files around to get rid of unneeded directories

This commit is contained in:
billchurch 2017-12-12 12:41:54 -05:00
parent 07d90cd2e3
commit 2b12825a0c
7 changed files with 49 additions and 3 deletions

View file

@ -1,4 +1,9 @@
# Change Log # Change Log
## [0.1.4] 2017-11-09
### Changed
- Moved socket and util out of folders into .js in root.
## [0.1.3] 2017-09-28 ## [0.1.3] 2017-09-28
### Changed ### Changed
- Upgrade to debug@3.1 to eliminate ReDoS in %o formatter - Upgrade to debug@3.1 to eliminate ReDoS in %o formatter

1
app.js
View file

@ -47,6 +47,7 @@ app.get('/ssh/host/:host?', function (req, res, next) {
term: (/^(([a-z]|[A-Z]|[0-9]|[!^(){}\-_~])+)?\w$/.test(req.query.sshterm) && term: (/^(([a-z]|[A-Z]|[0-9]|[!^(){}\-_~])+)?\w$/.test(req.query.sshterm) &&
req.query.sshterm) || config.ssh.term, req.query.sshterm) || config.ssh.term,
allowreplay: validator.isBoolean(req.headers.allowreplay + '') || false, allowreplay: validator.isBoolean(req.headers.allowreplay + '') || false,
sessionID: validator.isAlphanumeric(req.headers.sessionID + '') || false,
serverlog: { serverlog: {
client: config.serverlog.client || false, client: config.serverlog.client || false,
server: config.serverlog.server || false server: config.serverlog.server || false

8
hostkeys.json Normal file
View file

@ -0,0 +1,8 @@
[
{
"localhost": "ff1d6fd1e63bf07ed1c801692f9e5a44e57cb9ce"
},
{
"127.0.0.1": "ff1d6fd1e63bf07ed1c801692f9e5a44e57cb9ce"
}
]

View file

@ -1,4 +1,4 @@
// server.js // index.js
/* /*
* WebSSH2 - Web to SSH2 gateway * WebSSH2 - Web to SSH2 gateway
* Bill Church - https://github.com/billchurch/WebSSH2 - May 2017 * Bill Church - https://github.com/billchurch/WebSSH2 - May 2017

15
server.js Normal file
View file

@ -0,0 +1,15 @@
const express = require('express')
const app = express()
const port = 3000
app.get('/', (request, response) => {
response.send('Hello from Express!')
})
app.listen(port, (err) => {
if (err) {
return console.log('something bad happened', err)
}
console.log(`server is listening on ${port}`)
})

View file

@ -1,11 +1,14 @@
// socket/index.js // socket.js
// private // private
var debug = require('debug') var debug = require('debug')
var debugWebSSH2 = require('debug')('WebSSH2') var debugWebSSH2 = require('debug')('WebSSH2')
var SSH = require('ssh2').Client var SSH = require('ssh2').Client
var hostkeys = require('./hostkeys.json')
var termCols, termRows var termCols, termRows
console.log(JSON.stringify(hostkeys))
// public // public
module.exports = function socket (socket) { module.exports = function socket (socket) {
// if websocket connection arrives without an express session, kill it // if websocket connection arrives without an express session, kill it
@ -101,6 +104,7 @@ module.exports = function socket (socket) {
finish([socket.request.session.userpassword]) finish([socket.request.session.userpassword])
}) })
if (socket.request.session.username && socket.request.session.userpassword && socket.request.session.ssh) { if (socket.request.session.username && socket.request.session.userpassword && socket.request.session.ssh) {
console.log('hostkeys: ' + hostkeys[0].[0])
conn.connect({ conn.connect({
host: socket.request.session.ssh.host, host: socket.request.session.ssh.host,
port: socket.request.session.ssh.port, port: socket.request.session.ssh.port,
@ -109,6 +113,15 @@ module.exports = function socket (socket) {
tryKeyboard: true, tryKeyboard: true,
algorithms: socket.request.session.ssh.algorithms, algorithms: socket.request.session.ssh.algorithms,
readyTimeout: socket.request.session.ssh.readyTimeout, readyTimeout: socket.request.session.ssh.readyTimeout,
hostHash: 'sha1',
hostVerifier: function (hash) {
if (hash === hostkeys['127.0.0.1']) {
return (verified = true)
} else {
err = { message: 'SSH HOST KEY HASH MISMATCH: ' + hash }
SSHerror('CONN CONNECT', err)
}
},
debug: debug('ssh2') debug: debug('ssh2')
}) })
} else { } else {
@ -137,6 +150,10 @@ module.exports = function socket (socket) {
' from=' + socket.handshake.address.yellow.bold.underline) ' from=' + socket.handshake.address.yellow.bold.underline)
} else { } else {
console.log('WebSSH2 Logout: user=' + socket.request.session.username + ' from=' + socket.handshake.address + ' host=' + socket.request.session.ssh.host + ' port=' + socket.request.session.ssh.port + ' sessionID=' + socket.request.sessionID + '/' + socket.id + ' allowreplay=' + socket.request.session.ssh.allowreplay + ' term=' + socket.request.session.ssh.term) console.log('WebSSH2 Logout: user=' + socket.request.session.username + ' from=' + socket.handshake.address + ' host=' + socket.request.session.ssh.host + ' port=' + socket.request.session.ssh.port + ' sessionID=' + socket.request.sessionID + '/' + socket.id + ' allowreplay=' + socket.request.session.ssh.allowreplay + ' term=' + socket.request.session.ssh.term)
if (err) {
theError = (err) ? ': ' + err.message : ''
console.log('WebSSH2 error' + theError)
}
} }
socket.emit('ssherror', 'SSH ' + myFunc + theError) socket.emit('ssherror', 'SSH ' + myFunc + theError)
socket.request.session.destroy() socket.request.session.destroy()

View file

@ -1,4 +1,4 @@
// util/index.js // util.js
// private // private
require('colors') // allow for color property extensions in log messages require('colors') // allow for color property extensions in log messages