Merge 64e86994f7 into 2c80a69fd9
This commit is contained in:
commit
36be870b58
9 changed files with 5980 additions and 858 deletions
|
|
@ -10,6 +10,8 @@ RUN apt-get update && apt-get install gnupg2 -y
|
||||||
|
|
||||||
RUN npm i --location=global release-please
|
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
|
# [Optional] Uncomment if you want to install an additional version of node using nvm
|
||||||
# ARG EXTRA_NODE_VERSION=10
|
# ARG EXTRA_NODE_VERSION=10
|
||||||
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}"
|
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}"
|
||||||
|
|
|
||||||
|
|
@ -28,5 +28,5 @@
|
||||||
// "postCreateCommand": "yarn install",
|
// "postCreateCommand": "yarn install",
|
||||||
|
|
||||||
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
||||||
"remoteUser": "node"
|
"remoteUser": "vscode"
|
||||||
}
|
}
|
||||||
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
|
@ -24,7 +24,7 @@ jobs:
|
||||||
path: app
|
path: app
|
||||||
default-branch: main
|
default-branch: main
|
||||||
publish:
|
publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
needs: release
|
needs: release
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|
|
||||||
14
README.md
14
README.md
|
|
@ -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.
|
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).
|
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).
|
[webssh2 images are available in docker hub](https://hub.docker.com/repository/docker/billchurch/webssh2).
|
||||||
|
|
|
||||||
6797
app/package-lock.json
generated
6797
app/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "webssh2",
|
"name": "webssh2",
|
||||||
"version": "0.5.0-pre-4",
|
"version": "0.5.0-pre-5",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
".gitignore"
|
".gitignore"
|
||||||
],
|
],
|
||||||
|
|
@ -37,7 +37,6 @@
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"express": "^4.18.1",
|
"express": "^4.18.1",
|
||||||
"express-session": "^1.17.3",
|
"express-session": "^1.17.3",
|
||||||
"json-merger": "^1.1.9",
|
|
||||||
"morgan": "~1.10.0",
|
"morgan": "~1.10.0",
|
||||||
"read-config-ng": "^3.0.5",
|
"read-config-ng": "^3.0.5",
|
||||||
"serve-favicon": "^2.5.0",
|
"serve-favicon": "^2.5.0",
|
||||||
|
|
@ -70,6 +69,7 @@
|
||||||
"eslint-plugin-prettier": "^4.2.1",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"mini-css-extract-plugin": "^2.6.1",
|
"mini-css-extract-plugin": "^2.6.1",
|
||||||
"nodaemon": "0.0.5",
|
"nodaemon": "0.0.5",
|
||||||
|
"npm-check-updates": "^16.13.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"snazzy": "^9.0.0",
|
"snazzy": "^9.0.0",
|
||||||
"snyk": "^1.982.0",
|
"snyk": "^1.982.0",
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,8 @@ const onConnection = (socket) => {
|
||||||
});
|
});
|
||||||
socket.on('geometry', (cols, rows) => {
|
socket.on('geometry', (cols, rows) => {
|
||||||
// TODO need to rework how we pass settings to ssh2, this is less than ideal
|
// 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}`);
|
webssh2debug(socket, `SOCKET GEOMETRY: termCols = ${cols}, termRows = ${rows}`);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
no-console: ["error", { allow: ["warn", "error", "info"] }] */
|
no-console: ["error", { allow: ["warn", "error", "info"] }] */
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const merger = require('json-merger');
|
|
||||||
const debugWebSSH2 = require('debug')('WebSSH2');
|
const debugWebSSH2 = require('debug')('WebSSH2');
|
||||||
const crypto = require('crypto');
|
const crypto = require('crypto');
|
||||||
const util = require('util');
|
const util = require('util');
|
||||||
|
|
@ -110,7 +109,8 @@ try {
|
||||||
}
|
}
|
||||||
console.info(`WebSSH2 service reading config from: ${configPath}`);
|
console.info(`WebSSH2 service reading config from: ${configPath}`);
|
||||||
const configFile = readconfig(configPath, { override: true });
|
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)}`);
|
debugWebSSH2(`\nCurrent config: ${util.inspect(myConfig)}`);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
myConfig = configDefault;
|
myConfig = configDefault;
|
||||||
|
|
|
||||||
|
|
@ -171,6 +171,8 @@ exports.connect = function connect(req, res) {
|
||||||
letterSpacing,
|
letterSpacing,
|
||||||
lineHeight,
|
lineHeight,
|
||||||
},
|
},
|
||||||
|
cols: null,
|
||||||
|
rows: null,
|
||||||
allowreplay:
|
allowreplay:
|
||||||
config.options.challengeButton ||
|
config.options.challengeButton ||
|
||||||
(validator.isBoolean(`${req.headers.allowreplay}`)
|
(validator.isBoolean(`${req.headers.allowreplay}`)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue