Blog

tTerm now works in the browser

Until now tTerm lived in Telegram: commands to your servers straight from a chat. Today we are opening tTerm Web, a real terminal in your browser. All your servers and computers in one tab, every command in a block of its own, and no keys on your device.

This is tTerm Web: machines by project on the left, tabs on top, every command in a block of its own.

Why a browser when there is a bot

The bot is great when all you have is a phone: restart a service, check the disk, answer an installer's question. But longer work wants a big screen: several tabs side by side, vim and htop full screen, a history where yesterday's command is easy to find.

That is what tTerm Web is for. It opens in any browser, on a laptop, a tablet or a phone, and needs nothing installed on the device you work from.

Every command in a block of its own

In an ordinary terminal everything runs together into one stream, and you have to find by eye where one command ended and the next began. In tTerm every command comes as a block of its own: the command, its output, the exit code, the time, the directory and the git branch.

You can copy a block together with its output, fold it or run it again. While a command runs, its output streams live, and once it finishes the block settles into plain text that is easy to select and copy.

An input line like an editor

At the bottom there is an input line of its own. Shift+Enter starts a new line, a command from your history is suggested in grey, Tab completes. History is kept on our side, so it is the same on all your devices.

Above the line you see where you are: the directory and the branch. Click them and pick another from the list, and cd or git switch runs as an ordinary block. And before a dangerous command, the kind that leaves nothing to fix, tTerm asks again.

vim, htop and sudo

Full-screen programs open across the whole terminal area and work as usual, and so does sudo. If you do not want blocks, there is a classic mode: one continuous terminal, the way you are used to.

The terminal does not close with the tab

The terminal lives on our server, not in your browser. Close your laptop in the middle of a build on a server: the build carries on and its output is kept. Open tTerm on another device, and the terminal is right there.

Tabs from different projects open side by side and carry the project code: P/web-01, A/api-prod. Cmd+K opens the palette: go to any terminal, open a new one on any machine or run an action.

How to connect a machine

A Linux server connects with one command. tTerm Web shows it when you add a machine, and you run it on the server:

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

The installer creates a user called tterm on the server, adds one line to its authorized_keys and gives it sudo in a file of its own in /etc/sudoers.d. It does not touch sshd_config, does not restart sshd and opens no ports. A few seconds later the server shows up in your list.

A computer on macOS or Linux connects through a small agent. It runs as your user and dials out to our server by itself, so no inbound ports are needed and the computer can sit behind NAT. The agent uninstalls with one command.

Security

We connect to your machines, so we built access to be easy to give and just as easy to take back.

  • Your keys are not needed. For every connection tTerm signs a new SSH certificate with your name in it, and it stops working two minutes later.
  • Signing kept apart. The keys we sign with live in a separate process with no network. The main program cannot read them, only ask for a signature, and every signature is logged.
  • No middlemen. The tTerm server is in the EU. The page and the terminals go straight to it: Cloudflare only handles our DNS and never sees your commands.
  • Easy to take back. Remove a machine in tTerm, and it shows a command that takes its access off the server. How to remove everything else the installer set up is written at the top of the script itself.
  • Open source. tTerm Web and the agent are open source under the AGPL-3.0 license. The install script is short and worth reading before you run it.

What it costs

While tTerm Web is in beta, it is free for everyone.

50machines per person
24open terminals
30days of history with output

Paid plans will come later, and we will tell you well in advance.

What about the bot

@tTermNetBot stays and keeps working: commands to your servers straight from the chat, when all you have is a phone. For now the bot and the web app live separately, each with its own list of machines. Later we will bring them together.

What comes next

The next big part is working as a team: roles in a project, a shared log of commands and watching a colleague's terminal, where the person being watched always sees who is watching. Computers on Windows are not supported yet; we will get to them later.

Try tTerm Web

Sign in with your email: you get a code, and on your own devices a short code is enough after that. Your first server connects in a minute.

Start for free

More from the blog

All posts
All posts