Blog

tTerm ya funciona en el navegador

Hasta ahora, tTerm vivía en Telegram: comandos a tus servidores directamente desde un chat. Hoy abrimos tTerm Web, una terminal de verdad en tu navegador. Todos tus servidores y computadoras en una pestaña, cada comando en su propio bloque y ninguna clave en tu dispositivo.

Así es tTerm Web: las máquinas por proyecto a la izquierda, las pestañas arriba y cada comando en su propio bloque.

Por qué un navegador si ya hay un bot

El bot va muy bien cuando solo tienes el teléfono a mano: reiniciar un servicio, revisar el disco, responder a la pregunta de un instalador. Pero el trabajo largo pide una pantalla grande: varias pestañas una al lado de otra, vim y htop a pantalla completa, un historial donde encontrar fácilmente el comando de ayer.

Para eso está tTerm Web. Se abre en cualquier navegador, en un portátil, una tableta o un teléfono, y no necesita nada instalado en el dispositivo desde el que trabajas.

Cada comando en su propio bloque

En una terminal normal todo se mezcla en un solo flujo, y tienes que buscar a ojo dónde terminó un comando y dónde empezó el siguiente. En tTerm cada comando llega en su propio bloque: el comando, su salida, el código de salida, la duración, el directorio y la rama de git.

Puedes copiar un bloque junto con su salida, plegarlo o volver a ejecutarlo. Mientras un comando se ejecuta, su salida aparece en directo, y cuando termina, el bloque queda como texto normal, fácil de seleccionar y copiar.

Una línea de entrada como en un editor

Abajo hay una línea de entrada propia. Shift+Enter crea una nueva línea, en gris se sugiere un comando de tu historial y Tab autocompleta. El historial se guarda en nuestros servidores, así que es el mismo en todos tus dispositivos.

Encima de la línea ves dónde estás: el directorio y la rama. Haz clic en ellos, elige otro de la lista y cd o git switch se ejecutan como un bloque normal. Y antes de un comando peligroso, de los que no tienen vuelta atrás, tTerm te pide confirmación.

vim, htop y sudo

Los programas a pantalla completa ocupan todo el espacio de la terminal y funcionan con normalidad, igual que sudo. Si no quieres bloques, hay un modo clásico: una sola terminal continua, como la de siempre.

La terminal no se cierra con la pestaña

La terminal vive en nuestro servidor, no en tu navegador. Cierra el portátil mientras un servidor compila: la compilación sigue y su salida se guarda. Abre tTerm en otro dispositivo y la terminal estará ahí.

Las pestañas de distintos proyectos se abren una al lado de otra y llevan el código del proyecto: P/web-01, A/api-prod. Cmd+K abre la paleta: ir a cualquier terminal, abrir una nueva en cualquier máquina o ejecutar una acción.

Cómo conectar una máquina

Un servidor Linux se conecta con un solo comando. tTerm Web te lo muestra cuando añades una máquina, y tú lo ejecutas en el servidor:

$ curl -sSL https://connect.tterm.net/s/… | sudo sh

El instalador crea en el servidor un usuario llamado tterm, añade una línea a su authorized_keys y le da sudo en un archivo propio en /etc/sudoers.d. No toca sshd_config, no reinicia sshd y no abre puertos. Unos segundos después, el servidor aparece en tu lista.

Una computadora con macOS o Linux se conecta mediante un pequeño agente. Se ejecuta con tu usuario e inicia por sí mismo la conexión con nuestro servidor, así que no hacen falta puertos entrantes y la computadora puede estar detrás de NAT. El agente se desinstala con un solo comando.

Seguridad

Nos conectamos a tus máquinas, así que diseñamos el acceso para que sea fácil de conceder e igual de fácil de retirar.

  • No necesitamos tus claves. Para cada conexión, tTerm firma un nuevo certificado SSH con tu nombre. Solo es válido para ese servidor y deja de funcionar dos minutos después.
  • La firma, por separado. Las claves con las que firmamos viven en un proceso aparte, sin red. El programa principal no puede leerlas, solo pedir una firma, y cada firma queda registrada.
  • Sin intermediarios. El servidor de tTerm está en la UE. La página y las terminales van directamente a él: Cloudflare solo gestiona nuestro DNS y nunca ve tus comandos.
  • Fácil de retirar. Elimina un servidor en tTerm y tTerm quitará por sí mismo su acceso a ese servidor; si el servidor no responde, tTerm te muestra el comando que hay que ejecutar en él. Cómo quitar todo lo demás que configuró el instalador viene explicado al principio del propio script.
  • Código abierto. tTerm Web y el agente son de código abierto, con licencia AGPL-3.0. El script de instalación es corto y vale la pena leerlo antes de ejecutarlo.

Cuánto cuesta

Mientras tTerm Web esté en beta, es gratis para todos.

50máquinas por persona
24terminales abiertas
30días de historial con salida

Los planes de pago llegarán más adelante, y te avisaremos con mucha antelación.

¿Y el bot?

@tTermNetBot se queda y sigue funcionando: comandos a tus servidores directamente desde el chat, cuando solo tienes el teléfono a mano. Por ahora, el bot y la aplicación web funcionan por separado, cada uno con su propia lista de máquinas. Más adelante los uniremos.

Lo que viene

El siguiente gran paso es el trabajo en equipo: roles en un proyecto, un registro compartido de comandos y la observación de la terminal de un compañero, en la que la persona observada siempre ve quién está mirando. Las computadoras con Windows todavía no son compatibles; llegaremos a ellas más adelante.

Prueba tTerm Web

Inicia sesión con tu correo electrónico: recibirás un código, y después, en tus propios dispositivos, bastará con un código corto. Tu primer servidor se conecta en un minuto.

Empezar gratis

Más del blog

Todos los artículos
Todos los artículos