hterm and Secure Shell (and a few related projects)

Clone this repo:
  1. 779be18 nassh: allow for fallback endpoint proxy by Joel Hockey · 18 hours ago main
  2. 54fe285 terminal: fix handling of args[] which are passed to vsh by Joel Hockey · 4 days ago
  3. aff48f5 hterm: etc: Remove trailing newline in escape sequence by Hsin-chen Chuang · 3 weeks ago
  4. 6a2a78d terminal: check webgl2 support for xterm.js webgl addon by Jason Lin · 4 weeks ago
  5. 55de40a terminal: always support tmux integration by Jason Lin · 5 weeks ago


This repository contains the libdot JavaScript library and some web applications that make use of it.

The official copy of this repository is hosted at

There is also a mirror on github at A few subprojects are also extracted out into their own git repo and mirrored. Keep in mind that these mirrors may occasionally be behind the official repository.

All changes must go through the Gerrit code review server on Github pull requests cannot be accepted. Please see the document in this directory for the details.

Top level directories

  • libdot/ is a small set of JS libraries initially developed as part of hterm, now available as shared code.

  • hterm/ is a JS library that provides a terminal emulator. It is reasonably fast, reasonably correct, and reasonably portable across browsers.

  • nassh/ is the Chrome Secure Shell extension that combines hterm with a build of OpenSSH to provide a PuTTY-like app for Chrome users.

  • ssh_client/ is the NaCl & WASM port of OpenSSH.

  • terminal/ is the ChromeOS Terminal application.

  • wassh/ is the JS part of the WASM OpenSSH port.

  • wasi-js-bindings/ provides JS bindings for WASI which is used by the WASM port.