fix: Serve the static files from the webssh2_client module with a custom prefix '/ssh/assets' instead of just '/ssh'.
This commit is contained in:
parent
2d19f49091
commit
8fcf4b7b75
4 changed files with 27 additions and 12 deletions
16
app/app.js
16
app/app.js
|
@ -16,22 +16,22 @@ const sshRoutes = require('./routes')
|
||||||
* @returns {express.Application} The Express application instance
|
* @returns {express.Application} The Express application instance
|
||||||
*/
|
*/
|
||||||
function createApp() {
|
function createApp() {
|
||||||
const app = express()
|
var app = express();
|
||||||
|
|
||||||
// Resolve the correct path to the webssh2_client module
|
// Resolve the correct path to the webssh2_client module
|
||||||
const clientPath = path.resolve(__dirname, '..', 'node_modules', 'webssh2_client', 'client', 'public')
|
var clientPath = path.resolve(__dirname, '..', 'node_modules', 'webssh2_client', 'client', 'public');
|
||||||
|
|
||||||
// Handle POST and GET parameters
|
// Handle POST and GET parameters
|
||||||
app.use(bodyParser.urlencoded({ extended: true }))
|
app.use(bodyParser.urlencoded({ extended: true }));
|
||||||
app.use(bodyParser.json())
|
app.use(bodyParser.json());
|
||||||
|
|
||||||
// Serve static files from the webssh2_client module
|
// Serve static files from the webssh2_client module with a custom prefix
|
||||||
app.use('/ssh', express.static(clientPath))
|
app.use('/ssh/assets', express.static(clientPath));
|
||||||
|
|
||||||
// Use the SSH routes
|
// Use the SSH routes
|
||||||
app.use('/ssh', sshRoutes)
|
app.use('/ssh', sshRoutes);
|
||||||
|
|
||||||
return app
|
return app;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
// server
|
// server
|
||||||
// app/connectionHandler.js
|
// app/connectionHandler.js
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
var fs = require('fs');
|
||||||
var extend = require('util')._extend;
|
var extend = require('util')._extend;
|
||||||
|
|
||||||
function handleConnection(req, res, urlParams) {
|
function handleConnection(req, res, urlParams) {
|
||||||
|
@ -22,10 +23,18 @@ function handleConnection(req, res, urlParams) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// You can process connectionParams here or pass them to the client
|
// Read the client.htm file
|
||||||
|
fs.readFile(path.join(clientPath, 'client.htm'), 'utf8', function(err, data) {
|
||||||
|
if (err) {
|
||||||
|
return res.status(500).send('Error loading client file');
|
||||||
|
}
|
||||||
|
|
||||||
// Serve the client HTML
|
// Replace relative paths with the correct path
|
||||||
res.sendFile(path.join(clientPath, 'client.htm'));
|
var modifiedHtml = data.replace(/(src|href)="(?!http|\/\/)/g, '$1="/ssh/assets/');
|
||||||
|
|
||||||
|
// Send the modified HTML
|
||||||
|
res.send(modifiedHtml);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = handleConnection;
|
module.exports = handleConnection;
|
5
package-lock.json
generated
5
package-lock.json
generated
|
@ -1842,6 +1842,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
|
||||||
"integrity": "sha512-akx5WBKAwMSg36qoHTuMMVncHWctlaDGslJASDYAhoLrzDUDCjZlOngNa/iC6lPm9aA0qk8pN5KnpmbJHSIIQQ=="
|
"integrity": "sha512-akx5WBKAwMSg36qoHTuMMVncHWctlaDGslJASDYAhoLrzDUDCjZlOngNa/iC6lPm9aA0qk8pN5KnpmbJHSIIQQ=="
|
||||||
},
|
},
|
||||||
|
"fs": {
|
||||||
|
"version": "0.0.1-security",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
|
||||||
|
"integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w=="
|
||||||
|
},
|
||||||
"fs.realpath": {
|
"fs.realpath": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
"body-parser": "^1.15.2",
|
"body-parser": "^1.15.2",
|
||||||
"debug": "~4.1.0",
|
"debug": "~4.1.0",
|
||||||
"express": "^4.14.1",
|
"express": "^4.14.1",
|
||||||
|
"fs": "0.0.1-security",
|
||||||
"read-config-ng": "~3.0.7",
|
"read-config-ng": "~3.0.7",
|
||||||
"socket.io": "~2.2.0",
|
"socket.io": "~2.2.0",
|
||||||
"ssh2": "~0.8.9",
|
"ssh2": "~0.8.9",
|
||||||
|
|
Loading…
Reference in a new issue