Skip to content

@tsl0922 tsl0922 released this Apr 21, 2019


  • protocol: set the pty file descriptor non blocking (4cd6d48)
  • html: remove bulma (14670ed)
  • protocol: do not block main thread when destroying client (d5a542d)
Assets 10

@tsl0922 tsl0922 released this Apr 20, 2019


  • xterm.js 3.12.2 (1bc92df)
  • server: do not block main thread when acquiring lock (e954cb5)
  • Dockerfile: add tini as entrypoint (222cd67)
  • server: add support for cli args via url (74e091f)
  • server: remove unused options (bd8d2cf)
  • server: use the default ssl_cipher_list (348de8e)
  • html: do not apply winptyCompat addon (7ed537a)
  • protocol: exit thread as soon as the command terminate, fixes #112 (f95cacd)
  • Add instructions for Gentoo Linux users (#147) (10b479e)
  • Update Dockerfile-alpine (#166) (0f23415)
  • Update max_heaser_data deafult from 4K to 20K (#163) (7f7bf3c)
  • protocol: kill process group (154cacc)
  • cmake: fix compile on macOS (80bcfee)
  • Close the websocket after forking so that child processes don't prevent new connections (#162) (0b44b9b)
  • protocol: cleanup stale thread (51c1ec0)
  • server: add option to toggle IPv6 support (62bef0d)
  • expose term instance to window for programatic use cases (#131) (a428a7a)
Assets 10

@tsl0922 tsl0922 released this Sep 12, 2018 · 49 commits to master since this release

This is a bug fix release for 1.4.1.


Assets 10

@tsl0922 tsl0922 released this Sep 4, 2018 · 55 commits to master since this release

This release comes with experimental libwebsockets 3.0 support, and the latest version of xterm.js. Thanks to the richfelker/musl-cross-make project, you can download precompiled linux binary for more platforms now.


Notable changes:

  • protocol: ignore invalid message (ff1f19d)
  • html: add development server (68b5882)
  • html: check trailing slash on pathname for ws url (6a217d7)
  • xterm.js: 3.6.0 (30f6688)
  • msys2: upgrade PKGBUILD files (44272fa)
  • libwebsockets 3.0 support (0f97a69)
  • protocol: replace sleep with pthread cond (176f3e1)
  • server: custom terminal type support (aac89aa)
  • Add docker musl-cross compile script (ea46a24)
  • Add git commit id to version string (aaa6fd8)
Assets 10

@tsl0922 tsl0922 released this Sep 3, 2018 · 89 commits to master since this release

ttyd 1.4.0 is out, it is our biggest release yet!

This release comes with significant performance improvements and less memory usage.

xterm.js has been updated to 3.0 version which moves from DOM-based rendering to canvas-based, there was a 5 to 45 times performance improvement depending on the situation.

The ZMODEM protocol support is added, yes you can use lrzsz now 🎉 , here is a screenshot:



  • protocol: fix host origin checking (784ac09)
  • protocol: fix a regression that may crashes the server(710aa1c)
  • protocol: use binary message (47ba5da)
  • protocol: avoid extra copy of pty data (9dd8a97)
  • server: use libwebsockets's built-in ping-pong (26f8b17)
  • openwrt: add a simple luci app for ttyd(a566c6c)
  • Removed the --signal-list option (a59da79)
  • Support numeric value for --signal (a5b8905)
  • Sync window title with the terminal (2087fc6)
  • Replace browserify with webpack (9715585)
  • Upgraded xterm.js to 3.0.2 (40c8861)
  • Added ZMODEM support 🎉 (8ff3d31)
Assets 10

@tsl0922 tsl0922 released this Jun 18, 2017 · 113 commits to master since this release

Statically linked release for linux can be downloaded now, you can verify it's signature using gpg:

gpg --keyserver --recv-keys DC066DDA23C989D4CA5577F27E37674BC59FFF5A
gpg --verify ttyd-static-amd64.asc

The static binary can be run directly without libc, no runtime dependencies is required. Currently, only amd64 version is available, more platforms is coming soon!


  • Fixed compatibility for OpenBSD (f6361ca)
  • Fixed README to generate SSL certificate with SAN field (4ced0c8)
  • Upgraded to xterm.js 2.7.0 (0554635)
  • Do not reconnect if process exited (4e0801d)
  • Ony fire resize event when it ends (4cbc774)
Assets 4

@tsl0922 tsl0922 released this Apr 14, 2017 · 125 commits to master since this release

Starting from this release, ttyd is avaliable from ppa:tsl0922/ttyd-dev for ubuntu 16.04 and later, view the instructions.


  • Added man page (d5c944a)
  • Fixed client count calculation (35c97df)
  • Simplified docker alpine image building, image size reduced to ~7MB (f95d3de)
  • Added debian/ dir for deb packaging (@hosiet, #48)
  • Upgraded to xterm.js 2.5.0 (9cc5e4a)
  • --max-clients option: limit max clients (3580e80)
Assets 2

@tsl0922 tsl0922 released this Mar 10, 2017 · 140 commits to master since this release

This release fixes some critical bugs, users are encouraged to upgrade, especially those who are using the basic authentication feature.


  • Added alpine docker image (@dduportal, #38)
  • Fixed font-family issue for windows (#40, e6c0961)
  • Added padding for terminal container (2c34c52)
  • Upgraded to xterm.js 2.4.0 with WebLinks support (5db1564)
  • Supported for compiling under OpenBSD (@dohnuts, #44)
  • Fixed an issue that can bypass basic authentication (4d31e53)
  • Fixed potential segmentation fault (SIGSEGV) error (08ac6dc)
Assets 2

@tsl0922 tsl0922 released this Feb 11, 2017 · 153 commits to master since this release

This release comes with some new features and bug fixes, and xterm.js has been upgraded to the latest version with huge performance improvements.

xterm.js 2.3.0 introduces a new option useFlowControl which is not enabled by default, you can enable it on ttyd with option: -t useFlowControl=true.


  • --index option: custom index.html path (c9ffa8a)
  • --browser option: open terminal with the default system browser (e4c4fea)
  • --signal-list option: print a list of supported signals (896ca9c)
  • Shrinked docker image size (@dduportal, 8db5ca5)
  • Added support for listening on UNIX domain socket (#33, de75490)
  • Improved base64 decode and utf8 handling on the client side (f0414d3)
  • Fixed command execution order issue (#34 (comment), ffdf56e)
  • Added confirm dialog for window closing (82148cd)
  • Upgraded to xterm.js 2.3.1 (62b2bb5)
Assets 2

@tsl0922 tsl0922 released this Dec 25, 2016 · 167 commits to master since this release

ttyd works on windows now! The build instructions is here, since the output binary depends on msys runtime dll, you need to build it yourself.

NOTE: Native windows console programs may not work correctly due to pty incompatibility issues. As a workaround, you can use winpty as a wrapper to invoke the windows program, eg: ttyd winpty cmd.


  • OK to build ttyd on MSYS2 (41b64be)
  • Upgrade to xterm.js 2.2.3 (dcacbd2)
Assets 2
You can’t perform that action at this time.