6 ms·
Show HN: Terminal, a sandboxed command-line interface for iOS
- louisdh 9y agoThis project is open source: https://github.com/louisdh/terminal https://github.com/louisdh/terminal
- miles 9y agoThis is awesome - thank you! Love being able to download files via curl and search with grep under iOS. Any chance of adding a basic text editor (vi, pico, or even ed) and maintaining history across launches?
- louisdh 9y agoI think having a separate app for editing files makes more sense on iOS. There's iVim, for example (https://itunes.apple.com/us/app/ivim/id1266544660?mt=8 https://itunes.apple.com/us/app/ivim/id1266544660?mt=8). Maintaining history sounds like a neat feature, thanks for your feedback!
- goerz 9y agoWould it be possible to have an 'open' command that opens any file in their respective app? Maybe even configurable aliases like 'vim' to open files in a specific app (iVim) -- hence my other comment about support for a .bashrc
- 5_minutes 9y agoWith the (apple.com) it looks like an official release
- ben174 9y agoYea. And the name is very similar to MacOS’s Terminal.app which is developed by Apple. Might want to update the title to reflect that it’s third party.
- deleted 9y ago[deleted]
- dang 9y agoOK, we've changed to the project page on Github. Submitted URL was https://itunes.apple.com/app/terminal/id1323205755?mt=8&at=1010lII4 https://itunes.apple.com/app/terminal/id1323205755?mt=8&at=1....
- goerz 9y agoVery nice so far! Could this run an actual shell (bash), with support for a .bashrc (aliases!) and readline? Could there be compatiblity wrappers for rsync/scp, falling back to curl? I'm also not that into green on black. Any plans for themes?
- seba_dos1 9y agoThat would probably get removed from the walled garden.
- goerz 9y agoI thought Apple significantly relaxed the rules on running external code inside an app. Pythonista is pretty powerful these days. So I'd be hopeful a full shell with scripting support could make it into the store (still sandboxed, of course)
- Spooky23 9y agoCheck out pythonista. It can do many of the things you are talking about, except in Python!
- goerz 9y agoYeah, my point exactly! If Pythonista can be on the app store, then why not a full shell?
- glhaynes 9y agoYou can't fork() in App Store apps. Which is why all of the commands on the linked Terminal app are built-ins. So a bash-like of sorts could be made to work, but it would be very different and quite limited.
- brians 9y agoYou can’t fork a kernel thread. The hard part, and the value, of such an app would be a userspace fork() to a simulated thread.
- renchap 9y agoSeems great! Any plans to include ssh and/or mosh?
- avtar 9y agoGetting access to SSH private keys might be an issue.
- alsetmusic 9y ago> Any plans to include ssh and/or mosh? I saw this mentioned on a blog that I read only last night: Blink Shell: Mosh & SSH by Carlos Cabanero https://itunes.apple.com/us/app/blink-shell-mosh-ssh/id1156707581?mt=8&uo=4&at=10I4Fv https://itunes.apple.com/us/app/blink-shell-mosh-ssh/id11567... It’s $20, so I haven’t tried it yet. UI looks good and reviews seem positive. I am not affiliated with the app or dev.
- bradknowles 9y agoIt is expensive, but it looked really good so I was willing to give it a try. We'll see how it works out.
- julien_c 9y agoBlink is awesome. It's also open source and pretty easy to build yourself if you have Xcode around.
- goerz 9y agoAnother idea: would it be possible to mount cloud providers (Dropbox, iCloud, etc)?
- Bud 9y agoCan't see how. Like all iOS apps, it's sandboxed.
- goerz 9y agoAny app can access e.g. Dropbox directly, no? It'd just have to "display" it as a filesystem. Probably too much work..
- Bud 9y agoYou said "mount". I took you literally. (Got downvoted for it too; no idea why.)
- goerz 9y agoWhat I had in mind was basically FUSE (like https://github.com/joe42/CloudFusion https://github.com/joe42/CloudFusion). I don't think it would violate sandboxing, but it's probably very non-trivial to implement in this kind of app
- DRW_ 9y agoiOS apps can access third party services..
- nextstep 9y agoWhy is it rated “age 17+”?
- ken 9y agoIt says on the next line: "Unrestricted Web Access". The App Store rules say if you can use it to download arbitrary web content, it's gotta be 17+. Otherwise, age restrictions would be pretty much meaningless.
- 7ewis 9y agoIt's cool, but are there any practical uses for this?
- goerz 9y agoMy person impression is: not really at this time. But it's a pretty amazing proof of concept, and could grow into something immensely useful (a full local shell). I'm really glad this is open source, so there is the potential for people to contribute more substantial functionality.
- judge2020 9y agoGlad to see the developer who reserved the name was able to put it to good use. Almost all built-in MacoS app names have been taken on the iOS store [1]. [1] https://judge2020.me/rmTqJ5XV.png https://judge2020.me/rmTqJ5XV.png
- bocklund 9y agoLooks like it requires iOS 11
- kennethfriedman 9y agoIn the past, it was against App Store Guidelines to have interpreters in an app. Is that no longer the case? Could there be an app that has a Python interpreter built into it, so that the logic of the app used Python, with just a Swift/ObjC UI on top of it?
- julien_c 9y agoYes, there are multiple apps built around a Python interpreter (Quik by GoPro is one that I know of). I think that policy changed around 2011.
- hprotagonist 9y agoThe app in question is Pythonista. it’s kind of wonderful.
- mr_toad 9y agoI think the guidelines still disallow JIT compilation.
- basdp 9y agoThis is just a very simple frontend to this library: https://github.com/holzschu/ios_system https://github.com/holzschu/ios_system That library is just a simple implementation of some basic commands. It does not do any executable execution, it does not use the real system utilities. Nor does it has anything to do with Bash, or shell scripts. It’s just basically one big ‘switch’ for all commands, which are implemented in the app itself.
- bradknowles 9y agoSo, kinda like BusyBox?
- basdp 9y agoExcept busybox allows execution of external binaries. And BB is much (MUCH) more complete. Let that sink in.