anilgulecha/ttydterm

A terminal in your browser, powered by ttyd and tmux.

0

stars

21

commits

HTML

primary language

Sep 5, 2026

updated

www.gulecha.org/ttydterm/
console
linux
mac
terminal
web-based
windows

README

ttydterm

A terminal in your browser, with unix tools (ttyd, tmux) that you love and trust.

Open the main site

ttydterm showing a README workspace with three terminal panes

Features

  • Workspaces: Keep projects, working directories, and terminals separate; drag icons or use their menus to reorder.
  • Split panes: Arrange rows and columns, then exchange live terminals without reconnecting them.
  • Pane setup: Choose each pane’s command; workspace settings own its working directory and appearance.
  • tmux continuity: Apply one global policy and keep processes running through disconnects.
  • Completion alerts: Mark finished commands and optionally notify when away.
  • Themes: Choose per-workspace colors, patterns, and font size, with app-wide font defaults.
  • Keyboard control: Navigate and search without the mouse.
  • Backup: Export and restore your workspace configuration.
  • Offline: Run the complete interface from one index.html.
  • Hackable: Build your terminal just like you want it. I've set up the base.

Run

Install ttyd and tmux:

# Homebrew / macOS
brew install ttyd tmux

# Debian / Ubuntu
sudo apt install ttyd tmux

# Fedora
sudo dnf install ttyd tmux

# Arch
sudo pacman -S ttyd tmux

Download the release file:

curl -fL https://www.gulecha.org/ttydterm/index.html -o "$HOME/ttydterm.html"

Replace user:password with credentials you choose, then start ttydterm:

ttyd -i 127.0.0.1 -p 7681 -W -O -c user:password -I "$HOME/ttydterm.html" -t cursorBlink=false bash -l

Open http://localhost:7681. Keep the default 127.0.0.1 binding for local use. If you bind ttyd to another interface, add TLS.

The main site covers controls, themes, tmux, notifications, security, and configuration.

Development

Canonical source lives in src/. build.mjs generates the self-contained index.html file.

bun run build.mjs
python3 -m http.server 8791 &
BASE=http://127.0.0.1:8791/ node test.mjs
git diff --check

The project uses globally installed Bun and TypeScript. It has no package manifest, lockfile, or local node_modules directory.

Contributions

This project accepts contributions only as issues. Include your request and, optionally, a prompt you tested that builds the feature.

Please do not open pull requests. I only trust changes I build myself, in my own way.

Forks and experimentation are welcome. If you try something interesting, send me an email note. :)

MIT licensed.

Contributors

anilgulecha

21 commits

anilgulecha/ttydterm

A terminal in your browser, powered by ttyd and tmux.

0

stars

21

commits

HTML

primary language

Sep 5, 2026

updated

www.gulecha.org/ttydterm/
console
linux
mac
terminal
web-based
windows

README

ttydterm

A terminal in your browser, with unix tools (ttyd, tmux) that you love and trust.

Open the main site

ttydterm showing a README workspace with three terminal panes

Features

  • Workspaces: Keep projects, working directories, and terminals separate; drag icons or use their menus to reorder.
  • Split panes: Arrange rows and columns, then exchange live terminals without reconnecting them.
  • Pane setup: Choose each pane’s command; workspace settings own its working directory and appearance.
  • tmux continuity: Apply one global policy and keep processes running through disconnects.
  • Completion alerts: Mark finished commands and optionally notify when away.
  • Themes: Choose per-workspace colors, patterns, and font size, with app-wide font defaults.
  • Keyboard control: Navigate and search without the mouse.
  • Backup: Export and restore your workspace configuration.
  • Offline: Run the complete interface from one index.html.
  • Hackable: Build your terminal just like you want it. I've set up the base.

Run

Install ttyd and tmux:

# Homebrew / macOS
brew install ttyd tmux

# Debian / Ubuntu
sudo apt install ttyd tmux

# Fedora
sudo dnf install ttyd tmux

# Arch
sudo pacman -S ttyd tmux

Download the release file:

curl -fL https://www.gulecha.org/ttydterm/index.html -o "$HOME/ttydterm.html"

Replace user:password with credentials you choose, then start ttydterm:

ttyd -i 127.0.0.1 -p 7681 -W -O -c user:password -I "$HOME/ttydterm.html" -t cursorBlink=false bash -l

Open http://localhost:7681. Keep the default 127.0.0.1 binding for local use. If you bind ttyd to another interface, add TLS.

The main site covers controls, themes, tmux, notifications, security, and configuration.

Development

Canonical source lives in src/. build.mjs generates the self-contained index.html file.

bun run build.mjs
python3 -m http.server 8791 &
BASE=http://127.0.0.1:8791/ node test.mjs
git diff --check

The project uses globally installed Bun and TypeScript. It has no package manifest, lockfile, or local node_modules directory.

Contributions

This project accepts contributions only as issues. Include your request and, optionally, a prompt you tested that builds the feature.

Please do not open pull requests. I only trust changes I build myself, in my own way.

Forks and experimentation are welcome. If you try something interesting, send me an email note. :)

MIT licensed.

Contributors

anilgulecha

21 commits

Languages

HTML

59.7%

JavaScript

19.3%

TypeScript

17.3%

CSS

3.7%