Voltar ao ranking

Share your terminal over the web

ttyterminalxtermterminal-emulatorswebsocketopenwrtttydsslwebsockets
Crescimento de estrelas
Estrelas
12.1k
Forks
1.2k
Crescimento semanal
Issues
70
5k10k
set. de 2016dez. de 2019abr. de 2023jul. de 2026
README

backend frontend GitHub Releases Docker Pulls Packaging status GitHub

ttyd - Share your terminal over the web

ttyd is a simple command-line tool for sharing terminal over the web.

screenshot

Features

  • Built on top of libuv and WebGL2 for speed
  • Fully-featured terminal with CJK and IME support
  • ZMODEM (lrzsz) / trzsz file transfer support
  • Sixel image output support (img2sixel / lsix)
  • SSL support based on OpenSSL / Mbed TLS
  • Run any custom command with options
  • Basic authentication support and many other custom options
  • Cross platform: macOS, Linux, FreeBSD/OpenBSD, OpenWrt, Windows

Installation

Install on macOS

  • Install with Homebrew: brew install ttyd
  • Install with MacPorts: sudo port install ttyd

Install on Linux

  • Install on Debian/Ubuntu: sudo apt install ttyd
  • Install the snap: sudo snap install ttyd --classic
  • Install on OpenWrt: opkg install ttyd
  • Install on Gentoo: clone the repo and follow the directions here.
  • Install with Homebrew : brew install ttyd
  • Precompiled static binaries: download from the releases page

Install on Windows

Usage

Command-line Options

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

OPTIONS:
    -p, --port              Port to listen (default: 7681, use `0` for random port)
    -i, --interface         Network interface to bind (eg: eth0), or UNIX domain socket path (eg: /var/run/ttyd.sock)
    -U, --socket-owner      User owner of the UNIX domain socket file, when enabled (eg: user:group)
    -c, --credential        Credential for basic authentication (format: username:password)
    -H, --auth-header       HTTP Header name for auth proxy, this will configure ttyd to let a HTTP reverse proxy handle authentication
    -u, --uid               User id to run with
    -g, --gid               Group id to run with
    -s, --signal            Signal to send to the command when exit it (default: 1, SIGHUP)
    -w, --cwd               Working directory to be set for the child program
    -a, --url-arg           Allow client to send command line arguments in URL (eg: http://localhost:7681?arg=foo&arg=bar)
    -W, --writable          Allow clients to write to the TTY (readonly by default)
    -t, --client-option     Send option to client (format: key=value), repeat to add more options
    -T, --terminal-type     Terminal type to report, default: xterm-256color
    -O, --check-origin      Do not allow websocket connection from different origin
    -m, --max-clients       Maximum clients to support (default: 0, no limit)
    -o, --once              Accept only one client and exit on disconnection
    -q, --exit-no-conn      Exit on all clients disconnection
    -B, --browser           Open terminal with the default system browser
    -I, --index             Custom index.html path
    -b, --base-path         Expected base path for requests coming from a reverse proxy (eg: /mounted/here, max length: 128)
    -P, --ping-interval     Websocket ping interval(sec) (default: 5)
    -6, --ipv6              Enable IPv6 support
    -S, --ssl               Enable SSL
    -C, --ssl-cert          SSL certificate file path
    -K, --ssl-key           SSL key file path
    -A, --ssl-ca            SSL CA file path for client certificate verification
    -d, --debug             Set log level (default: 7)
    -v, --version           Print the version and exit
    -h, --help              Print this text and exit

Read the example usage on the wiki.

Browser Support

Modern browsers, See Browser Support.

Alternatives

Repositórios relacionados
gpakosz/.tmux

Oh my tmux! My self-contained, pretty & versatile tmux configuration made with 💛🩷💙🖤❤️🤍

ShellMIT Licensetmuxtmux-conf
25.2k3.6k
xtermjs/xterm.js

A terminal for the web

TypeScriptnpmMIT Licensextermterminal
xtermjs.org
20.9k1.9k
yudai/gotty

Share your terminal as a web application

GoGo ModulesMIT Licensettyterminal
19.5k1.4k
railsware/upterm

A terminal emulator for the 21st century.

TypeScriptnpmMIT Licensettyterminal
19.1k607
browsh-org/browsh

A fully-modern text-based browser, rendering to TTY and browsers

JavaScriptnpmGNU Lesser General Public License v2.1ttyssh
brow.sh
18.9k478
faressoft/terminalizer

🦄 Record your terminal and generate animated gif images or share a web player

JavaScriptnpmMIT Licenseterminalrecord
terminalizer.com
16.1k523
cyrus-and/gdb-dashboard

Modular visual interface for GDB in Python

PythonPyPIMIT Licensesubcommandsgdb-command
12.2k822
enquirer/enquirer

Stylish, intuitive and user-friendly prompts. Used by eslint, webpack, yarn, pm2, pnpm, RedwoodJS, FactorJS, salesforce, Cypress, Google Lighthouse, Generate, tencent cloudbase, lint-staged, gluegun, hygen, hardhat, AWS Amplify, GitHub Actions Toolkit, @airbnb/nimbus, and more! Please follow Enquirer's author: https://github.com/jonschlinkert

JavaScriptnpmMIT Licensepromptinquirer
github.com/jonschlinkert
7.9k298
ekzhang/sshx

Fast, collaborative live terminal sharing over the web

Rustcrates.ioMIT Licenseterminalcollaborative
sshx.io
7.5k295
zhaojh329/rtty

🐛 Access your device from anywhere via the web.

CMIT Licensewebshellwebssh
zhaojh329.github.io/rtty/
4k548
tio/tio

A serial device I/O tool

COtherttyterminal
tio.github.io
3.1k205
cdleon/awesome-terminals

Terminal Emulators

terminal-emulatorsterminal
2.8k148