3,365 apps tracked 0 new today 17 updated today Synced 30m ago

Mosh

The Mobile Shell

Keith Winstein, John Hood, et al.

org.mosh.mosh
View on Flathub ↗

Mosh is a remote terminal application that supports intermittent connectivity, allows roaming, and provides speculative local echo and line editing of user keystrokes.

It aims to support the typical interactive uses of SSH, plus:

  • Mosh keeps the session alive if the client goes to sleep and wakes up later, or temporarily loses its Internet connection.
  • Mosh allows the client and server to "roam" and change IP addresses, while keeping the connection alive. Unlike SSH, Mosh can be used while switching between Wi-Fi networks or from Wi-Fi to cellular data to wired Ethernet.
  • The Mosh client runs a predictive model of the server's behavior in the background and tries to guess intelligently how each keystroke will affect the screen state. When it is confident in its predictions, it will show them to the user while waiting for confirmation from the server. Most typing and uses of the left- and right-arrow keys can be echoed immediately.

As a result, Mosh is usable on high-latency links, e.g. on a cellular data connection or spotty Wi-Fi. In distinction from previous attempts at local echo modes in other protocols, Mosh works properly with full-screen applications such as emacs, vi, alpine, and irssi, and automatically recovers from occasional prediction errors within an RTT. On high-latency links, Mosh underlines its predictions while they are outstanding and removes the underline when they are confirmed by the server.

Mosh does not support X forwarding or the non-interactive uses of SSH, including port forwarding.

Screenshots

Mosh screenshot

Observed history

App ChangeVersionWhen ↓

No observed changes yet.

The initial import establishes a baseline. Future version changes will appear here.

Browse the app catalogue →

Upstream releases

Release notes supplied by the developer. These dates are not Flathub package publication times.

1.4.031 Oct 2022

New features:

  • Support OSC 52 clipboard copy integration (Alex Cornejo)
  • Allow non-inserting prediction (--predict-overwrite) (John Hood)
  • Don't do prediction on large pastes into mosh-client (John Hood)
  • Add true color support (Kang Jianbin)
  • Add syslog logging of connections (Tom Judge)
  • If exec()ing the remote command fails, pause briefly (John Hood)

Bug fixes:

  • ignore unknown renditions (Keith Winstein)
  • Overlays were getting set to the wrong colors (John Hood)
  • Fix issue with incorrect true-color background erase colors (John Hood)
  • Use HAVE_UTEMPTER instead of HAVE_UPTEMPTER (Michael Jarvis)
  • Apply latest consecutive resize, not earliest (Peter Edwards)
  • Use CLOCK_MONOTONIC_RAW when available (Harry Sintonen)
  • Add tmux and alacritty to title_term_types (Naïm Favier)
  • Don't sometimes hang just after launching ssh (Kalle Samuels)
1.3.222 Jul 2017

Platform support:

  • Explicitly enable binding to both IPv4 and IPv6 addresses. (Giel van Schijndel)
  • Restore perl 5.8.8 support for RHEL5. (Alexander Chernyakhovsky)
  • Make tests detect UTF-8 locale with a helper executable. (John Hood)
  • Don't print /etc/motd on IllumOS. (John Hood)
  • Print {,/var}/run/motd.dynamic on Ubuntu. (John Hood)
  • Fix build on Haiku. (Adrien Destugues)
  • Disable unicode-later-combining.test for tmux 2.4. This fixes build failures. (John Hood)

Bug fixes:

  • In tests, explicitly set 80x24 tmux window, for newer versions of tmux. (John Hood)
  • Work around JuiceSSH rendering bug. (John Hood)
  • Do not move cursor for SCROLL UP and SCROLL DOWN-- fixes an issue with tmux 2.4. (John Hood)