mobile-shell / mosh

Mobile Shell
https://mosh.org
GNU General Public License v3.0
12.6k stars 729 forks source link

iOS client (iPad, iPhone) #198

Closed a-b closed 9 years ago

a-b commented 12 years ago

Hello thanks for awesome product,

It would be insanely great to have iOS client so we can connect from iPad.

saurik commented 12 years ago

When #96 is integrated (which replaces the currently client requirements on a Perl script) I will get a copy of mosh into Telesphoreo (where it can then be installed via Cydia and used from other terminals, such as MobileTerminal or iSSH/Prompt to localhost). (I am also likely to integrate support for this protocol directly into a terminal app, although the lack of alternate screen support is currently driving me crazy enough to avoid using it much.)

saurik commented 12 years ago

(BTW, to be clear, the support that I was indicating I would help with would be for jailbroken devices: I'm the guy who runs Cydia, the alternative to apps for jailbroken iPhones, and Telesphoreo, the distribution of random Unix things for iOS. As mosh is GPLv3, it can not be deployed to the App Store, even as part of a terminal application designed to use it, due to an incompatibility with the App Store end-user terms of service and the GPL, which prevent the GPL code from granting its requisite rights to users.)

aaronlake commented 12 years ago

I'm kind of surprised that this isn't using the MIT license. =/

saurik commented 12 years ago

@aaronlake I had the same reaction, given the affiliation. (Although I then realized "wait, that's a silly connection to have in my head: I mean, RMS is at MIT after all ;P.)

So, one very important thing to point out is that mosh uses a patented encryption algorithm called OCB that supposedly has a grant to projects that use the GPL. I use the word "supposedly", as in researching it it seems like this is somewhat contested, and that IBM may in fact hold patents that the person extending these grants (the researcher that developed OCB) has no control over, on which the work may be based, and which thereby end up having to be examined and negotiated. For some context on this:

We tried to put OCB mode in 802.11i. So IBM sent a guy to explain the 'licensing terms' for their patents on OCB mode. The next vote in 802.11i after that presentation was to replace OCB mode with CCM.

-- http://mobile.slashdot.org/comments.pl?sid=2779759&cid=39644831

The battle would be, does mosh live under Rogaway's OCB patents which makes it free, or IBMs patents, which makes it unclear... From a "money is justice" perspective, I donno if ucdavis would win against IBM, but they'd have better odds than "just a bunch of random hackers" vs IBM.

-- http://slashdot.org/comments.pl?sid=2779759&cid=39645753

One can only conjecture who will have what enforceable rights. As for Jutla/IBM, I have been clear all along that OCB retains similarities to Jutla's IAPM. Intellectually, OCB owes much to Jutla's work. But whether or not IBM's patent covers OCB may depend on how broadly IBM's claims were crafted.

-- http://www.cs.ucdavis.edu/~rogaway/ocb/ocb-back.htm#patent:others

Rogaway, IBM, and VDG Inc., the three parties who could come to hold patents in this domain, have all sent in their patent-assurance letters to the IEEE.

-- http://www.cs.ucdavis.edu/~rogaway/ocb/11-02-156r0-I-Some-Comments-on-WHF-Mode.pdf

[To provide context on the previous statement, for people outside of standards processes: what is meant by "patent-assurance" for this purpose only means that it will be licensed without discrimination and at a reasonable price. The requested wording from the IEEE in this case was "the technology will be made available at minimal cost to all who seek to use it for compliance with the incorporated standard".]

-- http://standards.ieee.org/about/sasb/patcom/loa-802_11-uc_davis-01jul1994.pdf

What I am highly interested in, then, is whether the developers of this project actually want to use the GPL (a position I certainly respect: I personally release some of my projects under the GPL for various reasons), or made that decision mostly (or even entirely) due to pragmatic reasons involving having access to an OCB implementation that was easy to integrate (there was some talk on the mailing list regarding this, which I reference in the link below) and the requirement for the patent grant.

http://mailman.mit.edu/pipermail/mosh-devel/2012-April/000114.html

The reason this question seems reasonable, is that when the developers of Prompt (one of the two vaguely usable terminals available in the App Store) came on to the mosh mailing list asking about the license (not having come up with the App Store / GPL issue, but simply due to issues involving infection of their commercial codebase), the response from @keithw was not indicative of a normal "I purposely want GPL because of what it states" mentality:

... Changing the license isn't possible, but if you can recommend some steps to help us interface with your code in an arms-length manner, we're happy to try and help.

-- http://mailman.mit.edu/pipermail/mosh-devel/2012-April/000070.html

If that were the case (and I want to double-strong stress that "if": I do not want to argue to someone that they should not use the GPL if they want to; again: I use the GPL in various of my own projects and understand the mentality), then I would be further curious whether there is interest in swapping out the encryption algorithm and changing the license (which seems still vaguely possible, based on a back/forth on IRC by @kmcallister and @keithw) so that terminals such as Prompt could use the work and redistribute it in the App Store.

05:35:49 < kmc> can we legally link to OpenSSL if we a) aren't compiling OCB in that build, and b) get the Mosh copyright holders to approve a standard GPL OpenSSL exemption? 05:36:15 < KeithW> kmc: ... and rewrite the small GPL code that's not ours that we include? Yes.

If so, I (along with some friends of mine that find cryptography sufficiently interesting to be building a company around two-factor authentication along with their professor) would be happy to expend the time/cost (which honestly is unlikely to be very high, so don't construe this as me trying to overplay my involvement for credit or guilt ;P I'm just saying I'd get the grunt work done that otherwise might block this from happening) to integrate an alternative algorithm (such as GCM, which was suggested on the mailing list at the beginning of the thread I referenced earlier regarding the practicalities of encryption libraries).

What is your justification for using patented software (OCB mode) when many patent-free alternatives are available? The de-facto standard now is Galois/Counter (GCM) mode, which provides numerous advantages. ...

-- http://mailman.mit.edu/pipermail/mosh-devel/2012-April/000112.html

piannucci commented 12 years ago

@saurik, with help from Quentin Smith we got mosh to build with clang and run on iOS. The terminfo and locale databases previously on my iOS device were incomplete, and I recall not finding a replacement in Cydia. You'll want to package libprotobuf. The C++ wrapper also depends on libboost's regex-mt submodule, but I think the rest of the libboost dependencies in mosh are include-only?

kmcallister commented 12 years ago

The C++ wrapper also depends on libboost's regex-mt submodule, but I think the rest of the libboost dependencies in mosh are include-only?

They're gone in the HEAD version of Mosh; see #158.

saurik commented 12 years ago

@piannucci Is the issue with the "incomplete" terminfo database that I need to ship a more recent version of ncurses? I already have a package for protobuf "waiting in the wings". (Is Clang actually a requirement? If so, that would be incredibly depressing for me, but if I can't fix that I'll deal.)

I'm really just waiting on the C++ wrapper to go mainline (although if it does require boost in library form I might go ahead and port it myself to PCRE to drop the dependency; it would make more sense to do that, however, after the wrapper goes mainline, which one would presume would be soon).

keithw commented 12 years ago

Don't worry, we are not going to re-introduce a Boost dependency. :-)

bored-engineer commented 12 years ago

I came here to fork this and make it run on a jailbroken iOS device. Only to see saurik beat me to it. Whatever happens I would love to test this once it gets further along. And know that there is certainly a market of people interested in this.

rizwank commented 12 years ago

Fantastic!

jsnyder commented 12 years ago

Is there any further progress on this? I'd also love to see this working on iOS.

davidjao commented 12 years ago

tl;dr: We could in principle change mosh to a BSD or MIT license and still use OCB. In contrast to the GPL, commercial or governmental users of a BSD/MIT-licensed mosh in the US would need a patent license for OCB but that's not our problem.

Detailed version: I have emailed Prof. Rogaway (the inventor of OCB) privately and he has stated that his existing patent grant for OCB permits the use of OCB in BSD or MIT licensed software, provided that the software is distributed non-commercially and used in a non-commercial and non-governmental setting. These restrictions on distribution and use apply only in the United States; people in other countries who are not subject to US law would be free to use the software without restrictions.

The exact terms of the patent grant are presented in http://www.cs.ucdavis.edu/~rogaway/ocb/offer.htm. There are two parts to the grant. One says that GPL software may use OCB without payment. The other says that non-commercial. non-governmental applications may use OCB without payment. The latter part is relevant to BSD/MIT-licensed software. It is possible for BSD/MIT-licensed software to be distributed non-commercially. Individual end users who take that software and use or distribute it commercially would be required to obtain a commercial license for OCB, but this does not apply to the original distributor as long as the original distribution is non-commercial.

davidjao commented 12 years ago

Another point worth mentioning is that the Apple App Store is compatible with GPL version 2. (Ignore all the articles on the internet that say it isn't compatible. Those articles are outdated and based on old versions of the App Store terms of service. As of October 2011, the new terms of service are GPLv2-compatible.)

Mosh is currently GPLv3 but I imagine relicensing to GPLv2 is at least as easy as relicensing to BSD. The advantage of GPLv2 is that the OCB patent grant would then apply to all situations, even commercial usage.

chyldofthebeat commented 12 years ago

Adding my vote to see this get sorted out. Sounds like it'd be perfect for iOS devices

nicowilliams commented 12 years ago

So, why use OCB? I don't get it. There are other non-patent encumbered AEAD cipher modes for AES. Just use one of those and make re-license Mosh under the MIT license.

nicowilliams commented 12 years ago

Is there an iOS client available anywhere yet? A quick search of the Apple app store turned up nothing.

chyldofthebeat commented 12 years ago

Yeah, I haven't seen any yet

On Fri, Jul 20, 2012 at 6:29 PM, Nico Williams reply@reply.github.com wrote:

Is there an iOS client available anywhere yet? A quick search of the Apple app store turned up nothing.


Reply to this email directly or view it on GitHub: https://github.com/keithw/mosh/issues/198#issuecomment-7143287

rekendahl commented 12 years ago

Any updates/progress on this. I would LOVE to see this added to either iSSH or Prompt. Panic (prompt) has stated they don't want to deal with the GPLness of it but I'm hoping iSSH will.

Mosh is something I would jailbreak by iPad for testing

keithw commented 12 years ago

We're happy to work with anybody (Prompt, iSSH, anybody else) to help them with an iOS port. We've waived any conflict between the Mosh license and the App Store Usage Rules. Mosh compiles on iOS. But somebody would have to do the actual work of giving it a user interface and submitting it to the App Store. Feel free to send anybody our way.

davidjao commented 12 years ago

"We've waived any conflict between the Mosh license and the App Store Usage Rules."

It's not so simple when patents are involved. The OCB patent grant only covers GPL or non-commercial use. I don't think any existing SSH client on the App Store satisfies either of these constraints.

Personally I'd be happy just to see a command-line mosh client in Cydia. This avoids all the App Store nonsense, as well as the need for a separate UI. Since saurik was able to build mosh on iOS, I wonder what the hold-up is. Is it just lack of time? I'd like to help but I wasn't able to get mosh to build. If a full Cydia package is too difficult, even just a set of build instructions would be great.

keithw commented 12 years ago

Re: legal concerns, it really is that simple. Please see our legal documents in the repository -- OCB in Mosh has been licensed under the new (App Store compatible and OpenSSL-linking) waivers.

Re: building, unfortunately I'm no iOS expert, but I understand a number of people (including saurik, quentin, and piannucci) have successfully compiled Mosh on iOS. You might try emailing mosh-devel or asking for help on IRC.

davidjao commented 12 years ago

Ah yes, this is good news. I was not aware of the licensing statement.

There is still a problem, however. The waivers only allow distribution under the terms of the GPL plus those waivers. In particular, it is still a GPL license. This means that existing non-GPL programs such as iSSH and Prompt would not be able to include mosh unless the entire program in question (iSSH or Prompt) were converted to the GPL. Since these programs are commercial programs that generate revenue, it seems extremely unlikely to me that this would ever happen. So we won't be able to work with those guys -- we're basically stuck writing the entire UI from scratch.

nicowilliams commented 12 years ago

@keithw: You can make statements about licensing of OCB, but the only statements you can make regarding licensing that will be taken as authoritative by vendors of apps like Prompt are those that relate to IP that you own. For OCB such vendors will have to get the licensing statements directly from the OCB patent right owners. If any of these statements are anything but obviously clear that the vendor has the right to distribute Mosh w/ OCB in their commercial app, then lawyers must get involved -- expensive lawyers, the kind that large corporations have lots of on hand but which one- or two-developer companies hawking iOS apps (I've no idea about Prompt's vendor, mind you) don't and may have trouble affording. A patent license that's royalty free for all uses is one that can be used w/o involving lawyers, but most other licensing requires lawyers. The issue is that anyone wishing to use or distribute Mosh commercially (and that includes some operating system distros) will be on notice of the patent, and violating licensing terms will open them to treble damage lawsuits (i.e., bankruptcy for any small company and headaches and bad PR for large ones), so any but the simplest, clearest, most liberal licensing (patent peace provisions will be OK for small vendors, and large vendors typically go along too) instantly slows down or stops the process of considering software like Mosh.

The field of cryptography is littered with algorithms that go unused because they are patented and licensed restrictively. About the only major example of one such algorithm that gained wide deployment before patent expiration is RSA. All the algorithms that every dev knows about are either not patented, freely licensed, or have had their patents expired: DES, 3DES, AES, MD5, SHA-1, SHA-256, SHA-512, HMAC, Diffie-Hellman, RSA, ... Examples of algorithms where patent FUD (real or imagined) have cause slow uptake include EKE, SRP, and many, many other algorithms -- just grab a copy of Bruce Schneier's old Applied Cryptography book, open to any page, and read till you find "patented", then check whether the given algorithm was liberally licensed, whether it was deployed widely, and you'll see (I'd check myself, but am not near my copies). At this rate we can add OCB to the latter list.

I'm not trying to create FUD here, mind you. I'm stating the facts as I know them from experience. You and OCB's patent rights' owners can and -I hope- will do what it takes to dispel any FUD. If not, then either Mosh will languish or, if we're lucky, alternatively, unencumbered designs/implementations will appear (and which, by not using OCB, will necessarily fail to interop with Mosh).

nicowilliams commented 12 years ago

Oh, and I re-read @saurik's note, regarding the FUD arounc OCB from other patent holders. That makes things even harder for small vendors (IMO, though I'm not one). I recommend switching to something else than OCB, the complexity argument be damned.

piannucci commented 12 years ago

Here are build instructions for iOS. http://github.com/piannucci/mosh/wiki/Build-instructions-for-iOS

keithw commented 12 years ago

Nico, respectfully, we used lawyers to get our legal ducks in a row. Our license in the repository is pretty clear. If somebody who wants to port Mosh has concerns, we're happy to talk with them or even hook them up with the SFLC attorneys.

Mosh is already distributed, royalty-free, by a large number of third parties (Fedora, EPEL, Debian, Ubuntu, MacPorts, Homebrew, Cygwin, Gentoo, NetBSD, FreeBSD). None of these porters or distributors have raised concerns about patents. The patent thing has been a non-issue.

We already explained the choice of OCB. See https://github.com/keithw/mosh/issues/279#issuecomment-7141833

keithw commented 12 years ago

@davidjao: Surely there must be SOME free-software terminal emulators for iOS already? The Android folks are already pretty far along with their port (grafting Mosh into Irssi Connectbot).

Another approach might be to distribute a mosh binary or library (under GPL) and just have an existing terminal emulator invoke it at arm's length, through a well-defined interface. We offered to make any changes that Prompt would request to allow them to invoke mosh through a well-defined interface (so they would not have to GPL their whole terminal emulator), but they thought that was impossible.

Not like a terminal emulator is any great shakes...

davidjao commented 12 years ago

Thanks for the iOS build instructions!

I've looked long and hard for free terminal/SSH programs on iOS. As far as I know they don't exist. Even finding a free-as-in-beer SSH program is hard; the only one I know is Mobile Rove. I suspect a big part of the problem is the mandatory $99 per year fee imposed by Apple on iOS developers. Although the fee seems trivial, it is high enough to prevent the seeding of the official iOS ecosystem with free software developers, most of whom have long since migrated to Android and/or Cydia (the jailbroken iOS repository).

On Cydia, there are more options. There's MobileTerminal which is a GPL2 terminal app, and of course openssh itself. Note that MobileTerminal is not license-compatible with mosh for two reasons: one is that MobileTerminal is GPL v2 only, whereas mosh is GPL v3+ only, and the other reason is that MobileTerminal's license is straight GPL and does not include the mosh waivers (and we would not be allowed to add waivers to MobileTerminal on our own; only the MobileTerminal copyright holders can do that).

keithw commented 12 years ago

On GPL v2-only versus 3+, yes, that is a problem. Maybe the MobileTerminal folks would be willing to cooperate if we got in touch?

But I should be clear that Mosh's license is still compatible with other GPL 3+ and GPL 2+ programs and that Mosh can still be distributed under "straight GPL" (3+).

There are two optional waivers. One is a promise that the SFLC helped us draft, promising not to take action against redistributions of Mosh that comply except for imposing the Apple "Usage Rules" on users. I think any GPL program (including MobileTerminal) would also need this if you wanted to distribute it on the App Store without risk, and maybe now that we got the SFLC to help us with the language, they would adopt it.

The second is optional permission (which can be removed) to link Mosh with OpenSSL.

In any event, (1) writing a terminal emulator is just not that hard, and (2) you don't actually need to write a terminal emulator! The Mosh client already knows exactly what character should be in every cell of the terminal. We already have the terminal emulation part. All that is necessary is to paint those characters to the screen in the same spots.

Heck, when I put it that way, I kind of want to do the work myself. :-) But I am the least qualified person to do a port to iOS.

davidjao commented 12 years ago

Ok, yes, I miswrote. mosh can certainly be distributed without the waivers but the result would likely not be permitted on the App Store. Note that MobileTerminal is Cydia-only and currently has no presence in the App Store.

rekendahl commented 12 years ago

I true terminal app wouldn't be approved. So someone would have to create a terminal emulator that supports outgoing mosh and ssh connections, supports 256 colors (as well as remote screen and tmux sessions) as well as configure colors in a "standard" way and support bluetooth keyboars well.

At the moment no terminal emulator does this well. Prompt i.m.o comes closest. It handles keyboard well but (at least of one older release) struggles with remote screens. They also don't allow cusomizing background colors (more then stark white/black). issh is more configurable, handles screen better but crashes a lot and doesn't support the wirless keyboard well (no ctrl-a for example).

nicowilliams commented 12 years ago

@keithw: The key though is that those are your lawyers. Others will need their own lawyers. The license is clear enough, thankfully, so the remaining concern is the 3rd party patent claims mentioned by @saurik. My recommendation is to be conservative w.r.t. to cryptographic algorithm selection. We've been using GCM and generic constructions with HMAC in standards-track protocols for a long time (the latter longer than the former, as GCM is relatively new). If you want off-the-shelf code that's unencumbered and ready to use (but perhaps with less cryptanalysis than the more popular GCM) you might look into DJB's NaCl library, specifically DJB's poly1305.

Spice-King commented 12 years ago

For those who are still looking for a Mosh app, iSSH will have Mosh support as soon as Apple gets it though its app reviewing cogs. Dean Beeler, iSSH author, estimates a week or two for it to show up in the store if nothing bad happens in the review.

I'm glad that I can finally use Mosh on iOS and see what the hype is all about. I should have a good test for Mosh in about two weeks, my local 3G grid will be overloaded with tons of people's phones for a festival we hold here.

keithw commented 12 years ago

This is interesting (and encouraging!) to hear, although I'm curious how they did it. Are they including our implementation (and distributing iSSH under the GPL)? Did they write a new implementation of the Mosh protocol, and license OCB? Did they find a way to include Mosh and just invoke it at arm's length?

keithw commented 12 years ago

Turns out they wrote an independent implementation of the Mosh protocol and are working on predictive local echo. I'm excited to see the results!

I don't want anybody to get confused into thinking they're trying "Mosh," though. This will be another, independent implementation of the client side of the same protocol by the author of iSSH. It's not Mosh and it won't necessarily have the same features or performance.

cheeplusplus commented 11 years ago

Mosh support is now available in the App Store release of iSSH. Just tested it out, seems to work.

linusyang commented 11 years ago

Sorry to mention about this issue again. Recently, I have built Mosh 1.2.4 and submitted it to thebigboss.org, one of the official Cydia repositories. So, you can just search and install Mosh in Cydia for a full-featured command-line version.

I have also push my forked version of Mosh to Github. In this forked version, there is a modified C++ wrapper based on the one by @piannucci and a simple iOS automatic build script. You can just pull this fork and run cd iphone && ./build-ios.sh to build and make the Debian package for Cydia.

Hope this will be helpful for the one who needs a free and full-featured version of Mosh on iOS, besides the paid in-app plugin in iSSH.

davidjao commented 11 years ago

linusyang, thanks for getting this into Cydia. It works fine.

Except for one thing ... your version doesn't seem to support the --no-init option (https://github.com/keithw/mosh/issues/2). At first I thought the problem might be with your C++ wrapper, but I tried the standard perl wrapper (my iPad has perl), and the same behavior occurs, so the program must not be reading the corresponding environment variables correctly somehow.

I loathe alternate screen mode. It is not just irrational hate -- I explained my rationale in detail in the comments for issue #2. It would be nice if the --no-init option could work. For me, personally, it's not a big deal, I can build my own version with the offending code ripped out. But I'm sure there are others who might appreciate it.

2mc commented 10 years ago

YES big thanks for linusyang! On the version (1.2.4) currently on Cydia there seems to be yet another issue with custom port ranges. Eg. the command

mosh -p 60000:60099 --ssh="ssh -p 222" admin@xxx.xxx.net

works perfect on an osx term (same mosh version 1.2.4) whereas on the iOS the same command reports:

mosh: Server-side port (60000:60099) must be within valid range [0..65535]

Maybe the versions are not identical for some reason, and if so, could the iOS version be updated on Cydia?

a-b commented 10 years ago

Ironically a lot of Apple engineers are using mosh + tmux daily, but unable to use this beauty through the apple store distributed app. Which is evil because they're not allowed to use jailbroken devices.

linusyang commented 10 years ago

Thanks for @davidjao and @2mc's report. Sorry guys that I didn't have too much time on resolving these issues. Until recently, I have added missing options of no-init and port ranges for the C++ wrapper at linusyang@b88039545b . And updated package is submitted to Cydia. It will be available in the next few days.

@a-b iSSH in App Store has Mosh support as an in-app purchase. But I think a free software like Mosh should be "free" for everyone to enjoy. :)

2mc commented 10 years ago

Dear @linusyang, great to hear about you adding the 'missing options' to an updated built on cydia! I love mosh and it would be such a joy to see even the higher unicode ranges being displayed correctly. In order to achive this, there was an answer on issus #478 to build mosh against a certain library. Maybe you could consider doing this for your new iOS built. Thanks for looking at this in advance!

brandondrew commented 10 years ago

If the (official, App Store) iOS support in fact works fine, as AndrewNeo suggests, then is there a reason that mosh.mit.edu doesn't list iOS as a supported platform? (For that matter I'd expect it to also list Cydia as a means to installing Mosh on iOS, but mainly I'm wondering why there's no mention at all except here.)

davidjao commented 10 years ago

iSSH is not official mosh software. It is an independent, non-free re-implementation of the mosh protocol. Cydia requires jailbreaking which is icky for many people.

rileytg commented 10 years ago

any updates? iSSH doesn't really count, it being paid and sucky and all...

brandondrew commented 10 years ago

Can you list specific ways in which it is sucky? Although it is useful to know you've drawn that conclusion, it would be much more useful to know exactly why and how. (Maybe its developer would even read the list and fix the problems... maybe.)

chyldofthebeat commented 10 years ago

Is Prompt considered better? That's the client I've been using

On Monday, September 1, 2014, Brandon Zylstra notifications@github.com wrote:

Can you list specific ways in which it is sucky? Although it is useful to know you've drawn that conclusion, it would be much more useful to know exactly why and how.

— Reply to this email directly or view it on GitHub https://github.com/keithw/mosh/issues/198#issuecomment-54097344.

rileytg commented 10 years ago

@brandondrew I hear you loud and clear, but this mosh issue is really not the time, nor the place to have that discussion. @chyldofthebeat I prefer prompt and have used both extensively to code remotely on ipad regulars, minis and iphones.

That being said, iSSH may be the only option to use mosh from an iOS device... anyone got any other ideas?

risacher commented 10 years ago

Prof Rogaway offered new licensing terms for OCB on 9 Jan 2013 that cover any open source license, not just GPL. (c.f. http://www.cs.ucdavis.edu/~rogaway/ocb/grant.htm) (Specifically, for any OSI-approved license as of the date of the grant)

Does this make it more worthwhile to consider relicensing mosh under MIT, or other terms that are compatible with the apps store?

risacher commented 10 years ago

Also, iSSH was pulled from the app store last week by the author* (one day before I tried to buy it).

So ISTM there's no way to use the mosh protocol currently on an non-jailbroken ipad.