Wire Image

Terminal7

To boldly go
where no terminal
has gone before

A Next Generation Terminal

Welcome to Terminal7 - an open source terminal app for the new era of Personal Computing. Terminal7 is a reincarnation of tmux based on a novel architecture of a rich client, a simple server and secure, real time communications. Key additions include:
WebRTC for secure UDP based protocol
Local scroll & copy-mode
Touch gestures for intuitive layout control
Per pane font size for small logs & large code
Live camera feed for conferencing & recording

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 performance, security and reach.
Terminal7 let's you seamlessly switch from your deskop to your tablet and vice-versa making it easy to roam and become a local nomad.
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

WebRTC is great, but it requires a signalling server to estalish sessions and reach behind-the-NAT servers. In ~15% of the cases it also requires a relay server as "hole punching" fails. Terminal7 PeerBook subscription gives you all that and a 2FA protected address book of clients & servers.
With PeerBook you'll never have to key a IP address ever again.

Captain's Log

  • Version 1.9.2: Bug squashing and the support command March 19, 2024

    Greetings Earthlings! I hope this version finds you well. This patch version was includes: Fixing a reconnect bug Extending default history buffer to 10K lines Rendering engine upgrade Halting retry attempts when network is down We’ve also added the new support command that send your report together with Terminal7’s log to our support system. Please use it when you find bugs or things look funny. Happy hacking!

  • Version 1.9: pure WebRTC communications December 5, 2023

    Greetings Users & The Curious I hope this version finds you well. This version has been unlike any before - just as I was starting to work on it war broke out. Stories from the massacre hit me hard and I barely got anything done in the first couple of weeks. Almost every day we’ll have sirens go off rushing us the bomb shelter just below my building’s lobby. I remember one siren that went off just as I was cornering one snicky bug.

  • 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 signaling 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.