Blog

tTerm ora funziona nel browser

Finora tTerm viveva su Telegram: comandi ai tuoi server direttamente da una chat. Oggi apriamo tTerm Web, un vero terminale nel browser. Tutti i tuoi server e computer in una scheda, ogni comando in un blocco a sé e nessuna chiave sul tuo dispositivo.

Ecco tTerm Web: a sinistra le macchine divise per progetto, in alto le schede, ogni comando in un blocco a sé.

Perché un browser, se c'è già il bot

Il bot è l'ideale quando hai solo il telefono: riavviare un servizio, controllare lo spazio su disco, rispondere alla domanda di un installer. Ma il lavoro più lungo chiede uno schermo grande: più schede affiancate, vim e htop a schermo intero, una cronologia in cui ritrovare facilmente il comando di ieri.

Per questo c'è tTerm Web. Si apre in qualsiasi browser, su portatile, tablet o telefono, e non richiede di installare nulla sul dispositivo da cui lavori.

Ogni comando in un blocco a sé

In un terminale normale tutto si mescola in un unico flusso, e devi cercare a occhio dove è finito un comando e dove è cominciato il successivo. In tTerm ogni comando arriva in un blocco a sé: il comando, il suo output, il codice di uscita, il tempo, la directory e il branch git.

Puoi copiare un blocco insieme al suo output, comprimerlo o eseguirlo di nuovo. Mentre il comando è in esecuzione, l'output scorre in diretta, e quando finisce, il blocco diventa semplice testo, facile da selezionare e copiare.

Una riga di input come in un editor

In basso c'è una riga di input tutta sua. Shift+Enter va a capo, un comando della cronologia viene suggerito in grigio, Tab completa. La cronologia è salvata da noi, quindi è la stessa su tutti i tuoi dispositivi.

Sopra la riga vedi dove ti trovi: la directory e il branch. Fai clic su uno dei due e scegli un'altra voce dall'elenco, e cd o git switch viene eseguito come un normale blocco. E prima di un comando pericoloso, di quelli dopo cui non c'è più niente da aggiustare, tTerm ti chiede conferma.

vim, htop e sudo

I programmi a schermo intero occupano tutta l'area del terminale e funzionano come sempre, e lo stesso vale per sudo. Se i blocchi non ti servono, c'è una modalità classica: un unico terminale continuo, come quello a cui sei abituato.

Il terminale non si chiude con la scheda

Il terminale vive sul nostro server, non nel tuo browser. Chiudi il portatile nel mezzo di una build su un server: la build va avanti e l'output viene conservato. Apri tTerm su un altro dispositivo e ritrovi il terminale lì dov'era.

Le schede di progetti diversi si aprono una accanto all'altra e riportano il codice del progetto: P/web-01, A/api-prod. Cmd+K apre la palette dei comandi: vai a qualsiasi terminale, aprine uno nuovo su qualsiasi macchina o esegui un'azione.

Come collegare una macchina

Un server Linux si collega con un solo comando. tTerm Web te lo mostra quando aggiungi una macchina, e tu lo esegui sul server:

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

L'installer crea sul server un utente chiamato tterm, aggiunge una riga al suo file authorized_keys e gli dà sudo con un file dedicato in /etc/sudoers.d. Non tocca sshd_config, non riavvia sshd e non apre porte. Pochi secondi dopo il server compare nel tuo elenco.

Un computer con macOS o Linux si connette tramite un piccolo agente. Gira con il tuo utente e contatta da solo il nostro server, quindi non servono porte in ingresso e il computer può stare dietro NAT. L'agente si disinstalla con un solo comando.

Sicurezza

Ci colleghiamo alle tue macchine, quindi abbiamo progettato l'accesso in modo che sia facile da concedere e altrettanto facile da revocare.

  • Le tue chiavi non servono. Per ogni connessione tTerm firma un nuovo certificato SSH con il tuo nome. Vale solo per quel server e smette di funzionare dopo due minuti.
  • Firma isolata. Le chiavi con cui firmiamo vivono in un processo separato, senza rete. Il programma principale non può leggerle, può solo chiedere una firma, e ogni firma viene registrata.
  • Nessun intermediario. Il server di tTerm si trova nell'UE. La pagina e i terminali si collegano direttamente lì: Cloudflare gestisce solo il nostro DNS e non vede mai i tuoi comandi.
  • Facile da revocare. Rimuovi un server in tTerm e tTerm toglie da solo il proprio accesso dal server; se il server non risponde, tTerm ti mostra il comando da eseguire lì. Come rimuovere tutto il resto che l'installer ha configurato lo trovi scritto in cima allo script stesso.
  • Open source. tTerm Web e l'agente sono open source con licenza AGPL-3.0. Lo script di installazione è breve e vale la pena leggerlo prima di eseguirlo.

Quanto costa

Finché tTerm Web è in beta, è gratis per tutti.

50macchine per persona
24terminali aperti
30giorni di cronologia con output

I piani a pagamento arriveranno più avanti, e te lo diremo con largo anticipo.

Cosa succede al bot

@tTermNetBot resta e continua a funzionare: comandi ai tuoi server direttamente dalla chat, quando hai solo il telefono. Per ora il bot e l'app web sono separati, ognuno con il proprio elenco di macchine. Più avanti li uniremo.

Cosa viene dopo

Il prossimo grande passo è il lavoro in team: ruoli in un progetto, un registro condiviso dei comandi e l'osservazione del terminale di un collega, in cui chi è osservato vede sempre chi sta guardando. I computer Windows non sono ancora supportati; ci arriveremo più avanti.

Prova tTerm Web

Accedi con la tua email: ricevi un codice, e da lì in poi sui tuoi dispositivi basta un codice breve. Il primo server si collega in un minuto.

Inizia gratis

Altro dal blog

Tutti gli articoli
Tutti gli articoli