diff options
author | Keegan McAllister <mcallister.keegan@gmail.com> | 2012-03-05 11:41:24 -0800 |
---|---|---|
committer | Keegan McAllister <mcallister.keegan@gmail.com> | 2012-03-05 11:41:24 -0800 |
commit | 3721e22bf9660e2da83e6b382d2643a76e4300cc (patch) | |
tree | 95bc24cfac0d7b63272da5585276a6eecfc59d33 /README.md | |
parent | dae8e9127f49269909a0476a6cc7b76db90ffc2d (diff) |
Rename README to README.md
This will cause GitHub to render the Markdown syntax.
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..05fa925 --- /dev/null +++ b/README.md @@ -0,0 +1,104 @@ +Mosh: the mobile shell +====================== + +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. + + +Other features +-------------- + + * Mosh adjusts its frame rate so as not to fill up network queues + on slow links, so "Control-C" always works within an RTT to halt + a runaway process. + + * Mosh warns the user when it has not heard from the server + in a while. + + * Mosh supports lossy links that lose a significant fraction + of their packets. + + * Mosh handles some Unicode edge cases better than SSH and existing + terminal emulators by themselves, but requires a UTF-8 + environment to run. + + * Mosh leverages SSH to set up the connection and authenticate + users. Mosh does not contain any privileged (root) code. + + +Usage +----- + + The `mosh-client` binary must be installed on the user's machine, and + the `mosh-server` binary on the remote host. + + The user runs: + + $ mosh [user@]host + + If the `mosh-client` or `mosh-server` binaries are installed outside the + user's PATH, mosh accepts the arguments `--client=PATH` and + `--server=PATH` to select alternate locations. + + +How it works +------------ + + The mosh program will SSH to `user@host` to establish the connection. + SSH may prompt the user for a password or use public-key + authentication to log in. + + From this point, mosh runs the `mosh-server` process (as the user) + on the server machine. The server process listens on a high UDP port + and sends its port number and an AES-128 secret key back to the + client over SSH. The SSH connection is then shut down and the + terminal session begins over UDP. + + If the client changes IP addresses, the server will begin sending + to the client on the new IP address within a few seconds. + + To function, Mosh requires high-port UDP datagrams to be passed + between client and server. Sites that have these ports firewalled + would not be able to use Mosh. + + +More info +--------- + + * Mosh Web site: + + <http://mosh.mit.edu> + + * `mosh-users@mit.edu` mailing list: + + <http://mailman.mit.edu/mailman/listinfo/mosh-users> |