Go to file
jasonwitty 6e48c095ab Initial commit: Socktop WebTerm with k3s deployment
- Multi-architecture Docker image (ARM64 + AMD64)
- Kubernetes manifests for 3-replica deployment
- Traefik ingress configuration
- NGINX Proxy Manager integration
- ConfigMap-based configuration
- Automated build and deployment scripts
- Session monitoring tools
2025-11-28 01:31:33 -08:00
docker Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
files Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
kubernetes Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
screenshots Add README 2019-06-02 00:31:35 +02:00
src Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
static Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
templates Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
.dockerignore Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
.gitignore Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
.gitmodules remove vendored stund 2019-06-05 15:54:12 +02:00
.travis.yml ci: add .travis.yml 2019-03-29 09:11:07 -04:00
Cargo.lock Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
Cargo.toml Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
CATPPUCCIN_STYLING.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
CONVERSATION_SUMMARY.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
DOCKER_DEPLOYMENT.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
DOCKER_README.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
docker-compose.yml Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
docker-quickstart.sh Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
Dockerfile Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
IDLE_TIMEOUT_QUICKREF.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
IDLE_TIMEOUT.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
LICENSE chore: License under BSD-3-Clause 2019-03-04 08:24:56 +01:00
package-lock.json Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
package.json Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
publish-to-gitea-multiarch.sh Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
publish-to-gitea.sh Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
QUICKSTART.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
README.md Update readme with instructions for run, build, and browser live on 8080 2022-07-26 12:23:46 +02:00
STATIC_ASSETS.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
TERMINAL_WINDOW_STYLING.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
test_xterm.html Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
tmp_bind Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
tmp_bind.rs Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
TRANSPARENCY_GUIDE.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
UPGRADE_SUMMARY.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
verify_upgrade.sh Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00
XTERM_UPGRADE.md Initial commit: Socktop WebTerm with k3s deployment 2025-11-28 01:31:33 -08:00

webterm

web terminal based on xterm.js in rust

Screenshot

Is it any good?

Yes.

How does it work?

There is a rust backend based Actix, consisting of two actors:

  • Websocket implements a websocket that speaks the Terminado protocol
  • Terminal handles communication to a child spawned on a PTY using tokio-pty-process.

The frontend is a static HTML page served by actix-web providing an xterm.js UI.

Local development

cargo build
cargo run

Then head to http://localhost:8080/ to see it in action!

Should I run this on the internet?

Probably not. It lets anyone who can access the webpage control your system.