The only problem with tty.js is that apparently chjj doesn’t use it himself any longer, as he hasn’t been actively maintaining it for some time. (I’m guilty of similar neglect with respect to PuTTY-CAC.) Many of tty.js’s underlying components, such as socket.io and Express have fielded new versions, but tty.js hasn’t been updated to use those new versions. Similarly, the actual terminal emulator code is in term.js, but the inevitable updates required for current browsers haven’t happened in that project either. Sourcelair created a fork of term.js called xterm.js that addresses many of the shortfalls of term.js.
So, this week I created ttyx, which replaces term.js with xterm.js and also is updated to use current versions of socket.io and Express. It is available at https://github.com/risacher/ttyx. It is not yet available in npm, although that will hopefully happen at some point.