ttyd

Share your terminal over the web

MIT License

Downloads
193
Stars
8K
Committers
63

Bot releases are hidden (Show)

ttyd - 1.5.2

Published by tsl0922 about 5 years ago

This is a bug fix release for 1.5.1.

Changelog

  • Bump to 1.5.2 (d8903e1)
  • Fix potential segmentation fault (SIGSEGV) error #209 (#210) (87a7052)
  • travis: compile html frondend (a6b4d28)
  • html: preact 8.5.0 (bee8af8)
  • server: fix pthread_mutex_trylock usage (251ad41)
  • use errno.h not sys/errno.h in utils.c as in other files (#207) (921ddda)
  • include pthread.h for pthread_mutex_t (#206) (6facf52)
  • html: added window.term.fit (12dd5c7)
  • server: fix the client-option and terminal-type long option (e074513)
  • scripts: enable ipv6 support for lws (243a9b4)
  • server: hide ipv6 option if not suppored by lws (287585d)
  • README: update SSL script to generate sha256 cert (da047be)
  • Update mini-css-extract-plugin in group default to the latest version 🚀 (#201) (62f869f)
ttyd - 1.5.1

Published by tsl0922 over 5 years ago

This is a bug fix release for 1.5.0.

Zmodem support should be more stable now, error handling of the frontend got a lot of improvements too.

Changelog

  • Bump to 1.5.1 (0a8eb1d)
  • html: update modal style (ef00274)
  • Update dependencies to enable Greenkeeper 🌴 (#200) (54711e8)
  • build(deps): bump lodash from 4.17.11 to 4.17.14 in /html (#199) (819d605)
  • xterm.js 3.14.5 (a1b5c23)
  • html: abort zmodem session on ctrl+c (e8fd62e)
  • html: add empty check for copy (39f89ce)
  • html: polish zmodem code (218b149)
  • html: handle websocket error (20f2026)
  • server: remove the reconnect option (enabled by default) (0fc275f)
  • html: retry websocket connection with exponential backoff (fd29928)
  • html: reformat code (b0ed073)
  • html: move zmodem code as Component/ITerminalAddon (84ac40a)
  • xterm.js 3.14.4 (c4b9b6e)
  • protocol: remove the O_NONBLOCK flag on pty fd (513c64c)
  • html: abort on zmodem consume error (9633942)
ttyd - 1.5.0

Published by tsl0922 over 5 years ago

In this release, we dropped support for ie11, and the frontend is based on preact and typescript now. Some long time being issues such as http keepalive support and process hanging are resolved too.

Changelog

  • Bump to 1.5.0 (6505289)
  • http: handle lws_send_pipe_choked state (9b0166b)
  • http: fix libwebsockets 1.7 support (afadc00)
  • html: polish zmodem code (70f16a7)
  • html: auto reconnect on zmodem error (9762993)
  • html: add zmodem support back (6a40f32)
  • html: update lint rules (86123ca)
  • http: add basic auth support back (ae83791)
  • http: fix keepalive for lws_serve_http_file (c1c82b1)
  • http: remove hack for old libwebsocket versions (7901265)
  • html: attach the term instance to window (5dfcb8d)
  • html: enable copy on select (11c1e1b)
  • html: use ts string template (e67d567)
  • html: add xterm weblinks addon (19c89ff)
  • html: restore prefix to console message (37ab5e9)
  • xterm.js 3.14.2 (089182b)
  • http: fix keepalive issue (e3b5691)
  • html: fix lint (dbb72de)
  • html: replace with preact version (66718bc)
  • preact: convert to typescript (3f52934)
  • preact: update dependencies (2b30756)
  • preact: add README (bffedd4)
  • preact: intial commit (8ee982b)
  • html: convert numeric value to enum (38cad37)
  • xterm.js 3.13.2 (c42f885)
  • html: reload page when basic auth is failed (#187) (b525417)
  • html: add tslint to webpack (2aa2035)
  • html: update webpack (ccea4d2)
  • html: hide modal on ws close (3f21d86)
  • html: zmodem.js 0.1.9 (356d13f)
  • html: drop support for ie11 (de37a78)
  • html: migrate to typescript (cd1241c)
  • html: use more es6 syntax (ba77795)
  • xterm.js 3.13.0 (63315dd)
  • html: add ttyd prefix to console log (c8e9815)
  • server: allow reconnect to be 0 (66025e6)
  • utils: fix wait status (1069024)
  • protocol: cleanup process without hanging (e73a8e8)
ttyd - 1.4.4

Published by tsl0922 over 5 years ago

Changelog

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

Published by tsl0922 over 5 years ago

ChangeLog

  • 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)
ttyd - 1.4.2

Published by tsl0922 about 6 years ago

This is a bug fix release for 1.4.1.

ChangeLog

  • Fix ie11 support (8e090612d374f0295283d87f2dfec67988648707)
  • protocol: fix pthread_cond_wait usage (b6d160a0f6c20e5fbbbe2003252f96e105fb2cf0)
  • Downgrade to xterm.js 3.3.0 (6b57876ceb91fcf8fdb55d8d038b25a74d0e5455, #126)
ttyd - 1.4.1

Published by tsl0922 about 6 years ago

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.

Changelog

Notable changes:

  • protocol: ignore invalid message (ff1f19d9ef2b3e1af6983a98ec36b3b9c1b677e2)
  • html: add development server (68b58829cdc2d3ba3b844f660f8305ca56ab0144)
  • html: check trailing slash on pathname for ws url (6a217d7388fcd6d785a09626ab9ac3d9134d06f9)
  • xterm.js: 3.6.0 (30f668846572cf50695d2997db0e4ad1a94a52df)
  • msys2: upgrade PKGBUILD files (44272fa213c386ce7aa259f1d64809b6abaf4aab)
  • libwebsockets 3.0 support (0f97a694465df94f93609adb6ebae05e94554d2e)
  • protocol: replace sleep with pthread cond (176f3e18a39dfb5705aa5b9c75d16730f12d409d)
  • server: custom terminal type support (aac89aa61781465288b3bf78358db50ae1de792c)
  • Add docker musl-cross compile script (ea46a24709f707453e5d43ca2d808e56cfebb6d8)
  • Add git commit id to version string (aaa6fd812d8032d5a4d994a452d0da0950985b01)
ttyd - 1.4.0

Published by tsl0922 about 6 years ago

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:

sz

ChangeLog

  • protocol: fix host origin checking (784ac09f05cb2a60466a3dc9d15519b5a8f4e83f)
  • protocol: fix a regression that may crashes the server(710aa1cd98d065fa07743635870167f415ad2e1a)
  • protocol: use binary message (47ba5daa12761c6deb596aede5893a5636225eff)
  • protocol: avoid extra copy of pty data (9dd8a97e6b022983c965c191f7822d98d8615255)
  • server: use libwebsockets's built-in ping-pong (26f8b17891b6f0d0dc5503d2760894e3ab1dc28c)
  • openwrt: add a simple luci app for ttyd(a566c6c405483a79f9d2b84718b7d1c3737bb8d8)
  • Removed the --signal-list option (a59da79d62bd9e9abc948ba891978e85e91414ea)
  • Support numeric value for --signal (a5b8905c19f497a76e321486d9bd30cfb633a9f2)
  • Sync window title with the terminal (2087fc6efe82c335ecf096321802f0237e9c8e98)
  • Replace browserify with webpack (9715585fc1fb133137e7d3c6764d2dfa623fa321)
  • Upgraded xterm.js to 3.0.2 (40c8861cb935bc4fd6caebb268162938d45bb794)
  • Added ZMODEM support 🎉 (8ff3d313807c6c328956f297b0a86ca2589f7d31)
ttyd - 1.3.3

Published by tsl0922 over 7 years ago

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

gpg --keyserver ha.pool.sks-keyservers.net --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!

ChangeLog

  • Fixed compatibility for OpenBSD (f6361caa50b921d376df3808365ea815f237e64a)
  • Fixed README to generate SSL certificate with SAN field (4ced0c8006d9a3fa12ee593a9de26bb0bc272aef)
  • Upgraded to xterm.js 2.7.0 (055463542fde5eddc21053d821d4206ce4dc6534)
  • Do not reconnect if process exited (4e0801db8ef43d7e949df45f7343e71771dfb3f5)
  • Ony fire resize event when it ends (4cbc7748cfc11071120ca5e7698fa0e2a4962a52)
ttyd - 1.3.2

Published by tsl0922 over 7 years ago

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

ChangeLog

  • Added man page (d5c944a2e1c03e83d63380bf46b094e6a459c559)
  • Fixed client count calculation (35c97df863f6eff64796359703e42a5125bb147a)
  • Simplified docker alpine image building, image size reduced to ~7MB (f95d3debe87601bfff0d3597b0dc4f55f44f81be)
  • Added debian/ dir for deb packaging (@hosiet, #48)
  • Upgraded to xterm.js 2.5.0 (9cc5e4a03b934f43fa64c6ce0d0fe0279bfd27c7)
  • --max-clients option: limit max clients (3580e80783022d1fd8baecc38ab8a00490c16b0c)
ttyd - 1.3.1

Published by tsl0922 over 7 years ago

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

ChangeLog

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

Published by tsl0922 over 7 years ago

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.

ChangeLog

  • --index option: custom index.html path (c9ffa8a8d7d21ca3114b3bcd49fd8d4624723185)
  • --browser option: open terminal with the default system browser (e4c4fea1cb973c5a00405097ae15df2d85bbe005)
  • --signal-list option: print a list of supported signals (896ca9c44cb695904257065321846ce8cb30a95d)
  • Shrinked docker image size (@dduportal, 8db5ca53e135bb4181503f87f9305c17ce826a99)
  • Added support for listening on UNIX domain socket (#33, de75490d3ec594b42478d92d135ef12cb1fdb735)
  • Improved base64 decode and utf8 handling on the client side (f0414d30d8e88e2ef55e1916c18726777fdcb1e3)
  • Fixed command execution order issue (https://github.com/tsl0922/ttyd/pull/34#discussion_r99275241, ffdf56e440c802ea2d7a4ed38304c54700021fc1)
  • Added confirm dialog for window closing (82148cd61397d238a195af4a47ac03cfea73a5c9)
  • Upgraded to xterm.js 2.3.1 (62b2bb5510050b75b94c1c59b10b7b7d58a0288c)
ttyd - 1.2.2

Published by tsl0922 almost 8 years ago

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.

ChangeLog

  • OK to build ttyd on MSYS2 (41b64be11032cf1457ca32226526f39fdf4dbfaa)
  • Upgrade to xterm.js 2.2.3 (dcacbd25af19b3b7a0b6219c5a8d53e9119805d5)
ttyd - 1.2.1

Published by tsl0922 almost 8 years ago

This release comes with SSL client certificate verification support, look at the README to learn how to use this feature.

ChangeLog

  • Enable client certificate verification if ssl CA is given (15e2dd96a4776cb8ed87db381c939061054cd19a)
  • openwrt: add build instruction with SDK (06b8074b1e63eeb647bbb114b0e6f1decfe06108)
ttyd - 1.2.0

Published by tsl0922 almost 8 years ago

ttyd has CJK (Chinese, Japanese, Korean) and IME support now! The new terminal emulator is based on Xterm.js, which is also used by Microsoft Visual Studio Code.

ChangeLog

  • Fixed compile error on FreeBSD (@neelchauhan, bccf6a435db88e0b17e386b928cb0cbc9a514cbf)
  • Re-implemented the base64 function without openssl (a16fdfdbd47a5dca1a939d6e7aa56cbabf2939c8)
  • --client-option option: allows setting terminal preference on the server side (24c3f2a880df947f55f091d9b6486b349fa98eed)
  • Moved the terminal emulator from hterm to xterm.js for CJK and IME support (#22)
  • Show websocket connection error with overlay (fdcbd3512cfc326213f77c9127c1d895356225cd)
ttyd - 1.1.0

Published by tsl0922 about 8 years ago

New Features

  • --once option: accept only one client and exit on disconnection
  • --readonly option: do not allow clients to write to the TTY
  • --check-origin option: do not allow websocket connection from different origin
  • HTTP Server header changed to ttyd, eg: ttyd/1.1.0 (libwebsockets/2.0.2)

Improvements

  • Added check for lws_config.h, some version of libwebsockets may not have this header file
  • libwebsockets : handle fragmented messages, this allows large input on the web
  • OpenWrt Makefile: changed the openssl dependency to libopenssl
ttyd - 1.0.0

Published by tsl0922 about 8 years ago

Initial release.

Features

  • Build on libwebsockets with C for speed
  • Full terminal emulation based on hterm
  • SSL support based on OpenSSL
  • Run any custom command with options
  • Basic authentication support
  • Cross platform: macOS, Linux, OpenWrt

Usage

USAGE:
    ttyd [options] <command> [<arguments...>]

VERSION:
    1.0.0

OPTIONS:
    --port, -p              Port to listen (default: 7681)
    --interface, -i         Network interface to bind
    --credential, -c        Credential for Basic Authentication (format: username:password)
    --uid, -u               User id to run with
    --gid, -g               Group id to run with
    --signal, -s            Signal to send to the command when exit it (default: SIGHUP)
    --reconnect, -r         Time to reconnect for the client in seconds (default: 10)
    --ssl, -S               Enable ssl
    --ssl-cert, -C          Ssl certificate file path
    --ssl-key, -K           Ssl key file path
    --ssl-ca, -A            Ssl ca file path
    --debug, -d             Set log level (0-9, default: 7)
    --version, -v           Print the version and exit
    --help, -h              Print this text and exit
Package Rankings
Top 7.17% on Alpine-v3.8
Top 6.6% on Alpine-v3.11
Top 23.83% on Conda-forge.org
Top 17.16% on Npmjs.org
Top 8.01% on Alpine-v3.17
Top 7.17% on Alpine-v3.6
Top 6.43% on Alpine-v3.14
Top 1.21% on Alpine-v3.18
Top 11.4% on Formulae.brew.sh
Top 6.27% on Alpine-v3.10
Top 6.3% on Alpine-v3.12
Top 6.65% on Alpine-v3.7
Top 6.65% on Alpine-v3.9
Top 7.44% on Alpine-v3.15
Top 7.87% on Alpine-v3.16
Top 5.9% on Alpine-v3.13
Top 5.23% on Alpine-edge
Badges
Extracted from project README
GitHub Releases Docker Pulls Packaging status