Herramienta de línea de comandos que comparte cualquier programa de terminal por la web mediante una terminal xterm.js en el navegador.
butlerx/wetty
Un emulador de terminal que se abre en el navegador, se sirve por HTTP/HTTPS y está basado en xterm.js y WebSockets.
- Estrellas
- 5,479
- Forks
- 770
- Issues abiertos
- 15
- Último commit
- hace 8 días
¿Qué es?
WeTTY ofrece una shell en el navegador. Ejecuta un servidor Node.js que sirve una página de terminal xterm.js y retransmite la entrada y la salida a una shell local o a un servidor SSH mediante WebSockets. A diferencia de terminales web más antiguos, como Ajaxterm y Anyterm, usa WebSockets en lugar de consultas periódicas con Ajax, lo que mantiene bajos los tiempos de respuesta al pulsar teclas.
Cuando se ejecuta como root, WeTTY inicia /bin/login para que los usuarios puedan ingresar un nombre de usuario. De lo contrario, inicia ssh y se conecta a localhost de forma predeterminada; también puedes indicarle un host remoto con las opciones de host, puerto y usuario de SSH. La autenticación puede realizarse con contraseña o clave pública, y el servidor requiere una lista explícita de orígenes del navegador permitidos. Puede ejecutarse desde npm, desde una imagen de Docker o detrás de un proxy inverso, como nginx o traefik, para usar HTTPS.
Funciones clave
- 01Ejecuta un emulador de terminal completo en el navegador mediante xterm.js.
- 02Usa WebSockets (Socket.IO) para transmitir la entrada y la salida con baja latencia.
- 03Se conecta a una shell de inicio de sesión local o a un servidor SSH remoto.
- 04Admite autenticación SSH con contraseña y clave pública.
- 05Requiere una lista de orígenes permitidos y ofrece una ruta base configurable.
- 06Se distribuye como paquete npm e imagen de Docker.
Casos de uso
- Dar a los miembros del equipo acceso a la shell de un servidor desde el navegador, sin un cliente SSH nativo.
- Ofrecer una terminal web en una máquina interna detrás de un proxy inverso.
- Acceder a un servidor doméstico o a una máquina de laboratorio desde un dispositivo sin una aplicación de terminal.
Inicio rápido
- 1
Instala WeTTY globalmente con npm
npm -g i wetty - 2
Inicia WeTTY con un origen de navegador permitido
wetty --allowed-origin http://yourserver:3000 - 3
Abre la dirección del servidor en el navegador e inicia sesión
Antes de usarlo
- Requiere node 20 o posterior y herramientas de compilación como make, python y build-essential.
- Requiere configurar explícitamente --allowed-origin antes de aceptar conexiones.
- Proporciona acceso completo al terminal, por lo que debe protegerse con HTTPS y un proxy inverso.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es wetty?
- Un emulador de terminal que se abre en el navegador, se sirve por HTTP/HTTPS y está basado en xterm.js y WebSockets. WeTTY ofrece una shell en el navegador. Ejecuta un servidor Node.js que sirve una página de terminal xterm.js y retransmite la entrada y la salida a una shell local o a un servidor SSH mediante WebSockets. A diferencia de terminales web más antiguos, como Ajaxterm y Anyterm, usa WebSockets en lugar de consultas periódicas con Ajax, lo que mantiene bajos los tiempos de respuesta al pulsar teclas.
- ¿wetty es gratuito? ¿Qué licencia tiene?
- wetty es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿wetty sigue mantenido?
- Mantenimiento activo. El último commit de wetty fue el 30 oct 2026.
- ¿Para qué puedo usar wetty?
- Dar a los miembros del equipo acceso a la shell de un servidor desde el navegador, sin un cliente SSH nativo. Ofrecer una terminal web en una máquina interna detrás de un proxy inverso. Acceder a un servidor doméstico o a una máquina de laboratorio desde un dispositivo sin una aplicación de terminal.
- ¿Cómo se instala wetty?
- Instala WeTTY globalmente con npm: npm -g i wetty Inicia WeTTY con un origen de navegador permitido: wetty --allowed-origin http://yourserver:3000 Abre la dirección del servidor en el navegador e inicia sesión
- ¿Dónde consigo wetty?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/butlerx/wetty
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Control remoto del agente de programación de terminal pi: refleja sesiones en tiempo real en un navegador o teléfono y permite enviar mensajes o comandos a través de un relay autohospedado.
Acceso a terminal desde el navegador para ejecutar, supervisar y controlar sesiones de shell y agentes de programación con IA desde cualquier dispositivo.
Terminal web cloud-native y espacio de trabajo para agentes ACP, con sesiones persistentes, edición de archivos y acceso a varios hosts desde computadoras, tabletas y teléfonos.
Espacio de trabajo autohospedado en el navegador para terminales SSH y transferencias de archivos SFTP, con cuentas multiusuario, passkeys, OIDC y almacenamiento cifrado de claves.
Un servidor BBS moderno en Node.js, con acceso por Telnet, SSH y WebSocket, además de compatibilidad con FidoNet, correo electrónico y door games retro.