moving files around to get rid of unneeded directories
This commit is contained in:
parent
07d90cd2e3
commit
2b12825a0c
7 changed files with 49 additions and 3 deletions
|
@ -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
1
app.js
|
@ -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
8
hostkeys.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"localhost": "ff1d6fd1e63bf07ed1c801692f9e5a44e57cb9ce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"127.0.0.1": "ff1d6fd1e63bf07ed1c801692f9e5a44e57cb9ce"
|
||||||
|
}
|
||||||
|
]
|
2
index.js
2
index.js
|
@ -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
15
server.js
Normal 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}`)
|
||||||
|
})
|
|
@ -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()
|
|
@ -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
|
Loading…
Reference in a new issue