wshterm: Terminal emulator over websockets.

[ bsd3, program, web ] [ Propose Tags ]

wshterm wraps google's hterm library and allows you to run terminal applications in a browser.

[Skip to Readme]
Versions [faq],
Change log
Dependencies async, base (>=4.10 && <5.0), binary, bytestring, file-embed, posix-pty, process, wai, wai-app-static, wai-websockets, warp, websockets [details]
License BSD-3-Clause
Copyright (c) 2019 Luke Clifton
Author Luke Clifton
Revised Revision 1 made by lukec at 2020-12-03T12:32:36Z
Category Web
Uploaded by lukec at 2019-03-11T01:01:13Z
Distributions NixOS:
Executables wshterm
Downloads 736 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2019-03-11 [all 3 reports]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for wshterm-

[back to package description]


wshterm is a terminal emulator for the browser.

wshterm combines hterm with a backend application to provide a terminal emulator for the browser. Communication is done via websockets.


  • Runs most CLI and TUI programs (haven't found one that didn't work yet)
  • Ability to display images using the iTerm inline image escape sequences
  • Supports resizing the terminal
  • Run an arbitary command on connection.

It currently does not support SSL, it is currently expected that if you need SSL, you will put it behind a reverse proxy such as NGINX.

It currently does not drop priveleges. Don't run it as root. Use the provided ssh_local script if you want to authenticate.


Simply run as the user you want to run as, and specify a command to be executed.

sudo -u nobody wshterm ./ssh_local