Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS client (iPad, iPhone) #198

Closed
a-b opened this issue Apr 16, 2012 · 90 comments
Closed

iOS client (iPad, iPhone) #198

a-b opened this issue Apr 16, 2012 · 90 comments
Labels

Comments

@a-b
Copy link

a-b commented Apr 16, 2012

Hello thanks for awesome product,

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

@saurik
Copy link
Contributor

saurik commented Apr 16, 2012

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
Copy link
Contributor

saurik commented Apr 17, 2012

(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
Copy link

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

@saurik
Copy link
Contributor

saurik commented Apr 17, 2012

@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
Copy link
Contributor

@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
Copy link
Contributor

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
Copy link
Contributor

saurik commented Apr 17, 2012

@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
Copy link
Member

keithw commented Apr 17, 2012

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

@bored-engineer
Copy link

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
Copy link

rizwank commented Apr 21, 2012

Fantastic!

@jsnyder
Copy link

jsnyder commented May 23, 2012

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

@davidjao
Copy link

davidjao commented Jun 2, 2012

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
Copy link

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
Copy link

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

@nicowilliams
Copy link

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
Copy link

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

@chyldofthebeat
Copy link

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:
#198 (comment)

@rekendahl
Copy link

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
Copy link
Member

keithw commented Aug 1, 2012

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
Copy link

davidjao commented Aug 1, 2012

"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
Copy link
Member

keithw commented Aug 1, 2012

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
Copy link

davidjao commented Aug 1, 2012

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
Copy link

@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
Copy link

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
Copy link
Contributor

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

@keithw
Copy link
Member

keithw commented Aug 1, 2012

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 #279 (comment)

@keithw
Copy link
Member

keithw commented Aug 1, 2012

@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
Copy link

davidjao commented Aug 2, 2012

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
Copy link
Member

keithw commented Aug 2, 2012

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.

@spitfire
Copy link

As far as I remember Panic, team behind Prompt was considering adding support for mosh protocol to it.

@rekendahl
Copy link

I think Panic would like to add it but to do that they believe that Mosh needs to be dual licensed under something other then GPL. Panic seem to say GPL is not compatible with the app store. See https://library.panic.com/prompt/prompt-mosh/

I’d love to see Mosh under a different license, like Apache as well. I believe it would spread wider with a more product permissive license.

/Robert

On Nov 20, 2015, at 3:12 PM, Mieszko Ślusarczyk notifications@github.com wrote:

As far as I remember Panic, team behind Prompt https://geo.itunes.apple.com/app/prompt-2/id917437289?at=1000lcL&ct=github_prompt-2&mt=8 was considering adding support for mosh protocol to it.


Reply to this email directly or view it on GitHub #198 (comment).

@spitfire
Copy link

It's not only what they say - this is a fact. They will probably just do their own implementation of the protocol, like iSSH did. I can't blame them though. Can any of the Mosh authors contact them in that regard?

@keithw
Copy link
Member

keithw commented Nov 20, 2015

Mosh's license is perfectly compatible with the App Store and has been since 2012. Panic has been in contact with us several times. They have never raised the issue that they believe Mosh's license is incompatible with the app store. They have raised the issue that they do not want to comply with the GPL -- of course that's their decision.

Mosh has successfully been ported to or distributed on 20+ different platforms -- even if we could change the license at this point, why does this platform deserve special treatment? If there is demand from iOS users for Mosh, anybody is welcome to port it. (You will have to write code that draws the characters in mosh-client's representation of the terminal visually on the screen.)

@xinan
Copy link

xinan commented Dec 27, 2015

+1!
I wish to see this on Prompt / Coda for iOS soon!

@uaalto
Copy link

uaalto commented Jan 1, 2016

I've read in many places that GPL is compatible per-se with the Apple Store, so the fact that it has GPL is just enough for Apple to reject/ban the app, even if the owners of the project don't pursue it. What's the real situation then?

@keithw
Copy link
Member

keithw commented Jan 1, 2016

Story is not complicated. Mosh's license has been compatible with the App Store since 2012. Nobody has ported Mosh to iOS. If there is demand from that community, we welcome the port and are happy to assist.

@logancollins
Copy link

I believe the reason we (Panic) haven't fully considered implementing Mosh in Prompt and Coda for iOS is not the license of Mosh itself, it's the fact that in order to fully comply with the GPL we'd need to open source our app, or build an interface between the app and the Mosh client library that we would open source. The former isn't really an option for us. The latter presents its own issues on iOS, because it puts some restrictions on dynamic library linking.

If anyone wants to chime in on this specifically in relation to Prompt and Coda, please do! Mosh itself, however, is not the primary reasoning behind why we haven't yet.

@fitzmorrispr
Copy link

@logancollins
The only reason I haven't purchased Prompt 2 yet is the lack of mosh support. I may buy it eventually anyway, but mosh support would turn that 'may' into a 'will', and the 'eventually' into a 'now'

@mojotx
Copy link
Contributor

mojotx commented Feb 19, 2016

I just discovered mosh this evening. I feel like I've been living under a rock. Although I've used SSH since the 1.x days before switching to OpenSSH, I hadn't heard of mosh until I stumbled across it tonight. I'm disappointed to see that iOS support is missing, especially since it seems like a perfect fit. I understand Panic's dilemma of having to choose between open-sourcing their VERY nice Prompt 2.5 product, or coming up with some sort of "arms length" kludge to satisfy the GPL restrictions. We recently had to deal with the "arms length" GPL issue where I work, and it's ugly and kludgey and inefficient. The only thing I dislike so far about mosh is the insistence on GPL. OpenSSH is still the king of secure communications, not because it's better, but because it's licensed under the more permissive and sensible BSD-style license. I suspect mosh adoption is going to be slow as long as it continues to be burdened by GPLv3.

@logancollins, I'm curious if the interface with mosh is really a show-stopper because of technical difficulty with the "arms length" interface, or if the Panic team just don't consider it commercially viable. I am a professional developer myself, and I certainly don't expect you to open source your product. I also suspect that if you DID do an arms-length integration, the performance and quality of your product might suffer. It's pointless and inefficient to add an extra integration layer, especially when one of the goals of the product is to have efficient performance.

However, I would cheerfully pay extra for an in-app purchase in Prompt 2.5 to add mosh support, especially since mosh appears to be perfect for use from devices like an iPad on sketchy Wi-Fi connections. I suspect with a little promotion, you'd have other customers jumping on it, especially if you explained the technical challenges behind the integration.

I guess the bottom line is that I'd like to know what I can do as a Panic customer to help make mosh support in Prompt 2.5 a reality. I am not interested in reinventing the wheel and building an open-source iOS terminal emulator myself; I'd rather just see you add this as a feature, and I'd be willing to pay extra for the functionality.

Also, @keithw, I'm obviously new and don't know the details behind the GPLv3 rationale, but I think I have a good point that most of the really popular encryption products use a BSD-style license, such as OpenSSH and OpenSSL. Continuing to stick with GPLv3 will mean that any mosh clients will by nature need to also be GPL'd, or else do the kludgey arms-length hacks.

EDIT: Also, it's my understanding that OCB can be used with any reasonable open-source license. If I'm mistaken, and it has to be GPL, then that's an entirely different matter.

Just my $2e-02.

@davidjao
Copy link

@mojotx There are other options. One can implement mosh independently. A separate OCB license is needed in that case. iSSH and JuiceSSH go this route.

@carloscabanero
Copy link

Hi! I already wrote to the dev list to introduce the project, but I thought it was time to introduce it here too, given how soon we hope to be out. We are a small team that has been working for the last few months on a Mosh based project that I am excited to introduce to you all.
 
Blink is a new mobile shell for iOS. We built the terminal that we ourselves would want to have and use all day long, fully configurable and with a great UI, can't say much more than that right now ;) 
 
We are currently working to have our first release version for testing in the next weeks. This version will only be available to a reduced group of testers, with a next one soon after that for a broader audience. I can advance that, thanks to Mosh, it is at least 5 times faster than any other terminal we have tried!
 
And yep, we will commit to the GPL.
 
I will provide you with more information in the next few days. but in case you would like to test it, or have any feedback, please drop me a private message.
 
Thanks!

@spitfire
Copy link

@carloscabanero I can't really see a way to DM you here, but I'd be very interested to try this out. Can you leave any contact info (twitter, e-mail,whatever) so I can contact you somehow?

@rekendahl
Copy link

Not sure how to drop you a private message on GitHub… But I would love to test your shell out. I’m an avid ssh(/mosh)/tmux/vim user and I’ve been trying to find a great solution for the iPad Pro. I’ve tried Prompt but it doesn’t have the colors I want so I’m currently using Jump to remote display my mac’s iterm2 window.

I’d love to be part of beta testing if possible!

/Robert

On Feb 19, 2016, at 10:20 AM, carloscabanero notifications@github.com wrote:

Hi! I already wrote to the dev list to introduce the project, but I thought it was time to introduce it here too, given how soon we hope to be out. We are a small team that has been working for the last few months on a Mosh based project that I am excited to introduce to you all.

Blink is a new mobile shell for iOS. We built the terminal that we ourselves would want to have and use all day long, fully configurable and with a great UI, can't say much more than that right now ;)

We are currently working to have our first release version for testing in the next weeks. This version will only be available to a reduced group of testers, with a next one soon after that for a broader audience. I can advance that, thanks to Mosh, it is at least 5 times faster than any other terminal we have tried!

And yep, we will commit to the GPL.

I will provide you with more information in the next few days. but in case you would like to test it, or have any feedback, please drop me a private message.

Thanks!


Reply to this email directly or view it on GitHub #198 (comment).

@carloscabanero
Copy link

Yup, sorry about that, I'm @carloscabanero on Twitter too.

@cirqueit
Copy link

@carloscabanero I'm also very interested in a mosh shell

currently using Prompt2 on my iPad Pro (@logancollins I'd also pay for an in-app upgrade)

@mojotx
Copy link
Contributor

mojotx commented Feb 22, 2016

+1...I'd also be interested in participating as a beta tester, @carloscabanero.

Also, @davidjao, thanks for pointing out the independent implementation option. However, I cannot find any sort of detailed documentation for the State Synchronization Protocol (SSP). There's a brief overview in some of the promotional publications, but I haven't been able to find anything written in the same level of technical detail you find in a RFC.

If a company DID do a "clean room" re-implementation of mosh, I think it would be best to work from standards documents, and NOT even look at the existing GPL implementation. SSH is described by multiple RFCs, and you do not need to download the OpenSSH code if you want to create your own closed-source SSH implementation.

It's possible that the SSP documentation is out there, but I just haven't found it yet. The mosh research paper only gave an overview, and wasn't something you could use to create an independent implementation.

@arronmabrey
Copy link

@carloscabanero add me to the list :-)

@cgull
Copy link
Member

cgull commented Feb 24, 2016

@mojotx, yes, SSP is an informal protocol and doesn't have any good specification written down. The best place to start is probably the protobuf definitions, actually. The protocol itself is fairly straightforward, once you understand that the differences between states are transported largely as character streams with ANSI escape sequences representing screen updates.

It might be good for us to dual-license the protobuf definitions with a permissive license, since it's pretty much impossible to reimplement them in a way that doesn't substantially copy the originals.

While I'm at it, I just noticed that the OpenSSL Software Foundation has a very permissive license from Phillip Rogaway for OCB; it looks like it's fine for commercial, closed-source apps. https://wiki.openssl.org/index.php/OCB

@carloscabanero
Copy link

Hi! We are opening our alpha to more people, and would love to prioritize anyone from GH and the mailing list. So if any of you is still interested in Mosh for iOS, please go to https://github.com/blinksh/blink for more instructions, or just follow @BlinkShell and tweet us about your usage scenarios. Thanks for your help!

@rekendahl
Copy link

I've been lucky to be an early alpha tester. And the app has huge potential but still rough edges. It has best keyboard support of any iOS terminal and it's really fast. Also handles my remote TMUX and vim keyboard shortcut excellent. Better then any other app. There are some graphical and color issues, crashes etc to work out but this shows real potential to be a first page app for me!

Carlos and team is on to something!

Sent from my iPad

On Apr 2, 2016, at 5:41 AM, carloscabanero notifications@github.com wrote:

Hi! We are opening our alpha to more people, and would love to prioritize anyone from GH and the mailing list. So if any of you is still interested in Mosh for iOS, please go to https://github.com/blinksh/blink for more instructions, or just follow @BlinkShell and tweet us about your usage scenarios. Thanks for your help!


You are receiving this because you commented.
Reply to this email directly or view it on GitHub

@binaryben
Copy link

Hey @carloscabanero, I was wondering a few things if that's okay. What are you looking for in potential alpha testers for Blink out of interest - is there a "perfect" use case you are hoping will be tested? Also, what sort of price point are you hoping to launch Blink to the App Store at, and are there any approximate timeframes yet?

Honestly, I would pay a bit for it at this point but interested to know if there were any current goals. Am very excited to be able to go completely laptopless without worrying about not having a traditional terminal on my device. Please keep up the good work :)

@rekendahl Your comments are really exciting. I've been trying to use Vim with WebSSH on my iPad Pro. It's alright, but could be better and Mosh support would go a long way to helping that! I had been tossing up whether Prompt would be any better (had actually asked if it was possible for myself to try and code Mosh support for Prompt and then have it integrated with their app).

Now I am left waiting - I hope it is worthwhile. I like your terminal setup btw (from screenshots in the issues repo for Blink). I think there is a lot to be said for using a terminal that is functional AND looks good. Hopefully colour and font support will be ready soon if they aren't already.

@carloscabanero
Copy link

So at the start it was about testing our changes to Mosh and our terminal implementation, but that has already been done and it is stable. Next versions will be just about testing the experience, configuration, etc...

I got extremely delayed due to changes in the ssh and ssl code. Great news is that ssh is now working too thanks to that. I'm currently working on opening the code to everyone under the GPL, hopefully done asap. If we have everyone's blessing then we will go straight to the AppStore.

We can discuss about font and color in Blink GH, but Blink supports HTerm, same terminal Google is using in Chromium, so you have full font and color configuration over CSS.

@binaryben
Copy link

All good to hear, will keep discussing in the blink repo as requested :)

@andrius
Copy link

andrius commented Jun 11, 2016

I (and I believe many developers) would pay for IOS ssh client with following capabilities:

  • mosh support;
  • port forwarding (both local and dynamic) support;
  • good support for logitech and apple smart keyboard (currently pgup, pgdown, home and end won't work in many ssh clients)

On my iPad Pro I am currently using a zoo: Prompt and Coda, Serverauditor (because of tunnels), and iSSH (yes, I still have it and I boutght mosh in past, it works).

@carloscabanero: definitely I would be happy to participate in testing!

@NathanielCapital
Copy link

@andrius Yes, I am doing exactly the same thing. I also use Xcute, which good for quick peek for information. Unfortunately I no longer have the iSSH copy I bought :(, is there a way I can have copy somewhere and install it?( Bought it, but no longer available for download on ITunes)

@carloscabanero
Copy link

Hope everyone is doing well, I just wanted to give a heads up that Blink was released a month ago and the next version is coming soon (already available for testers). I would be very grateful if you could update mosh.org with a link to our repository & to blink.sh.

We have simplified compiling a lot so if you want to give it a try, head to the Blink Shell repo and make sure to let us know what you think. We already have a few contributors and any feedback / ideas / PRs you might have are very welcome :)

Our Raw branch is still open for testing, for those of you who do not even want to touch Xcode even with a fork (I’m becoming one of those too). Tweet us @BlinkShell and we will send you a DM with more information.

We ran a very cool video comparing Mosh and SSH. I had never seen Mosh echo in action in such an obvious way, and it is awesome! If you would like to use it on mosh.org, I can very easily remove the Blink part at the end ;)
https://youtu.be/f_2SI-YxsaY

Thanks!

@keithw
Copy link
Member

keithw commented Nov 1, 2016

Great! Can you please send a pull request to https://github.com/mobile-shell/moshweb for what you would like on the website?

@carloscabanero
Copy link

Sorry Keith, didn't see that repo. Just did the PR. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests