Wire Image

Terminal7

To boldly go
where no terminal
has gone before

Going to your Gestures

Terminal7 is an open source next generation terminal. It includes a multiplexer for multiple terminals on a screen and real time communications to tackle intenet weather. Based on WebRTC and inspired by tmux & screen Terminal7 supports:
Touch gestures
Long living layouts
Live camera feed in a pane
Per pane font size

Going to the Web

Terminal7 uses WebRTC's data channels to send keystrokes and stream output. Part of the W3C standard, data channels use IETF's SCTP & DTLS for performace and security.
A layer cake of the protocls we use, layers 4-
A network diagram showing a Terminl7 user connecting to different hosts

Going to your Home

Terminal7 comes with a signaling service - peerbook.io . It's a websocket signalling server that extends Terminal7's reach to ephemeral IPs and behind-the-NAT servers.
To join peerbook's beta please check out its site.

Captain's Log

  • Version 1.8: Web version and synced clients September 14, 2023

    This is a big version, on of the biggest we’ve ever released. Version 1.7 added Android support and 1.8 adds a Web version. It is packaged as a Progressive Web App and can be installed from chrome’s toolbar. Naturally, it doesn’t support SSH, only WebRTC. I use it on my desktop to work on the localhost making the transition to/from the iPad seamless. When at home I use Terminal7 on the large screen and mechanical keyboard.

  • Terminal7 Version 1.6 - SSH is now free! August 19, 2023

    Greetings Terminal7 users, I am excited to introduce you to Version 1.6 of Terminal7, the terminal designed for the tablet age. With this latest release, we make the SSH version free as its been since the PuTTY days. One of the major updates in Version 1.6 is the division of Terminal7 into two distinct versions: a free version and an online service. The free version, which is now available in the App Store, supports only SSH connections.

  • Trickling ICE over SSH January 16, 2023

    WebRTC is a weird protocol. It’s a monster made from over 30 RFCs that can carry real time video, audio and data. Still, it can’t establish a connection on its own. It counts on the app to provide a singaling service that passes ICE candidates between the peers. In a WebRTC apps, ICE is used to discover the best path for sending data between the two parties. This process involves gathering a list of candidate IP addresses and ports, and then trying each one in turn until a successful connection is made.

  • Terminal7 1.1 - WebRTC signalling over SSH & CLI November 1, 2022

    Hope this version finds you well. We’ve added two new big features and a few bug fixes. The version requires webexec upgrade so make sure your server are running webexec =>0.17.10. WebRTC signalling over SSH This one came from Rob and it’s about streamlining security by trickling ICE over SSH. Trickle ICE is the fastest way for two WebRTC peers to find each others. To support it we’ve added a new type of session, a hybrid one.

  • Terminal7 1.0-rc4 - New Map and Control Tower September 20, 2022

    It’s been a busy summer for us, coding all of 1.0 features and revamping the U[IX]. Adi helped draw a terminal map to replace the home page while Eyal has been busy developing a form system for your input. The forms use a special terminal - TWR - which is also used for notifications. We tried to keep the interface simple and intuitive but There are still a few bugs and glitches to iron out.

  • Terminal7 0.21: TUI for forms, Extended copy mode and fixing SSH August 6, 2022

    As we’re getting closer to 1.0, the rate of change accelerates. Thanks to Eyal, our summer intern, and the code he contributed 0.21 is much sleeker. He completed revamped search in pane and copy-mode. The latter now support repetition factor and all the keys I frequently use. To enter copy mode use Cmd-[ or Cmd-f if you want to search. If any keys are missing please open an issue. Eyal also revamped our forms and rebased them for a terminal interface.

  • Terminal7 0.20: SSH, WebGL power, improved restore & E2E tests May 1, 2022

    Exciting news! We’re back on iPad’s testflight with a faster version that can run over SSH. In iPadOS 15.4, Apple solved the WebGL bug that was crippling many hybrid apps and frameworks. Terminal7 was no exception. The bug forced us to go back to “dom mode”, where rendering was slow and buggy. Praise be the gods as this is now in the past - I’ve been using WebGL power for the past couple of weeks, and it’s very fast.

  • Embracing TypeScript and migrating to Vite and Vitest March 28, 2022

    TL;DR: I’ve been taken for another round on the javascipt merry go around. Spring is here and so is the yak shaving season. It started a few weeks ago when the weather was still foul, I realized Terminal7 needs deep refactoring. It needs to support plain SSH and a few other communication paths: full ssh: all communication is over ssh webexec over ssh: signaling is over ssh, all the rest over WebRTC (mosh’s way) peerbook.

  • Terminal7 0.19.1: Progressive Web App and much more December 14, 2021

    This is a big one. For starters, it’s released as a progressive web app, allowing you to install Terminala7 wherever there’s a chrome browser. More features include: A one-line-installer for webexec A systemd service to run on boot TURN service to cover all networks Supporting select-and-copy It’s also the last version to be released as an iPad app. We’ve made the decision because of three incidents that drove us up the wall:

  • Terminal7 0.17.2: Quick fix for gestures October 13, 2021

    This version is a quickfix, restoring touch support. I’m sorry, but this bug slipped though my keyboard-bound fingers, losing all gesture input. I hope no screens were damaged and no fingers bruised in failed splits. The bug resulted from an explosive combination of a new xtermjs, a bit of codelong overdue for refactor and me slacking on my job as release manager. Minor versions should tested by a human. With v0.