A terminal plugin for the Acode Android code editor that runs Termux shell sessions inside the app, with optional AI command help.
butlerx/wetty
A terminal emulator you open in a web browser, served over HTTP/HTTPS and built on xterm.js and WebSockets.
- Stars
- 5,479
- Forks
- 771
- Open issues
- 15
- Last commit
- yesterday
What is it?
WeTTY gives you a shell in the browser. It runs a Node.js server that serves an xterm.js terminal page and relays input and output to a local shell or an SSH server over WebSockets. Compared with older browser terminals such as Ajaxterm and Anyterm, it uses WebSockets instead of Ajax polling, which keeps keystroke response times low.
When run as root, WeTTY launches /bin/login so users can enter a username. Otherwise it starts ssh and connects to localhost by default, and you can point it at a remote host with the SSH host, port and user options. Authentication can be password or public key, and the server requires an explicit list of allowed browser origins. It can be run from npm, from a Docker image, or behind a reverse proxy such as nginx or traefik for HTTPS.
Key features
- 01Runs a full terminal emulator in the browser via xterm.js.
- 02Uses WebSockets (Socket.IO) for low-latency input and output.
- 03Connects to a local login shell or a remote SSH server.
- 04Supports SSH password and public key authentication.
- 05Requires an allowed-origin list and offers a configurable base path.
- 06Ships as an npm package and a Docker image.
Use cases
- Giving team members browser-based shell access to a server without a native SSH client.
- Offering a web terminal on an internal machine behind a reverse proxy.
- Accessing a home server or lab machine from a device without a terminal app.
Quick start
- 1
Install WeTTY globally with npm
npm -g i wetty - 2
Start WeTTY with an allowed browser origin
wetty --allowed-origin http://yourserver:3000 - 3
Open the browser at the server address and log in
Things to know
- Requires node 20 or newer plus build tools such as make, python and build-essential.
- Requires an explicit --allowed-origin setting before it will accept connections.
- Gives full terminal access, so it must be secured with HTTPS and a reverse proxy.
In collections
Topics
FAQ
- What is wetty?
- A terminal emulator you open in a web browser, served over HTTP/HTTPS and built on xterm.js and WebSockets. WeTTY gives you a shell in the browser. It runs a Node.js server that serves an xterm.js terminal page and relays input and output to a local shell or an SSH server over WebSockets. Compared with older browser terminals such as Ajaxterm and Anyterm, it uses WebSockets instead of Ajax polling, which keeps keystroke response times low.
- Is wetty free to use? What license does it have?
- wetty is open source under the MIT license. Check the license terms before using it in commercial products.
- Is wetty still maintained?
- Actively maintained. The last commit to wetty was on Nov 6, 2026.
- What can I use wetty for?
- Giving team members browser-based shell access to a server without a native SSH client. Offering a web terminal on an internal machine behind a reverse proxy. Accessing a home server or lab machine from a device without a terminal app.
- How do I install wetty?
- Install WeTTY globally with npm: npm -g i wetty Start WeTTY with an allowed browser origin: wetty --allowed-origin http://yourserver:3000 Open the browser at the server address and log in
- Where can I get wetty?
- The source code and installation instructions are on GitHub: https://github.com/butlerx/wetty
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A command-line tool that shares any terminal program over the web through a browser-based xterm.js terminal.
Remote control for the pi terminal coding agent: mirror live sessions to a browser or phone and send messages or commands over a self-hosted relay.
Browser-based terminal access that lets you run, monitor and command shell sessions and AI coding agents from any device.
A cloud-native web terminal and ACP agent workspace with persistent sessions, file editing, and multi-host access, usable from desktop, tablet, and phone.
Self-hosted browser workspace for SSH terminals and SFTP file transfers, with multi-user accounts, passkeys, OIDC and encrypted key storage.