25 ms·
Termux no longer updated on Google Play
- swiley 6y agoBetween this and ish Android without third party app stores/apps is now worse than iOS.
- m45t3r 6y agoThis is far from true. Unless Google removed the possibility of installing packages from third party sources, the situation in Android for *nix username is still far better than iOS. AFAIK, iSH only runs in TestFlight right?
- swiley 6y agoNo it's on the app store now, likely because Apple knows they're violating anti trust laws.
- jsjohnst 6y ago> AFAIK, iSH only runs in TestFlight right? Nope, it’s still in the AppStore[0]. So far, Apple hasn’t followed through on it’s threat. [0] https://apps.apple.com/us/app/ish-shell/id1436902243 https://apps.apple.com/us/app/ish-shell/id1436902243
- pipework 6y agohttps://ish.app/blog/app-store-removal https://ish.app/blog/app-store-removal
- ziotom78 6y agoThe very fact that you can still use F-Droid invalidates this statement.
- swiley 6y ago>Android without third party app stores/apps
- ffpip 6y agoI just installed this app 2 days ago for running croc [0] Works great. Will use Termux till/if it breaks. [0] - https://github.com/schollz/croc https://github.com/schollz/croc
- iagovar 6y agoWe have to replicate somehow the PC ecosystem into mobile phones. I'd like PostmarketOS / Manjaro to take off, hope it becomes ready as everyday driver one day.
- higerordermap 6y agoThe majority of people don't see any value in it, sadly. At least we can hope terminal + tools as separate app bundles approach takes off.
- forgotmypw17 6y agoThe majority doesn't decide what is done by the minority.
- rvense 6y agoIt is increasingly impossible to live in my country without a number of apps that require an iOS device or an Android device with all the Google services enabled. There's one de facto monopoly payment app[0], a lot of places where you can't park without an app etc., but the big thing is we have a government mandated single sign-on solution. You can still get one-time-pads in the mail, but there's also an app, and some features of the service are now app only. The web allowed us to avoid a world where everyone had to own a Windows machine, but mobile phones are now making that a reality. [0] A privately owned replacement for cash, doesn't that just sound great...
- forgotmypw17 6y agoThank you for sharing your experience. My country is doing a soft migration, with some places now refusing cash, but I don't care about them or can use help, and larger places like supermarkets having "no cash" and "cash only" checkout lanes, the latter being faster. Have you experimented with not using your phone for a day or a week and seeing how far you get looking for alternatives? They're usually around, just not immediately apparent, like the "x" button on ads.
- aasasd 6y agoI'm vaguely titillated by the prospect of Google Play receiving hundreds or thousands of separate apps with Termux packages. Alas this feeling is chilled by the knowledge that publishing them is not in Google's priorities.
- nanna 6y ago> Everyone should move to F-Droid version, if possible Instructions from the Termux wiki here: https://wiki.termux.com/wiki/Installing_from_F-Droid https://wiki.termux.com/wiki/Installing_from_F-Droid
- jedimastert 6y agoThat will only delay the issue until Q, right?
- zinekeller 6y agoNope. To be precise, it will be only a issue if Android compatibility was dropped from applications compiled targeting Pie. Even Gingerbread apps can still run on Q so unless 12 has drastically changed things, it wouldn't be a problem.
- ahartmetz 6y agoI discovered UserlAnd which seems like a better Termux. UserlAnd can run a surprisingly useful Ubuntu even though it has not init system.
- perryizgr8 6y agoThe upcoming SELinux restrictions mentioned in TFA would seem to obstruct any app that has the capability to execute any arbitrary binary. I would be highly surprised if any other similar app would continue to work without problems.
- fsflover 6y agoTime to switch to GNU/Linux phones if you want to own your device.
- unixhero 6y agoOkay? How!?
- fsflover 6y agohttps://puri.sm/products/librem-5 https://puri.sm/products/librem-5 https://www.pine64.org/pinephone/ https://www.pine64.org/pinephone/
- unixhero 6y agoCool! Thank you.
- iagovar 6y agoPinePone or Librem. There may be others.
- mrybczyn 6y agohttps://mudita.com/ https://mudita.com/ from some of the people at CDPR
- faeyanpiraat 6y ago€297 pre order pricing for a very simple phone.
- unixhero 6y agoTo be fair, I would pay for a libre phone. And regarding that it is very simple and or basic, OK. Life has become too complicated.
- 6y ago
- amingilani 6y agoQuick note: Google's Advanced Protection program disallows sideloading apps, so you can't install F-droid. Edit: Note that the Advanced Protection program is opt-in for users that require the highest degree of security Google can offer. Regular users won't be impacted by this. Edit: proof https://imgur.com/a/yktPNIc https://imgur.com/a/yktPNIc Edit 2: see @haunter's comment for a link to the change announcement
- mongol 6y agoWhat?
- ce4 6y agoI disagree - any proof for your statement?
- haunter 6y agoNot OP but that was announced back in March https://www.blog.google/products/android/new-malware-protections-advanced-protection-users/ https://www.blog.google/products/android/new-malware-protect...
- ce4 6y agoOk thanks. Somehow must have missed that one - I guess it's voluntary unless you install some work related app where company security policies pretty much default to switching off any possible loophole. I don't like where this path is going to lead :(
- shawabawa3 6y agoThe Advanced Protection program is opt-in for people with a high security posture It also means you _have_ to have 2 security keys set up to login to your Google account with no other 2 factors allowed as backup
- amingilani 6y agoI've added a screenshot.
- perryizgr8 6y agoI wish Google took the high road when it comes to Android and let users create legit root accounts on their phones. Instead they seem to be emulating the worst parts of Iphone OS. And no, root account does not violate any security principles. If your app is leaking secrets due to root accounts, your app is broken.
- higerordermap 6y agoHN has this fetish for root access. But it's more important to protect dumb users, and script kiddos watching youtube videos for everything, than letting someone do some text operation his smug greybeard (tm) 1970s way. And Google technically allows it, buy a phone with unlockable bootloader.
- perryizgr8 6y agoWhy would "dumb" users create a root account on their phone?
- higerordermap 6y agoBy watching a youtube video or worse, strange link on how to make youtube ad free. They aren't hard to mislead.
- dingaling 6y ago> If your app is leaking secrets due to root accounts, your app is broken. Yes it amuses me how banking apps refuse to run on a rooted phone, but the same bank's website works on the same phone. Suggests that they've placed a little too much trust in the app. Never trust the client...
- izacus 6y agoThe GitHub discussion is significantly more informative and carries a lot of thinking behind the changes: https://github.com/termux/termux-app/issues/1072 https://github.com/termux/termux-app/issues/1072 IMO a better link than a short paragraph on Wiki.
- westurner 6y agoNote that there are 297 hidden items in that issue so you have to click "Load more..." ceil(297/60) times to read all of the comments about how APK packaging is soon necessary for latest Android devices so the termux package manager can't just dump executable binaries wherever. FWIU: - Android Q+ disallows exec() on anything in $HOME, which is where termux installed binaries that may have been writeable by the executing user. - Binaries installed from APKs can be exec()'d, so termux must keep APK repacks rebuilt and uploaded to a play store. - Termux shouldn't be installed from Google Play anymore: you should install termux from the F-Droid APK package repos, and it will install APKs instead of what it was doing. - Compiling to WASM with e.g. emscripten or WASI was one considered alternative. "Emscripten & WASI & POSIX" https://github.com/emscripten-core/emscripten/issues/9479 https://github.com/emscripten-core/emscripten/issues/9479
- hyperpallium2 6y agoWhat about development on-the-device? - It seems C compiled with clang on the device wouldn't be executable? (If it was, that would be a way around the restriction: distribute packages as source, like the good old days) > offer users the option of generating an apk wrapping their native code in a usable way. https://github.com/termux/termux-app/issues/1072#issuecomment-475895891 https://github.com/termux/termux-app/issues/1072#issuecommen... This seems a promising solution: compile from source, create an apk, install - your custom distribution! For popular collections of packages, a pre-built apk. - Java might be explicitly blocked, being a system language for android, even though its byecode is interpeted and not exec()ed. - Other interpreted languages should be OK e.g. python
- pantalaimon 6y ago
- z92 6y agoThe Google play version was crippled beyond being practical anyway. Can't SMS, can't GPS, no access to address book. The usable version is from F-Droid. And I had to install that one just to install Termux. No need to root your phone. Simply install F-Droid app store, and install from there.
- brlewis 6y agoI'm very new to Termux and recently installed the Google Play version. If I install the F-Droid version will it have access to all storage, such that I could edit Dropbox files in emacs and have them automatically sync?
- aasasd 6y agoAfaik you gain access to ‘sd card‘ storage by running ‘termux-setup-storage’ once, regardless of the store used. See here: https://wiki.termux.com/wiki/Termux-setup-storage https://wiki.termux.com/wiki/Termux-setup-storage From there, it would depend on whether you have synchronization that actually monitors files on the ‘sd card’ storage.
- pjmlp 6y agoFor those not following. the TL;DR; is basically termux doesn't want to accept that Linux on Android is only an implementation detail and re-implement the necessary shell like functionality using the Java Frameworks.
- higerordermap 6y agoNot exactly, it doesn't use "java frameworks". I don't exactly remember Implementation details (has been few years since I fiddled with it). It executes binaries same way as any app can do, there may be some JNI involved in the way you get to shell, but that's it. And what's wrong with it? It may be implementation detail but termux increases utility of the phone. It seems you always have an axe against UNIX / FOSS ecosystem to grind. But every system has its strengths and weaknesses, Unix is just too ubiquitous for what it is worth. Look at fuchsia, while having laudable goals, has already become quite complicated (in typical Google project manner).
- pjmlp 6y agoI surely have, because it killed desktop inovation, as everyone keeps trying to replicate PDP-11 CLI experience, as termux is a living proof of it. UNIX compatibility is also what keeps C alive, actually. Want a CLI? The Java APIs on Android provide all the required features.
- Anon1096 6y agoCurrently my most commonly used tool in Termux is youtube-dl from pip. Please point to how you can install it via these other Java based shells or language REPLs. Termux provides a lot more functionality than an interpreter.
- pjmlp 6y agoRe-implement it as a Java application, duh. Do you also want me to teach you Android Java or Kotlin?
- 6y ago
- cute_boi 6y agolooks like I don't own my device but google own device. Looks like google wants to make virtual wall and gates like that of apple.
- michaelmior 6y agoYou can still install whatever apps you want on your device. Much easier than you can on an iPhone.
- BuildTheRobots 6y agoAccording to this comment, sideloading is being disabled too: https://news.ycombinator.com/item?id=25645478 https://news.ycombinator.com/item?id=25645478
- hundchenkatze 6y agoYou can disable Google's Advanced Protection https://news.ycombinator.com/item?id=25645981 https://news.ycombinator.com/item?id=25645981
- BuildTheRobots 6y agoThanks :)
- samanator 6y agoBut you can't control everything on your device (e.g. let one program kill other programs).
- michaelmior 6y agoI have an app on my non-rooted Android phone which does this. You just need to give the app admin permissions.
- 6y ago
- hyperpallium2 6y agohttps://f-droid.org/packages/com.termux/ https://f-droid.org/packages/com.termux/ Note that you can download the apk and sideload, without installing fdroid. You can, for example, install termux on a device that is never online... a standalone phone.
- badRNG 6y agoWhile I really, really want a GNU/Linux Android-alternative to succeed, at the moment a good solution for those of us who can't go without Termux is LineageOS [1], an Android fork, comes with a terminal emulator WITH root access (of course you can install Termux if you prefer how it handles packages.) You can also install Play Store apps on it, should you feel so inclined. [1] https://lineageos.org/ https://lineageos.org/
- fsflover 6y agoHow does LineageOS compare to /e/OS?
- badRNG 6y agoAs of now, I've only used two Android forks, Cyanogenmod and LineageOS, primarily because they work on so many devices. LineageOS has a whole list of cool custom APIs that I've considered taking advantage of in some future project, but other than that I'm not sure.
- phh 6y agoFWIW, nowadays, thanks to Project Treble, most ROMs have GSI (Generic System Image) that will work on any device released with Android 8 or more recent, assuming OEM allows bootloader unlock.
- pantalaimon 6y agoI never heard of /e/OS what does it do?
- reportgunner 6y agoCheck out Termius. I've never used Termux so I'm not sure if Termius has the same feature set but it was enough to occasionally ssh in to my machine to attach/detach a gnu screen session to do what i needed. Also see Admin Hands.
- monsieurbanana 6y agoFrom Termius description, it's a completely different app than Termux. Termius is a ssh client, it's purpose is to allow you to connect to a remote computer, whereas Termux is the computer. You can program, compile, run programs, etc... from Termux.
- npsimons 6y agoMy use case is emacs, git and ssh so that I can have my org files on my phone and synchronize them with my other computers. And no, the org apps aren't good enough, plus there are other features of emacs that are nice to have at all times.
- reportgunner 6y agoFair point, but Termius lets you run a local terminal too.
- londons_explore 6y agoTL;DR: Android is trying to enforce all data being either writable, or executable, never both. iOS already does this. There are big security benefits (it becomes much harder to exploit an app). A disadvantage is it becomes much harder to make things like terminal emulators and things that want to download random code and run it. But those are by far the minority of apps, and it seems crazy to make a pretty massive security tradeoff for something that 99% of apps don't need to do. One solution might be a special permission to be allowed to do that, but it seems unlikely a user could really make an informed decision. Another solution could be to interpret rather than execute the code - you lose a lot of performance, but for people running bash scripts, that might not matter. Using WebAssembly might be a good middle ground.
- fxj 6y agoHow is ish on iOS circumventing it?
- londons_explore 6y agoit interprets x86, and therefore loses a lot of performance. For just running a few bash scripts, it really doesn't matter tho.
- yoz-y 6y agoThis, plus the App Store version does not come with apk package manager so in theory all executable code is there. Also they are on a kind of thin ice and already almost have been kicked out: https://ish.app/blog/app-store-removal https://ish.app/blog/app-store-removal
- saagarjha 6y agoThe version of iSH on the App Store has shipped with APK for a little while now: https://twitter.com/iSH_app/status/1336770264885948416 https://twitter.com/iSH_app/status/1336770264885948416
- aviraldg 6y agoslightly offtopic: I am surprised by how much patience thestinger has on the thread replying to people who clearly have no context about the issue - enough to repeatedly explain the tradeoffs and reasons behind the decisions taken.
- angry_octet 6y agoAbsolutely heroic.
- Redploy 6y agoContact me if you're looking for a skilled, quick, reliable and confident ethical hacker or programmer. Redploy4000@gmail.com
- lbrito 6y agoTermux is such a great piece of software. I've been using it as my primary server[1] for half a year now with no issues and very minimal maintenance. That said, it always kinda felt like a kludge when compared to (ideally) using a full-blown Linux distro like PostmarketOS. [1] https://lbrito1.github.io/blog/2020/07/replacing_google_analytics_android.html https://lbrito1.github.io/blog/2020/07/replacing_google_anal...
- gcblkjaidfj 6y agoThis point is moot and off-topic. termux is not perfect because it is already a compromise! When google scammed us and sold android devices to all the hackers here and then surreptitiously removed our access to the terminal, we said "that's fine, we can still package this as an app like so and so" and termux was born. now they are removing access from running any code not signed by their store, even if you install termux from the appstore and compile some code yourself, you can't run it. where are we drawing the line? 99% of people cannot use postmarketOS, either because their market do not have access to devices with unlocked bootloader or because their live depend on some bank/school/work app that checks the OS.
- dmos62 6y agoIronically, the software we create, Android in this case, isn't oriented at us. Castration in Android is considered a feature, because it makes the average user's phone more reliable.
- gcblkjaidfj 6y ago> it makes the average user's phone more reliable. I would believe that if it was a prime (well described, not difficult to understand, easy to find) option where the user had control. As it is, it is the same as blocking the second level of a house because 'not allowing the residents to climb a stair makes the house safer for them'. At some point, we have to see that feature prioritization on android serves only advertising revenue increase, and reduced support costs for google. This one is for the later. With this feature they can remove tons of cost form app review teams they have. They can just allow every app that downloads crap to the data location and call it a day. It doesn't help the user in any way, only google profits.
- saagarjha 6y agoThis is annoying, but I am not quite convinced that this requires pulling Termux from the Play Store. I mean, to be honest, Android is literally "easy mode" compared to iOS even after this change, and just having access to execmem would be enough for any iOS app to write a very capable Termux–and that's even without proot involved. I'm seeing claims of execmem possibly going away as a reason to not write their own loader (which is basically the only component they need) but that would require banning all alternative web browser engines from the store, which would be a much larger change in policy than banning exec from certain directories.
- aasasd 6y agoBTW: I just now have read an announcement that Retroarch is affected by the same policy, and they solve that by offering a limited number of Libretro ‘cores’ that are downloaded from Google's servers on request from the app: https://www.libretro.com/index.php/retroarch-android-new-versions-for-play-store-please-read/ https://www.libretro.com/index.php/retroarch-android-new-ver... I now invoked the ‘convert cores to the Play Store versions’ functionality, and not seeing any new separate apps installed, nor was I asked to install anything (and Retroarch doesn't have permissions for that). It seems like Termux could use the same approach.
- kazinator 6y agoThat seems hard to enforce. I mean, you can block the kernel level execve, but perhaps user space can be hacked to do a user-level execve. Just unmap and re-map the right pieces of memory, close the right file descriptors, do the right stuff with signal handlers and whatever not. No? Look, Cygwin is able to simulate fork and exec on Windows, both of which are completely missing. One thing that would put a damper on things would be disallowing executable mapping at all. But you can't just do that since it breaks shared libs. A mechanism that allows shared libs to be mapped executable and then drops the map-execute privilege wouldn't be secure. It would be annoying, but possible to bypass. The only way it would work is if the entire process setup logic shared libs were moved into the kernel, so that the very first instruction that runs in a process is in a context that can no longer map any pages executable. Or else, it's still in user space, but the dynamic loader is specially privileged, and before dispatching the very first instruction in the loaded executable, it drops that privilege. Either way, so much for trampolines, JIT and other techniques). dlopen could not work either, unless it's moved into the kernel, and allows only "blessed" plugins.