This commit is contained in:
Khairi 2023-10-26 08:03:21 +00:00 committed by GitHub
commit 36be870b58
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 5980 additions and 858 deletions

View file

@ -10,6 +10,8 @@ RUN apt-get update && apt-get install gnupg2 -y
RUN npm i --location=global release-please
RUN useradd -ms /bin/bash vscode
# [Optional] Uncomment if you want to install an additional version of node using nvm
# ARG EXTRA_NODE_VERSION=10
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}"

View file

@ -28,5 +28,5 @@
// "postCreateCommand": "yarn install",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "node"
"remoteUser": "vscode"
}

View file

@ -24,7 +24,7 @@ jobs:
path: app
default-branch: main
publish:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
needs: release
strategy:
fail-fast: false

View file

@ -45,7 +45,19 @@ Alternatively in main for testing, you can send credentials via POST with the va
See [BUILDING.md](BUILDING.md) for more details.
# Docker Instructions
# Docker
## NOTICE
Docker versions differ from what is in `main` and are release dependant.
Meaning billchurch/webssh2:latest is the latest official release. This does NOT sync with what is in `main` on this repo. `main` is development and will change until it gets a release tag.
On occasion, examples or instructions on `main` will drift from what is released. You should refer to the tag of the version you're using to ensure you are following the proper guidance.
That being said the most current release version is [0.4.6](https://github.com/billchurch/webssh2/tree/0.4.6), see that tag for details.
## Instructions
Some configuration options are available as [Environment Variables](#environment-variables). If there is a configuration option you require which does not have an environment variable please [open an issue requesting](../../issues/new/choose).
[webssh2 images are available in docker hub](https://hub.docker.com/repository/docker/billchurch/webssh2).

6805
app/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{
"name": "webssh2",
"version": "0.5.0-pre-4",
"version": "0.5.0-pre-5",
"ignore": [
".gitignore"
],
@ -37,7 +37,6 @@
"debug": "^4.3.4",
"express": "^4.18.1",
"express-session": "^1.17.3",
"json-merger": "^1.1.9",
"morgan": "~1.10.0",
"read-config-ng": "^3.0.5",
"serve-favicon": "^2.5.0",
@ -70,6 +69,7 @@
"eslint-plugin-prettier": "^4.2.1",
"mini-css-extract-plugin": "^2.6.1",
"nodaemon": "0.0.5",
"npm-check-updates": "^16.13.0",
"prettier": "^2.7.1",
"snazzy": "^9.0.0",
"snyk": "^1.982.0",

View file

@ -102,7 +102,8 @@ const onConnection = (socket) => {
});
socket.on('geometry', (cols, rows) => {
// TODO need to rework how we pass settings to ssh2, this is less than ideal
socket.request.session.ssh.terminfo = { cols, rows };
socket.request.session.ssh.cols = cols;
socket.request.session.ssh.rows = rows;
webssh2debug(socket, `SOCKET GEOMETRY: termCols = ${cols}, termRows = ${rows}`);
});
};

View file

@ -2,7 +2,6 @@
no-console: ["error", { allow: ["warn", "error", "info"] }] */
const fs = require('fs');
const path = require('path');
const merger = require('json-merger');
const debugWebSSH2 = require('debug')('WebSSH2');
const crypto = require('crypto');
const util = require('util');
@ -110,7 +109,8 @@ try {
}
console.info(`WebSSH2 service reading config from: ${configPath}`);
const configFile = readconfig(configPath, { override: true });
myConfig = merger.mergeObjects([configDefault, configFile]);
// myConfig = merger.mergeObjects([configDefault, configFile]);
myConfig = { ...configDefault, ...configFile };
debugWebSSH2(`\nCurrent config: ${util.inspect(myConfig)}`);
} catch (err) {
myConfig = configDefault;

View file

@ -171,6 +171,8 @@ exports.connect = function connect(req, res) {
letterSpacing,
lineHeight,
},
cols: null,
rows: null,
allowreplay:
config.options.challengeButton ||
(validator.isBoolean(`${req.headers.allowreplay}`)