Compare commits

...

8 Commits

Author SHA1 Message Date
Callum Gare
b5e3051156
Merge af11e3a19b into 113b502abb 2024-02-14 06:51:24 -05:00
Søren L. Hansen
113b502abb Leverage up-to-date Docker actions 2024-02-11 19:49:12 -08:00
Søren L. Hansen
ddca6a4663 Add more docker tags (docker/metadata-action) 2024-02-11 19:49:12 -08:00
Soren L. Hansen
8dd044c7cf Merge remote-tracking branch 'origin/master' 2024-02-11 18:05:53 -08:00
Soren L. Hansen
4b7715e6b3 npm update 2024-02-11 18:04:48 -08:00
180909
546ac8d62b Remove ioutil import 2024-02-11 17:35:53 -08:00
dependabot[bot]
3557ea60a6
Bump postcss from 8.4.16 to 8.4.31 in /js
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.16 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.16...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-07 03:47:51 +00:00
Callum Gare
af11e3a19b Improve the appearance and readability of the tty
Values take from 2b4dbacc10/html/src/components/app.tsx
2022-05-18 23:43:43 +10:00
15 changed files with 831 additions and 3837 deletions

View File

@ -1,36 +1,42 @@
---
name: "pre-release"
on:
push:
branches:
- "master"
on: [push]
env:
IMAGE_NAME: ${{ github.repository }}
jobs:
pre-release-docker:
name: "Pre Release Docker"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v2
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
fetch-depth: 0
images: ${{ env.IMAGE_NAME }}
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=sha,format=long
type=sha
type=semver,pattern=v{{major}}.{{minor}}.{{patch}}
type=semver,pattern=v{{major}}.{{minor}}
type=semver,pattern=v{{major}}
type=ref,event=tag
type=ref,event=branch
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-buildx-action@v1
- uses: docker/login-action@v1
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- uses: docker/login-action@v2
with:
username: "${{ secrets.DOCKER_HUB_USER }}"
password: "${{ secrets.DOCKER_HUB_TOKEN }}"
- name: "Build and push docker image"
uses: docker/build-push-action@v2
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v7,linux/arm64
push: true
tags: "${{ secrets.DOCKER_REPO }}:latest"
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*!
* Bootstrap v5.2.0 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Bootstrap v5.3.2 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/

File diff suppressed because one or more lines are too long

View File

@ -26,8 +26,7 @@ bootstrap
MIT
The MIT License (MIT)
Copyright (c) 2011-2022 Twitter, Inc.
Copyright (c) 2011-2022 The Bootstrap Authors
Copyright (c) 2011-2023 The Bootstrap Authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

4525
js/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -3,29 +3,29 @@
"version": "1.4.0",
"private": true,
"devDependencies": {
"@types/bootstrap": "^5.1.9",
"@types/bootstrap": "^5.2.10",
"compression-webpack-plugin": "^9.2.0",
"license-loader": "^0.5.0",
"license-webpack-plugin": "^4.0.2",
"purgecss": "^4.1.3",
"sass": "^1.54.5",
"sass": "^1.70.0",
"sass-loader": "^12.6.0",
"terser-webpack-plugin": "^5.3.1",
"ts-loader": "^8.3.0",
"typescript": "^4.3.2",
"webpack": "^5.76.0",
"webpack-cli": "^4.7.0",
"webpack-dev-server": "^4.11.1"
"terser-webpack-plugin": "^5.3.10",
"ts-loader": "^8.4.0",
"typescript": "^4.9.5",
"webpack": "^5.90.1",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.15.1"
},
"dependencies": {
"@popperjs/core": "^2.11.5",
"bootstrap": "^5.1.3",
"css-loader": "^5.2.6",
"@popperjs/core": "^2.11.8",
"bootstrap": "^5.3.2",
"css-loader": "^5.2.7",
"debounce": "^1.2.1",
"preact": "^10.7.1",
"react-bootstrap": "^2.2.3",
"preact": "^10.19.4",
"react-bootstrap": "^2.10.1",
"style-loader": "^2.0.0",
"xterm": "^4.12.0",
"xterm": "^4.19.0",
"xterm-addon-fit": "^0.5.0",
"xterm-addon-web-links": "^0.4.0",
"xterm-addon-webgl": "^0.10.0",

View File

@ -1,6 +1,7 @@
import { createRef, Component, ComponentChildren } from "preact";
import { Modal } from "bootstrap";
import './bootstrap.scss';
import './style.scss';
interface ModalProps {
children: ComponentChildren;

View File

@ -6,6 +6,7 @@
// Configuration
@import "functions";
@import "variables";
@import "variables-dark";
@import "maps";
@import "mixins";
@import "utilities";

11
js/src/style.scss Normal file
View File

@ -0,0 +1,11 @@
#terminal {
width: auto;
height: 100%;
margin: 0 auto;
padding: 0;
.terminal {
padding: 5px;
height: 100%;
}
}

View File

@ -1,9 +1,37 @@
import { Terminal, IDisposable } from "xterm";
import { Terminal, IDisposable, ITerminalOptions, ITheme } from "xterm";
import { FitAddon } from 'xterm-addon-fit';
import { WebLinksAddon } from 'xterm-addon-web-links';
import { WebglAddon } from 'xterm-addon-webgl';
import { ZModemAddon } from "./zmodem";
const termOptions = {
fontSize: 13,
fontFamily: 'Menlo For Powerline,Consolas,Liberation Mono,Menlo,Courier,monospace',
macOptionClickForcesSelection: true,
macOptionIsMeta: true,
theme: {
foreground: '#d4d4d4',
background: '#1e1e1e',
cursor: '#adadad',
black: '#000000',
red: '#d81e00',
green: '#5ea702',
yellow: '#cfae00',
blue: '#427ab3',
magenta: '#89658e',
cyan: '#00a7aa',
white: '#dbded8',
brightBlack: '#686a66',
brightRed: '#f54235',
brightGreen: '#99e343',
brightYellow: '#fdeb61',
brightBlue: '#84b0d8',
brightMagenta: '#bc94b7',
brightCyan: '#37e6e8',
brightWhite: '#f1f1f0',
} as ITheme,
} as ITerminalOptions;
export class OurXterm {
// The HTMLElement that contains our terminal
elem: HTMLElement;
@ -27,7 +55,7 @@ export class OurXterm {
constructor(elem: HTMLElement) {
this.elem = elem;
this.term = new Terminal();
this.term = new Terminal(termOptions);
this.fitAddOn = new FitAddon();
this.zmodemAddon = new ZModemAddon({
toTerminal: (x: Uint8Array) => this.term.write(x),

View File

@ -3,7 +3,7 @@ package main
import (
"context"
"fmt"
"io/ioutil"
"io"
"log"
"os"
"os/signal"
@ -68,7 +68,7 @@ func main() {
if appOptions.Quiet {
log.SetFlags(0)
log.SetOutput(ioutil.Discard)
log.SetOutput(io.Discard)
}
if c.IsSet("credential") {

View File

@ -6,10 +6,10 @@ import (
"crypto/x509"
"html/template"
"io/fs"
"io/ioutil"
"log"
"net"
"net/http"
"os"
"regexp"
"strings"
noesctmpl "text/template"
@ -45,7 +45,7 @@ func New(factory Factory, options *Options) (*Server, error) {
}
if options.IndexFile != "" {
path := homedir.Expand(options.IndexFile)
indexData, err = ioutil.ReadFile(path)
indexData, err = os.ReadFile(path)
if err != nil {
return nil, errors.Wrapf(err, "failed to read custom index file at `%s`", path)
}
@ -253,7 +253,7 @@ func (server *Server) setupHTTPServer(handler http.Handler) (*http.Server, error
func (server *Server) tlsConfig() (*tls.Config, error) {
caFile := homedir.Expand(server.options.TLSCACrtFile)
caCert, err := ioutil.ReadFile(caFile)
caCert, err := os.ReadFile(caFile)
if err != nil {
return nil, errors.New("could not open CA crt file " + caFile)
}

View File

@ -1,7 +1,7 @@
package server
import (
"io/ioutil"
"io"
"github.com/gorilla/websocket"
"github.com/pkg/errors"
@ -31,7 +31,7 @@ func (wsw *wsWrapper) Read(p []byte) (n int, err error) {
continue
}
b, err := ioutil.ReadAll(reader)
b, err := io.ReadAll(reader)
if len(b) > len(p) {
return 0, errors.Wrapf(err, "Client message exceeded buffer size")
}

View File

@ -1,7 +1,6 @@
package utils
import (
"io/ioutil"
"log"
"os"
"reflect"
@ -114,7 +113,7 @@ func ApplyConfigFile(filePath string, options ...interface{}) error {
fileString := []byte{}
log.Printf("Loading config file at: %s", filePath)
fileString, err := ioutil.ReadFile(filePath)
fileString, err := os.ReadFile(filePath)
if err != nil {
return err
}