From 52d1aab9fe5e109bfbdeba1bf75dbabc00f52a0a Mon Sep 17 00:00:00 2001 From: Alexander Dines <160077924+dines-rl@users.noreply.github.com> Date: Wed, 4 Sep 2024 15:21:06 -0700 Subject: [PATCH] cp dines --- app/.npmrc | 1 - app/.snyk | 4 - app/CHANGELOG.md | 461 ---------------------------------- app/LICENSE | 21 -- app/bun.lockb | Bin 316111 -> 0 bytes app/client/public/favicon.ico | Bin 15086 -> 0 bytes app/index.js | 9 - app/server/socket.js | 2 +- 8 files changed, 1 insertion(+), 497 deletions(-) delete mode 100644 app/.npmrc delete mode 100644 app/.snyk delete mode 100644 app/CHANGELOG.md delete mode 100644 app/LICENSE delete mode 100755 app/bun.lockb delete mode 100644 app/client/public/favicon.ico diff --git a/app/.npmrc b/app/.npmrc deleted file mode 100644 index 9555e17..0000000 --- a/app/.npmrc +++ /dev/null @@ -1 +0,0 @@ -tag-version-prefix="" diff --git a/app/.snyk b/app/.snyk deleted file mode 100644 index d175956..0000000 --- a/app/.snyk +++ /dev/null @@ -1,4 +0,0 @@ -# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities. -version: v1.22.1 -ignore: {} -patch: {} diff --git a/app/CHANGELOG.md b/app/CHANGELOG.md deleted file mode 100644 index 7daed97..0000000 --- a/app/CHANGELOG.md +++ /dev/null @@ -1,461 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -## [0.5.0-pre-4](https://github.com/billchurch/webssh2/compare/webssh2-v0.4.7-pre-4...webssh2-v0.5.0-pre-4) (2022-08-07) - - -### Features - -* test change for release ([476b566](https://github.com/billchurch/webssh2/commit/476b566c08a84bd35aaccf847253875b2c3afb10)) - -## [0.4.7-pre-4](https://github.com/billchurch/webssh2/compare/webssh2-v0.4.7-pre-3...webssh2-v0.4.7-pre-4) (2022-08-03) - - -### Miscellaneous Chores - -* release 0.4.7-pre-4 ([7d4ba87](https://github.com/billchurch/webssh2/commit/7d4ba87bc1c198600ea33ee220553ef46ea2a103)) - -## [0.4.7-pre-3](https://github.com/billchurch/webssh2/compare/webssh2-v0.4.7-pre-2...webssh2-v0.4.7-pre-3) (2022-08-03) - - -### Miscellaneous Chores - -* release 0.4.7-pre-3 ([0c78c1f](https://github.com/billchurch/webssh2/commit/0c78c1f31cc6380b7f0706822fc418cfede11413)) - -## [0.4.7-pre-2](https://github.com/billchurch/webssh2/compare/webssh2-v0.4.6...webssh2-v0.4.7-pre-2) (2022-08-02) - - -### ⚠ BREAKING CHANGES - -* validate referer to /reauth is valid -* bump xterm to 4.18.0 -* consistent logging messages see #286 -* config system changes #284 (#285) - -### Features - -* add additional params for POST requests [#290](https://github.com/billchurch/webssh2/issues/290) ([46c1560](https://github.com/billchurch/webssh2/commit/46c1560e3c126376e18124e14e5c7fb8c029a0a1)) -* add additional vars to POST requests [#290](https://github.com/billchurch/webssh2/issues/290) ([0a4e419](https://github.com/billchurch/webssh2/commit/0a4e419fb371ae95340fa890497022a2aa9d063a)) -* add fontFamily, letterSpacing, lineHeight ([97f3088](https://github.com/billchurch/webssh2/commit/97f3088780744e13a6724a4967a4896aac3f20d8)) -* add fontSize option [#292](https://github.com/billchurch/webssh2/issues/292) ([5e78812](https://github.com/billchurch/webssh2/commit/5e788129744d326e78ec91bda86ed5cecfd70d3f)) -* config system changes [#284](https://github.com/billchurch/webssh2/issues/284) ([#285](https://github.com/billchurch/webssh2/issues/285)) ([9c99b09](https://github.com/billchurch/webssh2/commit/9c99b0940ec726193deae3c4999d25a297874d67)) -* consistent logging messages see [#286](https://github.com/billchurch/webssh2/issues/286) ([50cfcb9](https://github.com/billchurch/webssh2/commit/50cfcb97788cbd3409b4605adceef3d47e370e38)) -* credentials over http post for [#290](https://github.com/billchurch/webssh2/issues/290) ([5b8f88c](https://github.com/billchurch/webssh2/commit/5b8f88cfef1745c88748277217204e6c38c7ff7e)) -* reorder viewport setup at ssh handshake [#292](https://github.com/billchurch/webssh2/issues/292) ([140e1e2](https://github.com/billchurch/webssh2/commit/140e1e24b14d6b74848e9d250c2b44f806ad627d)) -* validate referer to /reauth is valid ([0dcaa6e](https://github.com/billchurch/webssh2/commit/0dcaa6e15062cdc3252ce52abd9057caf4c00a30)) - - -### Bug Fixes - -* Fix the parameter passing problem of setDefaultCredentials to make it perform data initialization normally ([#288](https://github.com/billchurch/webssh2/issues/288)) ([40cbb35](https://github.com/billchurch/webssh2/commit/40cbb35616fa17c1c36520690f40ebce0b488153)) -* invalid css in style.css ([ffab534](https://github.com/billchurch/webssh2/commit/ffab5345dcb568fa2bb50a96f403174ad3728286)) - - -### package - -* bump xterm to 4.18.0 ([84c09ec](https://github.com/billchurch/webssh2/commit/84c09ec8a1909e4bbd0051debdbb905276a4245e)) - -### [0.4.6](https://github.com/billchurch/WebSSH2/compare/v0.2.10-0...v0.4.6) (2022-04-17) - - -### Features - -* add SIGTERM to safe shutdown feature ([675b4f5](https://github.com/billchurch/WebSSH2/commit/675b4f5a3a92b187b620684eb1ce1b7afa0e2e08)) -* **auth:** ssh private key auth implemented via config.json ([#161](https://github.com/billchurch/WebSSH2/issues/161)) ([342df8e](https://github.com/billchurch/WebSSH2/commit/342df8eb9cafba52eb63b50a60e11e1431d6fbd4)) -* **config:** specify local source address and port for client connections fixes [#152](https://github.com/billchurch/WebSSH2/issues/152) ([#158](https://github.com/billchurch/WebSSH2/issues/158)) ([65d6ec6](https://github.com/billchurch/WebSSH2/commit/65d6ec68452b80c42fd62534355e456ce1f16a32)) -* CORS support ([b324f33](https://github.com/billchurch/WebSSH2/commit/b324f338adeb3518322941639fb83ba9370814cc)), closes [#240](https://github.com/billchurch/WebSSH2/issues/240) - - -### Bug Fixes - -* deprecated term.setOption ([d903da8](https://github.com/billchurch/WebSSH2/commit/d903da87c41882a3736683c7de497cb8bd37f885)) -* dockerignore ([#272](https://github.com/billchurch/WebSSH2/issues/272)) ([8a68cca](https://github.com/billchurch/WebSSH2/commit/8a68ccaffa374584b5d9531f9dbeae616bd971f5)) -* fixes default for allowreauth ([#239](https://github.com/billchurch/WebSSH2/issues/239)) ([dcfd81b](https://github.com/billchurch/WebSSH2/commit/dcfd81b454b9fe66edec489266dc35a765464c6b)), closes [#238](https://github.com/billchurch/WebSSH2/issues/238) -* missing ENTRYPOINT for Dockerfile ([6a3a47a](https://github.com/billchurch/WebSSH2/commit/6a3a47a13de3cd70d603379a27e055f08a6ee62c)) -* obey host ssh.host in config fixes [#190](https://github.com/billchurch/WebSSH2/issues/190) ([7b7e8e7](https://github.com/billchurch/WebSSH2/commit/7b7e8e753358ed48f52eb9aa2fc359bf758f304b)) -* subnet unauthorized now emits "ssherror" which persists across websocket termination ([e796f9f](https://github.com/billchurch/WebSSH2/commit/e796f9fb5874d6557433f25e8976b7aa58fa8144)) -* update config.json.sample ([#177](https://github.com/billchurch/WebSSH2/issues/177)) ([42f973b](https://github.com/billchurch/WebSSH2/commit/42f973b4796f7f50237dc8ce613e477aa89352ca)) -* update read-config-ng to 3.0.5, fixes [#277](https://github.com/billchurch/WebSSH2/issues/277) ([3e82c0d](https://github.com/billchurch/WebSSH2/commit/3e82c0dc4d31d1c97a7cf98139ef8e6dc0213b22)) -* update xterm.js fixes [#261](https://github.com/billchurch/WebSSH2/issues/261) ([c801ef9](https://github.com/billchurch/WebSSH2/commit/c801ef9e5826e13a403a6462241cf8a4ff456d45)) - -## 0.4.5 [20220417] -### Fixes -- update read-config-ng to 3.0.5, fixes [#277](../../issues/277) -## 0.4.5 [20220331] -### Fixes -- Update socket.io to 4.2.0 -- Update read-config-ng to 3.0.4 - -## 0.4.4 [20211209] -### Fixes -- Add ./node_modules to .dockerignore [#240](../../issues/240) thanks @UncleSamSwiss -- validator to 13.7.0 [to mitigate potential Regular Expression Denial of Service (ReDoS)](https://snyk.io/vuln/SNYK-JS-VALIDATOR-1090600) -- cidr-matcher should be [re-installed to pickup >json-schema@4.0.0 due to prototype pollution vulnerability](https://snyk.io/vuln/SNYK-JS-JSONSCHEMA-1920922) -- Update xterm.js to 4.15.0 [#261](../../issues/261) -- Replace deprecated term.setOptions with term.options -### Changes -- update README.md for additional Docker methods thanks @Utopiah - -## 0.4.3 [20211019] -- update dependencies - - ssh2 to 1.4.0 [to mitigate potential command injection in windows](https://snyk.io/vuln/SNYK-JS-SSH2-1656673) -## 0.4.2 [20210813] -### changes -- update dependencies - - socket.io to 4.1.1 - - read-config-ng to 3.0.2 - - debug to 4.3.1 -## 0.4.1 [20210703] -### Fixes -- lost comma in config.json.sample 71fe377 -### Changes -- bump ws@7.4.6 to [mitigate potential ReDoS vulnerability](https://github.com/websockets/ws/releases/tag/7.4.6) -- dev: update CI tools -- dev: update dev tools -- dev: update build tools - -## 0.4.0 [20210519] -### BREAKING -- Disabled ssh.serverlog.client option, this disables the POC which allowed for logging of the data sent between the client/server to the console.log. -- Dropping support for node versions under 14 -### Changes -- Removed HTML menu code from ./app/server/socket.js, the menu is now fully laid out in the ./app/client/src/index.html and the option elements are hidden by default. Not sure why it wasn't done this way from the start, but there it is. -- Updated socket.io to v4.1.1 -- Client javascript `./app/client/src/js/index.ts` is now built on TypeScript (`npm run build` will generate javascript for client and place into `app/client/public/webssh2.bundle.js` as before) -- Build environment changes - - removed unused xterm-addon-search, xterm-addon-weblinks, standard, postcss-discard-comments - - added prettier 2.3.0, typescript modules, socket.io-client 4.1.1, airbnb linting tools -### Added -- Lookup ip address for hostname in URL, fixes #199 thanks to @zwiy -- Ability to override `Authorization: Basic` header and replace with credentials specified in `config.json` fixes #243. New config.json option `user.overridebasic` -### CONTRIBUTING -In this release, we're trying our best to conform to the [Airbnb Javascript Style Guide](https://airbnb.io/projects/javascript/). I'm hoping this will make contributions easier and keep the code readable. I love shortcuts more than anyone but I've found when making changes to code I've not looked at in a while, it can take me a few momements to deconstruct what was being done due to readbility issues. While I don't agree with every decision in the style guide (semi-colons, yuk), it is a good base to keep the code consistent. - -If you've not used it before, I recommend installing the [vscode extensions](https://blog.echobind.com/integrating-prettier-eslint-airbnb-style-guide-in-vscode-47f07b5d7d6a) for that and [Prettier](https://prettier.io/) and getting familiar. The autocorrections are great (especially if you hate dealing with semi-colons...) - -As of 0.4.0-testing-0, the client code is written in [TypeScript](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html). It's not that much different from JavaScript, and the introduction strong typing will ultimately help to produce better code. Eventually we want to move the whole project to TypeScript but that make take a bit more time. Take a moment to look at ./app/client/src/js/index.ts to see what TypeScript looks like. -## 0.3.1 [20210513] -### BREAKING -- Ability to configure CORS settings for socket.io see [#240](../../issues/240) for more information on how this may break existing deployments. Default settings in example `config.json` are currently permissive `http.origins: ["*:*"]` please note that if a `config.json` is not present, the default is `http.origins: ["localhost:2222"] -### Added -- Safe Shutdown Feature - thanks to @edgarogh - - Sending SIGINT or SIGTERM to node process responsible for WebSSH2 or Docker process will result in a "safe" shutdown - - Timer is configured in config.safeShutdownDuration -- feat: Use docker build to create multi-arch images (#202) -### Fixed -- obey host ssh.host in config fixes #190 -### Changed -- `config.json.sample`: `allowreauth` now defaults to `false` fixes #238 -- update ssh2 to 0.8.8 -> 0.8.9 - [comparison at ssh2 repo](https://github.com/mscdex/ssh2/compare/v0.8.8...v0.8.9) -- update xterm to 4.12.0 [comparison at xtermjs repo](https://github.com/xtermjs/xterm.js/compare/4.4.0...4.12.0) -- update read-config-ng to 3.0.2 -- update morgan to 1.10.0 -- update debug to 4.3.1 -- update express-session to 1.17.1 -- update validator to 13.6.0 -- development tools updates (build environment requires minimum of Node 10, only needed for customization) - - update @fortawesome/fontawesome-svg-core to 1.2.35 - - update @fortawesome/free-solid-svg-icons to 5.15.3 - - update copy-webpack-plugin to 8.1.1 - - update cross-env to 7.0.3 - - update css-loader to 5.2.4 - - update file-loader to 6.2.0 - - update mini-css-extract-plugin to 1.6.0 - - update postcss-discard-comments to 5.0.0 - - update snazzy to 9.0.0 - - update standard to 16.0.3 - - update standard-version to 9.3.0 - - update style-loader to 2.0.0 - - update terser-webpack-plugin to 5.1.1 - - update url-loader to 4.1.1 - - update webpack to 5.37.0 - - update webpack-cli to 4.7.0 - - update webpack-merge to 5.7.3 - - update webpack-stream to 6.1.2 - - update xterm-addon-fit to 0.5.0 - - update xterm-addon-search to 0.8.0 - - update xterm-addon-web-links to 0.4.0 - - update ssri from 6.0.1 to 6.0.2 [#233](../../pull/233) - - update hosted-git-info from 2.8.5 to 2.8.9 [#237](../../pull/237) - - update lodash from 4.17.19 to 4.17.21 [#236](../../pull/236) - - update handlebars from 4.7.6 to 4.7.7 [#235](../../pull/235) - - update y18n from 4.0.0 to 4.0.1 [#230](../../pull/230) - - update elliptic from 6.5.3 to 6.5.4 [#228](../../pull/222833) - - update ini from 1.3.5 to 1.3.8 [#217](../../pull/217) -## 0.3.0 [20200315] -🍀🍀🍀 -### Added -- Add configuration option to restrict connections to specified subnets thanks to @Mierdin -- favicon - - added module `serve-favicon` to serve favicon from root if pre-fetched by browser - - added `link rel=icon` line in client.htm to serve favico.ico out of /ssh/ - -### Changed -- Using new repo for read-config -> read-config-ng- -- removed express compression feature, added no real value. -- module updates - - ssh2 to 0.8.6 -> 0.8.8 - [comparison at ssh2 repo](https://github.com/mscdex/ssh2/compare/v0.8.6...v0.8.8) - - xterm 4.2.0 -> 4.4.0 - [comparison at xtermjs repo](https://github.com/xtermjs/xterm.js/compare/4.2.0...4.4.0) - - read-config-ng 3.0.1 - (taking over abandoned repo)n -- development module updates (does not impact production, only for development and rebuilding) - - fortawesome/fontawesome-svg-core 1.2.27 - - fortawesome/free-solid-svg-icons 5.12.1 - - standard-version 7.1.0 - - webpack 4.42.0 - - webpack-cli 3.3.11 - - terser-webpack-plugin 2.3.5 - - copy-webpack-plugin 5.1.1 - - cross-env 7.0.2 - - css-loader 3.4.2 - - file-loader 5.1.0 - - style-loader 1.1.3 - - url-loader 3.0.0 - -### Potentially Breaking Changes -- Move all child resources to start from under /ssh - - /socket.io -> /ssh/socket.io - - /webssh2.css -> /ssh/webssh2.css - - /webssh2.bundle.js -> /ssh/webssh2.bundle.js - - /reauth -> /ssh/reauth - - perhaps more - -### Fixes -- Typo in config.json.sample, thanks @wuchihsu, fixes #173 - -### Housekeeping -- Removed irrelavant build scripts from /scripts - -## 0.2.9 [2019-06-13] -### Changes -- Missing require('fs') in `server/app.js` See issue [#135](../../issues/135) -- Patched read-config to mitigate vulnerability in js-yaml - - issue not exploitable on webssh2 implementation - - patched anyway - - sending my patch upstream to read-config, webssh2 package.json points to patched version in my repository https://github.com/billchurch/nodejs-read-config - - See https://github.com/nodeca/js-yaml/issues/475 for more detail - -## 0.2.8 [2019-05-25] -### Changes -- Fixes issue if no password is entered, browser must be closed and restart to attempt to re-auth. See issue [#118](../../issues/118). Thanks @smilesm2 for the idea. -- fixes broken `npm run (build|builddev)` - - update font-awesome fonts to 5.6.3 - - update webpack and dependancies - - update xterm to 3.8.0 - -### Fixes -- ILX workspace may not always import properly due to symbolic links (specifically ./node_modules/.bin). This is removed from the ILX package - -## 0.2.7 [2018-11-11] -### Changes -- `config.reauth` was not respected if initial auth presented was incorrect, regardless of `reauth` setting in `config.json` reauth would always be attempted. fixes [#117](../../issues/117) -- **BREAKING** moved app files to /app, this may be a breaking change -- Updated dockerfile for new app path -- Updated app dependancies - - xterm v3.8.0 - - https://github.com/xtermjs/xterm.js/releases/tag/3.8.0 - - basic-auth v2.0.1 - - https://github.com/jshttp/basic-auth/releases/tag/v2.0.1 - - express v4.16.4 - - https://github.com/expressjs/express/releases/tag/4.16.4 - - validator v10.9.0 - - https://github.com/chriso/validator.js/releases/tag/10.9.0 -- Updated dev dependancies - - snazzy v8.0.0 - - standard v12.0.1 - - uglifyjs-webpack-plugin v2.0.1 - - ajv v6.5.5 - - copy-webpack-plugin v4.6.0 - - css-loader v1.0.1 - - nodemon v1.18.6 - - postcss-discard-comments v4.0.1 - - snyk v1.108.2 - - url-loader v1.1.2 - - webpack v4.25.1 - - webpack-cli v3.1.2 - -## 0.2.6 [2018-11-09] -### Changes -- Reauth didn't work if intial auth presented was incorrect, (see issue #112) fixed thanks @vvalchev -- Update node version supported to >=6 (PR #115) thanks @perlun -- Update packages - - developer dependencies - -## 0.2.5 [2018-09-11] -### Added -- Reauth function thanks to @vbeskrovny and @vvalchev (9bbc116) - - Controlled by `config.json` option `options.allowreauth` true presents reauth dialog and false hides dialog - -### Changed -- `options.challengeButton` enabled - - previously this configuration option did nothing, this now enables the Credentials button site-wide regardless of the `allowreplay` header value -- Updated debug module to v4 - -## 0.2.4 [2018-07-18] -### Added -- Browser title window now changes with xterm escape sequences (see http://tldp.org/HOWTO/Xterm-Title-3.html) -- Added bellStyle options - - `GET var`: **bellStyle** - _string_ - Style of terminal bell: ("sound"|"none"). **Default:** "sound". **Enforced Values:** "sound "none" - - `config.json`: **terminal.bellStyle** - _string_ - Style of terminal bell: (sound|none). **Default:** "sound". - - `workspace` folder on GITHUB for BIG-IP specific fixes/changes -### Changed -- Updated xterm.js to 3.1.0 - - https://github.com/xtermjs/xterm.js/releases/tag/3.1.0 -- Default listen IP in `config.json` changed back to 127.0.0.1 -### Fixed -- ESC]0; is now removed from log files when using the browser-side logging feature - -## 0.2.3 unreleased - -### Fixed -- ESC]0; is now removed from log files when using the browser-side logging feature - -## 0.2.0 [2018-02-10] -Mostly client (browser) related changes in this release - -### Added -- Menu system -- Fontawesome icons -- Resizing browser window sends resize events to terminal container as well as SSH session (pty) -- New terminal options (config.json as well as GET vars) - - terminal.cursorBlink - boolean - Cursor blinks (true), does not (false) Default: true. - - terminal.scrollback - integer - Lines in the scrollback buffer. Default: 10000. - - terminal.tabStopWidth - integer - Tab stops at n characters Default: 8. -- New serverside (nodejs) terminal configuration options (cursorBlink, scrollback, tabStopWidth) -- Logging of MRH session (unassigned if not present) -- Express compression feature - -### Changed -- Updated xterm.js to 3.0.2 - - See https://github.com/xtermjs/xterm.js/releases/tag/3.0.2 - - See https://github.com/xtermjs/xterm.js/releases/tag/3.0.1 - - See https://github.com/xtermjs/xterm.js/releases/tag/3.0.0 -- Moved javascript events out of html into javascript -- Changed asset packaging from grunt to Webpack to be inline with xterm.js direction -- Moved logging and credentials buttons to menu system -- Removed non-minified options (if you need to disable minification, modify webpack scripts and 'npm run build') - -### Fixed -- Resolved loss of terminal foucs when interacting with option buttons (Logging, etc...) - -## 0.1.4 [2018-01-30] -### Changed -- Moved socket and util out of folders into .js in root. -- added keepaliveInterval and keepaliveCountMax config options - -## 0.1.3 [2017-09-28] -### Changed -- Upgrade to debug@3.1 to eliminate ReDoS in %o formatter -- Upgrade Express to 4.15.5 for ReDOS -- Upgrade basic-auth to v2.0 -## 0.1.2 [2017-07-31] -### Added -- ssh.readyTimeout option in config.json (time in ms, default 20000, 20sec) -### Changed -- Updated xterm.js to 2.9.2 from 2.6.0 - - See https://github.com/sourcelair/xterm.js/releases/tag/2.9.2 - - See https://github.com/sourcelair/xterm.js/releases/tag/2.9.1 - - See https://github.com/sourcelair/xterm.js/releases/tag/2.9.0 - - See https://github.com/sourcelair/xterm.js/releases/tag/2.8.1 - - See https://github.com/sourcelair/xterm.js/releases/tag/2.8.0 - - See https://github.com/sourcelair/xterm.js/releases/tag/2.7.0 -- Updated ssh2 to 0.5.5 to keep current, no fixes impacting WebSSH2 - - ssh-streams to 0.1.19 from 0.1.16 -- Updated validator.js to 8.0.0, no fixes impacting WebSSH2 - - https://github.com/chriso/validator.js/releases/tag/8.0.0 -- Updated Express to 4.15.4, no fixes impacting WebSSH2 - - https://github.com/expressjs/express/releases/tag/4.15.4 -- Updated Express-session to 1.15.5, no fixes impacting WebSSH2 - - https://github.com/expressjs/session/releases/tag/v1.15.5 -- Updated Debug to 3.0.0, no fixes impacting WebSSH2 - - https://github.com/visionmedia/debug/releases/tag/3.0.0 -- Running in strict mode ('use strict';) - - -## 0.1.1 [2017-06-03] -### Added -- `serverlog.client` and `serverlog.server` options added to `config.json` to enable logging of client commands to server log (only client portion implemented at this time) -- morgan express middleware for logging -### Changed -- Updated socket.io to 1.7.4 -- continued refactoring, breaking up `index.js` -- revised error handling methods -- revised session termination methods -### Fixed -### Removed -- color console decorations from `util/index.js` -- SanatizeHeaders function from `util/index.js` - -## 0.1.0 [2017-05-27] -### Added -- This ChangeLog.md file -- Support for UTF-8 characters (thanks @bara666) -- Snyk, Bithound, Travis CI -- Cross platform improvements (path mappings) -- Session fixup between Express and Socket.io -- Session secret settings in `config.json` -- env variable `DEBUG=ssh2` will put the `ssh2` module into debug mode -- env variable `DEBUG=WebSSH2` will output additional debug messages for functions -and events in the application (not including the ssh2 module debug) -- using Grunt to pull js and css source files from other modules `npm run build` to rebuild these if changed or updated. -- `useminified` option in `config.json` to enable using minified client side javascript (true) defaults to false (non-minified) -- sshterm= query option to specify TERM environment variable for host, valid strings are alpha-numeric with a hypen (validated). Otherwise the default ssh.term variable from `config.json` will be used. -- validation for host (v4,v6,fqdn,hostname), port (integer 2-65535), and header (sanitized) from URL input - -### Changed -- error handling in public/client.js -- moved socket.io operations to their own file /socket/index.js, more changes like this to come (./socket/index.js) -- all session based variables are now under the req.session.ssh property or socket.request.ssh (./index.js) -- moved SSH algorithms to `config.json` and defined as a session variable (..session.ssh.algorithms) --- prep for future feature to define algorithms in header or some other method to enable separate ciphers per host -- minified and combined all js files to a single js in `./public/webssh2.min.js` also included a sourcemap `./public/webssh2.min.js` which maps to `./public/webssh2.js` for easier troubleshooting. -- combined all css files to a single css in `./public/webssh2.css` -- minified all css files to a single css in `./public/webssh2.min.css` -- copied all unmodified source css and js to /public/src/css and /public/src/js respectively (for troubleshooting/etc) -- sourcemaps of all minified code (in /public/src and /public/src/js) -- renamed `client.htm` to `client-full.htm` -- created `client-min.htm` to serve minified javascript -- if header.text is null in `config.json` and header is not defined as a get parameter the Header will not be displayed. Both of these must be null / undefined and not specified as get parameters. - -### Fixed -- Multiple errors may overwrite status bar which would cause confusion as to what originally caused the error. Example, ssh server disconnects which prompts a cascade of events (conn.on('end'), socket.on('disconnect'), conn.on('close')) and the original reason (conn.on('end')) would be lost and the user would erroneously receive a WEBSOCKET error as the last event to fire would be the websocket connection closing from the app. -- ensure ssh session is closed when a browser disconnects from the websocket -- if headerBackground is changed, status background is changed to the same color (typo, fixed) - -### Removed -- Express Static References directly to module source directories due to concatenating and minifying js/css - -## 0.0.5 - [2017-03-23] -### Added -- Added experimental support for logging (see Readme) - -### Fixed -- Terminal geometry now properly fills the browser screen and communicates this to the ssh session. Tested with IE 11 and recent versions of Chrome/Safari/Firefox. - -## 0.0.4 - [2017-03-23] -### Added -- Set default terminal to xterm-color -- Mouse event support -- New config option, config.ssh.term to set terminal - -### Changed -- Update to Xterm.js 2.4.0 -- Minor code formatting cleanup - -## 0.0.3 - [2017-02-16] -### Changed -- Update xterm to latest (2.3.0) -### Fixed -- Fixed misspelled config.ssh.port property - -## 0.0.2 - [2017-02-01] -### Changed -- Moving terminal emulation to xterm.js -- updating module version dependencies - -### Fixed -- Fixed issue with banners not being displayed properly from UNIX hosts when only lf is used - -## 0.0.1 - [2016-06-28] -### Added -- Initial proof of concept and release. For historical purposes only. diff --git a/app/LICENSE b/app/LICENSE deleted file mode 100644 index ed6b9dd..0000000 --- a/app/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 Bill Church - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/app/bun.lockb b/app/bun.lockb deleted file mode 100755 index 7c4bfe031c8c6df7603064eb73444afb54651795..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316111 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 diff --git a/app/index.js b/app/index.js index 436a4d4..1ddef51 100644 --- a/app/index.js +++ b/app/index.js @@ -1,14 +1,5 @@ /* eslint no-console: ["error", { allow: ["warn", "error"] }] */ /* jshint esversion: 6, asi: true, node: true */ -/* - * index.js - * - * WebSSH2 - Web to SSH2 gateway - * Bill Church - https://github.com/billchurch/WebSSH2 - May 2017 - * See LICENSE file - * - * test change - */ const { config } = require('./server/app'); const { server } = require('./server/app'); diff --git a/app/server/socket.js b/app/server/socket.js index 14ecf90..c625b63 100644 --- a/app/server/socket.js +++ b/app/server/socket.js @@ -36,7 +36,6 @@ async function establishConnection(conn, targetDevbox, bearerToken) { const sshKeyCreateResp = await runloop.devboxes.createSSHKey(targetDevbox); const hostname = sshKeyCreateResp.url; - console.log('EVAN SSH KEY RESP', sshKeyCreateResp); // SS KEY // Environment @@ -197,6 +196,7 @@ module.exports = function appSocket(socket) { // keepaliveCountMax: socket.request.session.ssh.keepaliveCountMax, // debug: debug('ssh2'), // }); + await establishConnection( conn, 'dbx_2xb6oS1G1e6TAihVMtjn6',