Compare commits

...

102 commits

Author SHA1 Message Date
Bill Church
9c0ba04b31
Update action-test.yml 2024-08-26 07:58:02 -04:00
Bill Church
e499287079
Update action-test.yml 2024-08-26 07:57:04 -04:00
Bill Church
2a9a6c3562
Update docker-multiplatform-tag.yml 2024-08-22 14:03:09 -04:00
Bill Church
ad5d38259c
Update docker-multiplatform-tag.yml 2024-08-22 13:49:22 -04:00
Bill Church
7c1f8fa48e
Update docker-multiplatform-tag.yml 2024-08-22 13:47:08 -04:00
Bill Church
8dd4d0fda4
Create docker-multiplatform-tag.yml 2024-08-22 13:46:42 -04:00
Bill Church
5bbfcee0b6
chore: testing 2024-07-08 16:48:17 -04:00
Bill Church
cb5c1fa809
chore: update dev env 2024-04-27 10:41:44 +00:00
Bill Church
64e86994f7
chore: bump version 2023-08-22 18:55:53 +00:00
Bill Church
a97003bac2
chore: update release workflow 2023-08-22 18:55:53 +00:00
Bill Church
2576a495cf
chore: remove json-merger add ncu 2023-08-22 18:55:52 +00:00
Bill Church
d2ea50a0f2
chore: update dev environment 2023-08-22 18:55:52 +00:00
Bill Church
3246df75b6
fix: cols and rows were not properly assigned for terminal (#337)
* fix: set correct vars and cols property

* fix: add cols and rows to session.ssh property

* style: remove const assignment

---------

Co-authored-by: w-v <wtv@protonmail.ch>
Co-authored-by: bc 064 <87337961+bcvort@users.noreply.github.com>
2023-08-22 09:16:10 -04:00
Bill Church
acb4e42fde
docs: update confusion around docker configs #317 2023-02-06 12:37:19 -05:00
Bill Church
c3e54ef0d8
chore: dev env update 2023-02-06 09:48:25 -05:00
Bill Church
d9b6e47e88
chore(main): release webssh2 0.5.0-pre-4 (#309) 2022-08-07 08:14:28 -04:00
Bill Church
8b56826363
chore: release 0.4.7-pre-5
Release-As: 0.4.7-pre-5
2022-08-07 12:13:19 +00:00
Bill Church
476b566c08
feat: test change for release 2022-08-07 12:10:36 +00:00
Bill Church
298f45178f
chore: update workflow 2022-08-07 12:07:22 +00:00
Bill Church
adc964e823
chore: update workflow 2022-08-07 12:03:32 +00:00
Bill Church
3d06d74645
chore: update workflow 2022-08-07 12:01:02 +00:00
Bill Church
8f19909cc1
Merge branch 'main' of github.com:billchurch/webssh2 2022-08-07 11:55:26 +00:00
Bill Church
3fdba6e880
chore: update workflow to publish to npm 2022-08-07 11:55:08 +00:00
Bill Church
8c64f8e026
chore(main): release webssh2 0.4.7-pre-4 (#308) 2022-08-03 10:39:36 -04:00
Bill Church
ad9f303380
docs: add LICENSE to /app 2022-08-03 14:35:32 +00:00
Bill Church
7d4ba87bc1
chore: release 0.4.7-pre-4
Release-As: 0.4.7-pre-4
2022-08-03 14:31:52 +00:00
Bill Church
8585aba89f
chore: update changelog 2022-08-03 14:30:22 +00:00
Bill Church
3b8c7a770e
chore: update workflows 2022-08-03 14:29:47 +00:00
Bill Church
9d5a0cd12c
chore(main): release webssh2 0.4.7-pre-3 (#307) 2022-08-03 10:25:12 -04:00
Bill Church
0322b1694a
chore: update release-please workflow 2022-08-03 14:22:19 +00:00
Bill Church
3b460dda66
Merge branch 'main' of github.com:billchurch/webssh2 2022-08-03 14:16:42 +00:00
Bill Church
0c78c1f31c
chore: release 0.4.7-pre-3
Release-As: 0.4.7-pre-3
2022-08-03 14:16:30 +00:00
Bill Church
7985bd0143
chore(main): release webssh2 0.4.7-pre-2 (#305) 2022-08-03 10:13:57 -04:00
Bill Church
1862acceb5
Merge branch 'main' of github.com:billchurch/webssh2 2022-08-03 14:13:19 +00:00
Bill Church
0bcc37a0f7
chore: update release please workflow fixes #283 2022-08-03 14:12:21 +00:00
Bill Church
b29242dfd4
chore: release 0.4.7-pre-3
Release-As: 0.4.7-pre-3
2022-08-03 14:11:57 +00:00
Bill Church
a284ca07ca
chore: update package(-lock).json 2022-08-03 14:11:57 +00:00
Bill Church
f048b46667
chore: update Dockerfile 2022-08-03 14:11:56 +00:00
Bill Church
31f7728602
chore: update .dockerignore 2022-08-03 14:11:55 +00:00
Bill Church
e3c11cce16
Update SECURITY.md 2022-08-03 14:11:55 +00:00
Bill Church
2159709812
chore: update workflows 2022-08-03 14:11:54 +00:00
Bill Church
b36e40357d
chore: update workflows 2022-08-03 14:11:53 +00:00
Bill Church
8749c21f4d
chore: update bug report 2022-08-03 14:11:53 +00:00
Bill Church
0ea6c16ac4
chore: update bug reporting 2022-08-03 14:11:52 +00:00
Bill Church
abb6b71e62
chore: update bug reporter 2022-08-03 14:11:51 +00:00
Bill Church
6370f83466
chore: update bug reporter 2022-08-03 14:11:51 +00:00
Bill Church
1717d42faf
chore: update bug templates 2022-08-03 14:11:50 +00:00
Bill Church
01720cd9e0
Update issue templates 2022-08-03 14:11:50 +00:00
Bill Church
b3faa1d7b5
chore: update bug report template 2022-08-03 14:11:49 +00:00
Bill Church
b1384788f5
Delete ISSUE_TEMPLATE 2022-08-03 14:11:48 +00:00
Bill Church
b238df4f49
Create ISSUE_TEMPLATE 2022-08-03 14:11:48 +00:00
Bill Church
10e59b25f9
Delete ISSUE_TEMPLATE.md 2022-08-03 14:11:47 +00:00
Bill Church
13db095885
Delete Build/Release directory 2022-08-03 14:11:46 +00:00
Bill Church
000b294999
Update README.md 2022-08-03 14:11:46 +00:00
Bill Church
e91454875b
Delete screenshots directory 2022-08-03 14:11:45 +00:00
Bill Church
942af6a91d
Delete bin directory 2022-08-03 14:11:45 +00:00
github-actions[bot]
37a3dac008
chore(main): release webssh2 0.4.7-pre-2 (#304)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-03 14:11:44 +00:00
Bill Church
cb73084dc5
chore: test release workflows 2022-08-03 14:11:43 +00:00
github-actions[bot]
0e966a64e5
chore(main): release webssh2 0.4.7-pre-1 (#303)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-03 14:11:42 +00:00
Bill Church
da86943cb6
chore: release testing 2022-08-03 14:11:42 +00:00
Bill Church
ee235e2294
chore: release testing 2022-08-03 14:11:41 +00:00
github-actions[bot]
837bb2380d
chore(main): release webssh2 0.4.7-pre-0 (#302)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-03 14:11:40 +00:00
Bill Church
5f565d3aae
chore: update workflow 2022-08-03 14:11:39 +00:00
Bill Church
dbd46f4484
chore: update workflow 2022-08-03 14:11:39 +00:00
Bill Church
d756b11b60
Test branch (#300)
* chore: release workflow testing
2022-08-03 14:11:38 +00:00
Bill Church
85eeee0000
chore: bootstrap releases for path: . (#298) 2022-08-03 14:11:37 +00:00
Bill Church
64e093931a
chore: update release workflow 2022-08-03 14:11:37 +00:00
Bill Church
09ca7bd838
chore: update release workflow 2022-08-03 14:11:36 +00:00
Bill Church
7d88f7068b
Update SECURITY.md 2022-08-03 14:11:36 +00:00
Bill Church
2d0fff581e
Create SECURITY.md 2022-08-03 14:11:35 +00:00
Bill Church
206d725663
Dev (#296)
* chore: update ssh2 and development deps

* feat: take LISTEN, PORT, and other env vars #294

* chore: rebuild client files

* docs: update readme

* chore: bump version

* chore: setup gpg for dev container
2022-08-03 14:11:34 +00:00
Bill Church
73442fe8c2
chore: update release please workflow fixes #283 2022-08-03 14:06:36 +00:00
Bill Church
6c7d242679
chore: release 0.4.7-pre-3
Release-As: 0.4.7-pre-3
2022-08-03 14:04:53 +00:00
Bill Church
7c41f5dca0
chore: update package(-lock).json 2022-08-03 13:56:37 +00:00
Bill Church
5b827b6acf
chore: update Dockerfile 2022-08-03 13:54:48 +00:00
Bill Church
1db557a399
chore: update .dockerignore 2022-08-03 13:54:32 +00:00
Bill Church
41259a6971
Merge branch 'main' of github.com:billchurch/webssh2 2022-08-02 18:14:20 +00:00
Bill Church
657c4bd688
chore: update workflows 2022-08-02 18:14:16 +00:00
Bill Church
3b564c6d4b
chore: update workflows 2022-08-02 18:12:30 +00:00
Bill Church
28f8f9b5b3
Update SECURITY.md 2022-08-02 12:54:02 -04:00
Bill Church
0448c231ac
chore: update bug report 2022-08-02 16:52:32 +00:00
Bill Church
639ae09fe1
chore: update bug reporting 2022-08-02 16:51:02 +00:00
Bill Church
aa07c8447a
chore: update bug reporter 2022-08-02 16:47:27 +00:00
Bill Church
b4615658dd
chore: update bug reporter 2022-08-02 16:47:23 +00:00
Bill Church
7d6fea45cc
chore: update bug templates 2022-08-02 16:45:13 +00:00
Bill Church
bb243fb00d
Update issue templates 2022-08-02 12:44:35 -04:00
Bill Church
2bb81c05b5
chore: update bug report template 2022-08-02 16:42:44 +00:00
Bill Church
ec76f95510
Delete ISSUE_TEMPLATE 2022-08-02 12:40:15 -04:00
Bill Church
80e47c2a61
Create ISSUE_TEMPLATE 2022-08-02 12:38:47 -04:00
Bill Church
a2bd4b38af
Delete ISSUE_TEMPLATE.md 2022-08-02 12:38:24 -04:00
Bill Church
8e6563fa67
Delete Build/Release directory 2022-08-02 12:27:50 -04:00
Bill Church
2aa713fe20
Update README.md 2022-08-02 12:27:27 -04:00
Bill Church
92dac9a17e
Delete screenshots directory 2022-08-02 12:24:38 -04:00
Bill Church
ca62af669e
Delete bin directory 2022-08-02 12:24:24 -04:00
github-actions[bot]
784387cbc7
chore(main): release webssh2 0.4.7-pre-2 (#304)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 11:43:38 -04:00
Bill Church
0d4ebf715c
chore: test release workflows 2022-08-02 15:41:45 +00:00
github-actions[bot]
a3019ad7e3
chore(main): release webssh2 0.4.7-pre-1 (#303)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 11:24:09 -04:00
Bill Church
14ea80d54e
chore: release testing 2022-08-02 15:22:44 +00:00
Bill Church
da8e6573f9
chore: release testing 2022-08-02 15:21:35 +00:00
github-actions[bot]
1c358fabf7
chore(main): release webssh2 0.4.7-pre-0 (#302)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 11:05:46 -04:00
Bill Church
09f17906cb
chore: update workflow 2022-08-02 15:04:01 +00:00
Bill Church
75d41af8d6
chore: update workflow 2022-08-02 14:59:17 +00:00
43 changed files with 5722 additions and 7336 deletions

View file

@ -1,18 +0,0 @@
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster
ARG VARIANT=16-bullseye
FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:${VARIANT}
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
RUN apt-get update && apt-get install gnupg2 -y
RUN npm i --location=global release-please
# [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}"
# [Optional] Uncomment if you want to install more global node packages
# RUN su node -c "npm install -g <your-package-list -here>"

View file

@ -1,22 +1,27 @@
{
"name": "Node.js & TypeScript",
"build": {
"dockerfile": "Dockerfile",
// Update 'VARIANT' to pick a Node version: 18, 16, 14.
// Append -bullseye or -buster to pin to an OS version.
// Use -bullseye variants on local on arm64/Apple Silicon.
"args": {
"VARIANT": "16-bullseye"
}
},
"image": "mcr.microsoft.com/devcontainers/base:jammy",
"mounts": [
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh/personal_id_rsa.pub,target=/home/vscode/.hostssh/id_rsa.pub,readonly,type=bind,consistency=cached"
],
"features": {
"ghcr.io/devcontainers-contrib/features/node-asdf:0": {},
},
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"dbaeumer.vscode-eslint"
"ms-vscode-remote.remote-containers",
"dbaeumer.vscode-eslint",
"GitHub.copilot",
"GitHub.copilot-chat",
"esbenp.prettier-vscode",
"rvest.vs-code-prettier-eslint",
"bierner.markdown-mermaid",
"stylelint.vscode-stylelint"
]
}
},
@ -25,8 +30,8 @@
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "yarn install",
"postCreateCommand": "/bin/bash ./.devcontainer/scripts/tools.sh >> ~/post-create-tools.log",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "node"
"remoteUser": "vscode"
}

View file

@ -0,0 +1,12 @@
#!/bin/bash
mkdir -p ~/.ssh && \
touch ~/.ssh/known_hosts && \
sudo tee ~/.ssh/config > /dev/null << EOF
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.hostssh/id_rsa.pub
EOF
sudo chown -R vscode:vscode ~/.ssh

View file

@ -1,3 +1,9 @@
.git
.cache
app/node_modules
app/client/src
app/scripts
app/.*
app/*.sample
app/client/tsconfig.json
app/CHANGELOG.md

75
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View file

@ -0,0 +1,75 @@
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug", "triage"]
assignees:
- billchurch
body:
- type: markdown
attributes:
value: |
Depending on the type of issue, please include the follwing information:
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
placeholder: Tell us what you see!
value: "A bug happened!"
validations:
required: true
- type: input
id: node_ver
attributes:
label: Node Version
description: version of Node this problem occurs on
placeholder: npm -v
validations:
required: true
- type: input
id: npm_ver
attributes:
label: NPM Version
description: version of NPM this problem occurs on
placeholder: npm -v
validations:
required: true
- type: input
id: server_ver
attributes:
label: Server OS Version
description: Server OS Version / Distribution / Processor Architecture
placeholder: uname -a;cat /etc/os-release
validations:
required: true
- type: input
id: webssh2_ver
attributes:
label: WebSSH2 release version
description: Version of WebSSH you are using
placeholder: grep version app/package.json
validations:
required: true
- type: input
id: sshhost_ver
attributes:
label: OS and Version of SSH server
description: OS and Version of SSH server connecting to
placeholder: 'on target server run: uname -a;sshd -v'
validations:
required: false
- type: input
id: browser_ver
attributes:
label: Browser Version
description: Information from brwoser's About... or a screenshot of the about screen.
placeholder:
validations:
required: false
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell

10
.github/ISSUE_TEMPLATE/custom.md vendored Normal file
View file

@ -0,0 +1,10 @@
---
name: Question
about: General how-to questions
title: ''
labels: ''
assignees: ''
---

View file

@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View file

@ -0,0 +1,69 @@
---
name: 'Build Docker On Tag'
on:
push:
branches:
- bigip-server
tags:
- 'v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
workflow_dispatch: # Allows manual triggering from the GitHub UI
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v3
- name: Prepare
id: prep
run: |
DOCKER_IMAGE=${{ secrets.DOCKER_USERNAME }}/${GITHUB_REPOSITORY#*/}
# If this is a git tag, use the tag name as a docker tag
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v}
TAGS="${DOCKER_IMAGE}:${VERSION}"
fi
# If this is a git branch, use the branch name as a docker tag
if [[ $GITHUB_REF == refs/heads/* ]]; then
VERSION=${GITHUB_REF#refs/heads/}
TAGS="${DOCKER_IMAGE}:${VERSION}"
fi
# If the VERSION looks like a version number, also tag as 'latest'
if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
TAGS="$TAGS,${DOCKER_IMAGE}:latest"
fi
# Set output parameters
echo ::set-output name=tags::${TAGS}
echo ::set-output name=docker_image::${DOCKER_IMAGE}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build
uses: docker/build-push-action@v4
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/ppc64le
push: true
tags: ${{ steps.prep.outputs.tags }}

View file

@ -2,8 +2,8 @@
name: 'Build Docker Images'
on:
tags:
- '**'
release:
types: [published]
jobs:
docker:
@ -18,7 +18,7 @@ jobs:
# If this is git tag, use the tag name as a docker tag
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/}
VERSION=${GITHUB_REF#refs/tags/webssh2-v}
TAGS="${DOCKER_IMAGE}:${VERSION}"
fi

View file

@ -1,41 +1,47 @@
---
name: 'Create Release'
on:
push:
branches:
- main
paths-ignore:
- '.github/**'
- '.devcontainer/**'
- '.**'
- '**.md'
jobs:
release-please:
release:
runs-on: ubuntu-latest
outputs:
paths_released: ${{ steps.manifest_release.outputs.paths_released }}
steps:
- uses: google-github-actions/release-please-action@v3
id: manifest_release
with:
token: ${{ secrets.RELEASE_PLEASE_UAT }}
command: manifest
package-name: webssh2
path: app
default-branch: main
release-type: node
package-name: release-please-action
# The logic below handles the npm publication:
- name: Checkout Repository
if: ${{ steps.release.outputs.releases_created }}
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v1
if: ${{ steps.release.outputs.releases_created }}
publish:
runs-on: ubuntu-20.04
needs: release
strategy:
fail-fast: false
matrix:
path: ${{fromJson(needs.release.outputs.paths_released)}}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
node-version: 16
registry-url: 'https://registry.npmjs.org'
- name: Build Packages
if: ${{ steps.release.outputs.releases_created }}
run: |
npm install
npx lerna bootstrap
# Release Please has already incremented versions and published tags, so we just
# need to publish all unpublished versions to NPM here
# See: https://github.com/lerna/lerna/tree/main/commands/publish#bump-from-package
- name: Publish to NPM
if: ${{ steps.release.outputs.releases_created }}
- name: publish-to-npm
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
run: npx lerna publish from-package --no-push --no-private --yes
run: |
cd ${{ matrix.path }}
npm install
npx lerna bootstrap
npx lerna publish from-package --no-push --no-private --yes

View file

@ -1,3 +1,3 @@
{
"app": "0.4.6"
"app": "0.5.0-pre-4"
}

View file

@ -1 +0,0 @@
e2e70f7d2949b6c8fe0299f888a3725763a62c01a1faea1fb729babc2ed51c92 Build/Release/BIG-IP-ILX-WebSSH2-0.2.8.tgz

View file

@ -1,7 +1,9 @@
FROM node:16-alpine
RUN apk update && apk add bash
WORKDIR /usr/src
COPY app/ /usr/src/
RUN npm install --omit=dev
RUN npm ci --audit=false --bin-links=false --fund=false
EXPOSE 2222/tcp
ENTRYPOINT [ "/usr/local/bin/node", "index.js" ]

View file

@ -1,15 +0,0 @@
Depending on the type of issue, please include the follwing information:
- Node and NPM Version
- `node -v`
- `npm -v`
- Server OS Version / Distribution / Processor Architecture
- `uname -a`
- `cat /etc/os-release`
- WebSSH2 release version
- `grep version app/package.json`
- OS and Version of SSH server connecting to
- `uname -a`
- `sshd -v`
- Browser Version and OS
- Information from brwoser's About... or a screenshot of the about screen.
- Any log or messages from the WebSSH2 output

View file

@ -8,7 +8,7 @@ Web SSH Client using ssh2, socket.io, xterm.js, and express
A bare bones example of an HTML5 web-based terminal emulator and SSH client. We use SSH2 as a client on a host to proxy a Websocket / Socket.io connection to a SSH2 server.
<img width="600" height="340" alt="WebSSH2 v0.2.0 demo" src="https://github.com/billchurch/WebSSH2/raw/main/screenshots/demo-800.gif">
<img width="600" height="340" alt="WebSSH2 v0.2.0 demo" src="https://user-images.githubusercontent.com/1668075/182425293-acc8741e-cc92-4105-afdc-9538e1685d4b.gif">
# Requirements
Node v14.x or above. If using <v14.x you should be able to run by replacing the "read-config" package to @1 like this (after a clone):
@ -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).

View file

@ -13,4 +13,4 @@ The following versions will get security updates.
## Reporting a Vulnerability
If you find a vulnerability, simply [open an issue](../../issues/new) with the details, use the lable `security`.
If you find a vulnerability, simply [open an issue](../../issues/new) with the details, use the label `security`.

View file

@ -2,6 +2,59 @@
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)

21
app/LICENSE Normal file
View file

@ -0,0 +1,21 @@
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.

BIN
app/bun.lockb Executable file

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -1,5 +0,0 @@
/*!
* Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/

View file

@ -140,7 +140,7 @@
cursor: crosshair;
}
.xterm .xterm-accessibility,
.xterm .xterm-accessibility:not(.debug),
.xterm .xterm-message {
position: absolute;
left: 0;
@ -149,6 +149,16 @@
right: 0;
z-index: 10;
color: transparent;
pointer-events: none;
}
.xterm .xterm-accessibility-tree:not(.debug) *::selection {
color: transparent;
}
.xterm .xterm-accessibility-tree {
user-select: text;
white-space: pre;
}
.xterm .live-region {
@ -160,13 +170,27 @@
}
.xterm-dim {
opacity: 0.5;
/* Dim should not apply to background, so the opacity of the foreground color is applied
* explicitly in the generated class and reset to 1 here */
opacity: 1 !important;
}
.xterm-underline {
text-decoration: underline;
.xterm-underline-1 { text-decoration: underline; }
.xterm-underline-2 { text-decoration: double underline; }
.xterm-underline-3 { text-decoration: wavy underline; }
.xterm-underline-4 { text-decoration: dotted underline; }
.xterm-underline-5 { text-decoration: dashed underline; }
.xterm-overline {
text-decoration: overline;
}
.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }
.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }
.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }
.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }
.xterm-strikethrough {
text-decoration: line-through;
}
@ -176,8 +200,12 @@
position: absolute;
}
.xterm-decoration-overview-ruler {
.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {
z-index: 7;
}
.xterm-decoration-overview-ruler {
z-index: 8;
position: absolute;
top: 0;
right: 0;

View file

@ -1,7 +1,7 @@
/* eslint-disable import/no-extraneous-dependencies */
import { io } from 'socket.io-client';
import { Terminal } from 'xterm';
import { FitAddon } from 'xterm-addon-fit';
import { Terminal } from '@xterm/xterm';
import { FitAddon } from '@xterm/addon-fit';
import { library, dom } from '@fortawesome/fontawesome-svg-core';
import { faBars, faClipboard, faDownload, faKey, faCog } from '@fortawesome/free-solid-svg-icons';
@ -9,7 +9,7 @@ library.add(faBars, faClipboard, faDownload, faKey, faCog);
dom.watch();
const debug = require('debug')('WebSSH2');
require('xterm/css/xterm.css');
require('@xterm/xterm/css/xterm.css');
require('../css/style.css');
/* global Blob, logBtn, credentialsBtn, reauthBtn, downloadLogBtn */ // eslint-disable-line

View file

@ -5,7 +5,9 @@
*
* WebSSH2 - Web to SSH2 gateway
* Bill Church - https://github.com/billchurch/WebSSH2 - May 2017
* See LICENSE file
*
* test change
*/
const { config } = require('./server/app');

12495
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.4.6",
"version": "0.6.0-pre-1",
"ignore": [
".gitignore"
],
@ -35,15 +35,15 @@
"basic-auth": "~2.0.1",
"cidr-matcher": "^2.1.1",
"debug": "^4.3.4",
"express": "^4.18.1",
"express-session": "^1.17.3",
"json-merger": "^1.1.9",
"express": "^4.19.2",
"express-session": "^1.18.0",
"morgan": "~1.10.0",
"read-config-ng": "^3.0.5",
"read-config-ng": "^3.0.7",
"serve-favicon": "^2.5.0",
"socket.io": "^4.5.1",
"ssh2": "^1.11.0",
"validator": "^13.7.0"
"socket.io": "^4.7.5",
"ssh2": "^1.15.0",
"validator": "^13.11.0",
"winston": "^3.13.0"
},
"scripts": {
"start": "node index.js",
@ -56,36 +56,34 @@
"release": "standard-version"
},
"devDependencies": {
"@fortawesome/fontawesome-svg-core": "^6.1.2",
"@fortawesome/free-solid-svg-icons": "^6.1.2",
"@typescript-eslint/eslint-plugin": "^5.31.0",
"@typescript-eslint/parser": "^5.31.0",
"@fortawesome/fontawesome-svg-core": "^6.5.2",
"@fortawesome/free-solid-svg-icons": "^6.5.2",
"@typescript-eslint/eslint-plugin": "^7.7.1",
"@typescript-eslint/parser": "^7.7.1",
"@xterm/addon-fit": "^0.10.0",
"@xterm/xterm": "^5.5.0",
"clean-webpack-plugin": "^4.0.0",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.7.1",
"eslint": "^8.21.0",
"copy-webpack-plugin": "^12.0.2",
"css-loader": "^7.1.1",
"eslint": "^8.56.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-prettier": "^4.2.1",
"mini-css-extract-plugin": "^2.6.1",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^5.1.3",
"mini-css-extract-plugin": "^2.9.0",
"nodaemon": "0.0.5",
"prettier": "^2.7.1",
"npm-check-updates": "^16.14.20",
"prettier": "^3.2.5",
"snazzy": "^9.0.0",
"snyk": "^1.981.0",
"socket.io-client": "^4.5.1",
"source-map-loader": "^4.0.0",
"snyk": "^1.1290.0",
"socket.io-client": "^4.7.5",
"source-map-loader": "^5.0.0",
"standard-version": "^9.5.0",
"terser-webpack-plugin": "^5.3.3",
"ts-loader": "^9.3.1",
"typescript": "^4.7.4",
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0",
"webpack-merge": "^5.8.0",
"xterm": "^4.19.0",
"xterm-addon-fit": "^0.5.0"
},
"resolutions": {
"trim-newlines": "^3.0.1"
"terser-webpack-plugin": "^5.3.10",
"ts-loader": "^9.5.1",
"typescript": "^5.4.5",
"webpack": "^5.91.0",
"webpack-cli": "^5.1.4",
"webpack-merge": "^5.10.0"
}
}

View file

@ -13,7 +13,7 @@ const express = require('express');
const logger = require('morgan');
const app = express();
const server = require('http').Server(app);
const server = require('http').createServer(app);
const favicon = require('serve-favicon');
const io = require('socket.io')(server, config.socketio);
const session = require('express-session')(config.express);
@ -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}`)

View file

@ -105,7 +105,7 @@ module.exports = function appSocket(socket) {
socket.emit('data', data.replace(/\r?\n/g, '\r\n').toString('utf-8'));
});
conn.on('handshake', (data => {
conn.on('handshake', () => {
socket.emit('setTerminalOpts', socket.request.session.ssh.terminal);
socket.emit('menu');
socket.emit('allowreauth', socket.request.session.ssh.allowreauth);
@ -118,7 +118,7 @@ module.exports = function appSocket(socket) {
'footer',
`ssh://${socket.request.session.username}@${socket.request.session.ssh.host}:${socket.request.session.ssh.port}`
);
}));
});
conn.on('ready', () => {
webssh2debug(

Binary file not shown.

View file

@ -1 +0,0 @@
b512ae8f04eba0eab29e026542fab1063b1bb4ae6db04e3613a8939260fe031c Build/Release/BIG-IP-ILX-WebSSH2-0.2.9.tgz

BIN
bun.lockb Executable file

Binary file not shown.

6
package.json Normal file
View file

@ -0,0 +1,6 @@
{
"dependencies": {},
"devDependencies": {
"bun-types": "^1.0.1"
}
}

View file

@ -1,6 +1,4 @@
{
"bootstrap-sha": "cf4d8c384740de98f3875b9d5362142b74db0bd3",
"release-as": "0.4.7-pre-0",
"changelogPath": "CHANGELOG.md",
"include-v-in-tags": false,
"prerelease": true,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB