-
Notifications
You must be signed in to change notification settings - Fork 730
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
Comments
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.) |
(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.) |
I'm kind of surprised that this isn't using the MIT license. =/ |
@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:
-- http://mobile.slashdot.org/comments.pl?sid=2779759&cid=39644831
-- http://slashdot.org/comments.pl?sid=2779759&cid=39645753
-- http://www.cs.ucdavis.edu/~rogaway/ocb/ocb-back.htm#patent:others
-- 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:
-- 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.
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).
-- http://mailman.mit.edu/pipermail/mosh-devel/2012-April/000112.html |
@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? |
They're gone in the HEAD version of Mosh; see #158. |
@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). |
Don't worry, we are not going to re-introduce a Boost dependency. :-) |
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. |
Fantastic! |
Is there any further progress on this? I'd also love to see this working on iOS. |
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. |
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. |
Adding my vote to see this get sorted out. Sounds like it'd be perfect for iOS devices |
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. |
Is there an iOS client available anywhere yet? A quick search of the Apple app store turned up nothing. |
Yeah, I haven't seen any yet On Fri, Jul 20, 2012 at 6:29 PM, Nico Williams
|
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 |
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. |
"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. |
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. |
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. |
@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). |
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. |
Here are build instructions for iOS. |
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) |
@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... |
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). |
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. |
As far as I remember Panic, team behind Prompt was considering adding support for mosh protocol to it. |
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
|
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? |
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.) |
+1! |
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? |
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. |
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. |
@logancollins |
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. |
@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. |
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. |
@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? |
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
|
Yup, sorry about that, I'm @carloscabanero on Twitter too. |
@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) |
+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. |
@carloscabanero add me to the list :-) |
@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 |
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! |
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
|
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. |
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. |
All good to hear, will keep discussing in the blink repo as requested :) |
I (and I believe many developers) would pay for IOS ssh client with following capabilities:
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! |
@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) |
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 ;) Thanks! |
Great! Can you please send a pull request to https://github.com/mobile-shell/moshweb for what you would like on the website? |
Sorry Keith, didn't see that repo. Just did the PR. Thanks! |
Hello thanks for awesome product,
It would be insanely great to have iOS client so we can connect from iPad.
The text was updated successfully, but these errors were encountered: