Skip to content

Releases: billchurch/webssh2

Add readyTimeout option and get var, update packages, use strict

21 Aug 13:52
Compare
Choose a tag to compare

Added

  • ssh.readyTimeout option in config.json (time in ms, default 20000, 20sec)

Changed

BIG-IP Notes

The attached BIG-IP-ILX-WebSSH2-20170821-0.1.2.tgz file may be imported to as an iRulesLX Workspace on a BIG-IP v12.1+ with iRules LX provisioned.

screenshot 2017-05-27 18 55 20

iRulesLX streaming interface is not yet supported, so this will just run as a daemon essentially.

Instructions for deploying on a BIG-IP may be found at: https://github.com/billchurch/WebSSH2/wiki/Deploying-to-a-BIG-IP-running-12.1-or-13.0

SHA-256 signature:
e81e8e6aeb88e948316413ba69c2ca27f1b4a648dd6a2c2f53b239b2e9ff2fe5 *BIG-IP-ILX-WebSSH2-20170821-0.1.2.tgz

Updated socket.io to 1.7.4

03 Jun 20:52
Compare
Choose a tag to compare

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

Removed

  • color console decorations from util/index.js (no longer used)
  • SanatizeHeaders function from util/index.js (no longer used)

BIG-IP Notes

The attached BIG-IP-ILX-WebSSH2-20170527-0.1.1.tgz file may be imported to as an iRulesLX Workspace on a BIG-IP v12.1+ with iRules LX provisioned.

screenshot 2017-05-27 18 55 20

iRulesLX streaming interface is not yet supported, so this will just run as a daemon essentially.

SHA-256 signature:
76f364a96c51ba1b758a365fd1ad12baaf6fe2b32a2bfd14e1d5b3d74395063f *BIG-IP-ILX-WebSSH2-20170603-0.1.1.tgz

Big Release

27 May 22:45
Compare
Choose a tag to compare

A lot of refactoring has happened. More to come. Made some pretty major changes all around so figured this was worth incrementing the minor version number. Changes outlined below.

Added

  • ChangeLog.md file
  • Support for UTF-8 characters (thanks @bara666)
  • Snyk, Bithound, Travis CI for code quality
  • 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 hyphen (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
  • 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

BIG-IP Notes

The attached BIG-IP-ILX-WebSSH2-20170527-0.1.0.tgz file may be imported to as an iRulesLX Workspace on a BIG-IP v12.1+ with iRules LX provisioned.

screenshot 2017-05-27 18 55 20

iRulesLX streaming interface is not yet supported, so this will just run as a daemon essentially.

Fixed terminal auto width, added experimental client-side logging.

23 Mar 22:25
Compare
Choose a tag to compare

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.

Added experimental support for logging (see Readme)

Update to Xterm.js 2.4.0 and set default terminal to xterm-color

23 Mar 15:38
Compare
Choose a tag to compare

Update to Xterm.js 2.4.0 and set default terminal to xterm-color

  • Mouse events should be interpreted properly now
  • Minor code formatting cleanup
  • new config option, config.ssh.term to set terminal.

v0.0.3 - Updates xterm to 2.3.0 and bug fixes

16 Feb 21:33
Compare
Choose a tag to compare
  • Fixes #7
  • Update xterm to latest (2.3.0)

v0.0.2 - Move to xterm.js

01 Feb 23:37
Compare
Choose a tag to compare

Moving terminal emulation to xterm.js, updating module version dependencies.
Fixed issue with banners not being displayed properly from UNIX hosts when only lf is used

Initial Release

01 Feb 20:52
Compare
Choose a tag to compare
Initial Release Pre-release
Pre-release

Initial proof of concept and release. For historical purposes only.