Termux on Android 5 or 6
github.com
github.com
I found this combination of now defunct open source apps worked better than any I've tried.
https://github.com/irssiconnectbot/irssiconnectbot For SSH client. (not version 2. version 1.7.1-irssi specifically)
https://github.com/klausw/hackerskeyboard Keyboard that has Ctrl/Alt/Meta keys without having to switch modes. A bit cramped and the UI for AutoSuggestion dissappeared in Android 13 :(
These tools are not without their quirks tho but I'm sure with some TLC they can be ironed out. Funny I'm an Android dev by day but haven't had time to look into the minor issues both tools have because they are so old. Then again, they are not serious issues and I've been able to whip out emacs and write code (clojure: so succinctness helps) when the moment strikes or in lieu of social media.
I use it to run my restic backup script to backup my phone data, it's a bit barebones but seems to work.
I find it cool to have a shell on my phone, to be able to launch vim (but definitely not use it with the onscreen keyboard, lol)... was wondering what others are up to!
Also: if you use the git sources you can do a quick "git pull" in case there were breaking changes and restart the download. ytdl is written in python, you can launch it via python -m "module name" within the src folder
You can also use different forks of ytdl or run multiple downloads in parallel
it crashes every often when google messes something but other than that, it is smooth sailing. you should send crash logs to the team
No bloat. No ads. Does the job fine.
Brave also blocks ads on YT, which is great :)
Is there a tutorial online?
My brave browser doesn't seem to have the option to do that.
Apparently another alternative is
https://github.com/yausername/dvd
And this one is on fdroid.
DVD seems to work on more sites with more format options. The inference is super clunky though.
This is especially useful when you have multiple Pis connected and need to know the IP address to ssh to.
~ $ ip neigh
Cannot bind netlink socket: Permission denied
Pixel 6 Pro Android 13PS: Oh, and once I was ssh'ing into an embedded device in a lab, while standing next to it and fiddling with wires. I could have brought a laptop, but it's a big hassle - VPN goes down, wifi network may be misbehaving, all windows are moved to the laptop screen etc.
For a while I also played around with having my Android phone as an SSH server and connecting to it from my iPad for a lightweight portable coding setup.
termux supports native GUI dialogues (input/checkboxes), and the scan-shellscript uses that for input (name, greyscale/color, jpg/pdf output and number of pages for pdf) then launches a couple of remote scanimage + ocr postproc + pdf generation commands and transfers + opens that in the local pdf app
- using qalculate! for complex calculation (think physical constants, unit mixing, trig), currency and unit conversion, simple symbolics
- ffmpeg. i have aliases for video compression, stripping audio, etc
- converting between file formats, imagemagick and pandoc
- untarring files, encrypting files, batch renaming
- sending files somewhere else via scp
- remote controlling computers
- it's possible to set up a vnc server and a full gui desktop environment, for a highly portable system that gets you the same program and file setup on any computer supporting a vnc client.
Once you build up a collection of aliases / shell functions it can be very powerful even with a small virtual keyboard. The fish shell is also a great qol addition.
It's a thin wrapper around apt for whatever reason. Quite a lot of software packages are distributed by/for termux!
e.g see https://gist.github.com/cyrillkuettel/d63785cf5f4c00106ae215... for example.
Termux doesn't get special privileges unless you root your device. It can't go messing with your phone data unless you granted it permission to do so (but even then it doesn't have access to everything). It's no worse than any other Android app IMHO.
> Once you build up a collection of aliases / shell functions
Could you share yours possibly?
1. Running an HTTP server in a directory, so people can connect to my hotspot and get a listing of the files. (I've done this twice, for sharing movies.) This is easy enough to do with `python -m http.server 12345`, and this lets you get a file on nearly any single device with a webbrowser in it.
2. SSHing into my various servers, or getting a file off my home machine that I forgot that I need.
3. Python is a general-purpose calculator for me, so I primarily use Termux instead of a calculator app.
#2 and #3 I do less frequently myself, but I use qalc instead of Python for a calculator (handles units and algebra).
https://f-droid.org/en/packages/com.MarcosDiez.shareviahttp/
Now I mostly use it to ssh. But it is surprisingly powerful, and occasionally you find a new use case that makes it worth having a generic Linux shell.
Been doing this since the Treo 650 days (pssh) and then Connectbot and nowadays Termux on Android. I always use phones with a physical keyboard, must have had a dozen different ones over the decades.
A big advantage of this workflow is consistency. For example chat systems come and go, each with their own wacky UI. But for me they are all IRC buffers in my Emacs session, configured just the way I wanted it.
market: https://play.google.com/store/apps/details?id=io.github.sds1...
github: https://github.com/keymapperorg/KeyMapper
fdroid: https://f-droid.org/packages/io.github.sds100.keymapper/
It's a very versatile tool, can be handy even if you don't have a keyboard. It is also possible to use custom keyboard layouts but I don't have a link handy for that.
I'll try this out. Thanks again.
When I go on vacation, I bring my Android / Termux equipped phone to have access to cloud VMs I manage in case of an emergency. I verify my .ssh/config is in order before I leave. I have an external Bluetooth keyboard and a surprisingly full-fledged emacs in Termux. This solution has come in handy a number of times, and I am always impressed by how well it works.
I also use Termux:Widget [1] to launch scripts. For example, I have added all my contacts to abook [2], and with a bash script that use fzf I can filter my contacts and it automatically get the contact gps field and automatically start the navigation.
mosh[1] was especially useful for this over mobile data.
[1]: https://mosh.org/
The objective was to get something working for the Mac M1 (which none of us had at the time). So I'd just cross-compile targeting my android phone, download built binary using wget on tmux and then run it to test if it's working. I remember I could build just the matrix multiply library locally on termux as well (after getting cmake and build-essentials via `pkg`).
That limits what I can backup.
I don't want to take my MacBook because it's too expensive and the sand and water can get into the keyboard. Leaving it on the sun for hours is also a bad idea.
I took my wife's relatively old Android tablet (at least 5 yo), connected one of my cheaper Bluetooth keyboard. Then installed a terminal, git, vim, rust, dart. This setup lets me practice a little bit, I don't need to worry about stuff getting stolen (first, because it's not something people steal, and even if they did, I wouldn't really mind as the whole setup is less than 100 dollars).
As for what I use for: it's an on-the-go computer I use to kill time anytime I'm waiting/bored, i.e. a lazy man's "cyberdeck". I've had fantasies of busting it out in an emergency and saving the day, but it has only been mundane code changes so far :(
But here's a security researcher from Zambia using only Termux for his development[1] and research as he couldn't afford a computer. I'm sure there are plenty more like him in developing economies, Where using smartphone for general purpose computing is not just a lifestyle but a necessity for livelihood.
So I really appreciate Termux for catering to those who might be still running older android versions.
Depending on the Android version, most other things could be updated in other ways (security updates from OEM, system updates via play services, app updates including system apps via play store).
On top of that, you can add local and network firewalls and similar stuff to harden the system.
Basically, probably good enough for the intended usage.
What I wasn't thinking about was this tool generally doesn't need the device to be on public IP, so remove the cellular access and have it behind a LAN firewall and it should be ok.
Previously I was thinking along the lines of MMS attack's being a problem. I seem to get suspicious links regularly.
Edit; second though NO. Clicking a bad link with some browser exploit on it will still get you infected in that case. So you couldn't use this to browse the internet safely. Still as a Termux only tool seems safe.
With an up-to-date browser you run about the same risk you run if you're using a computer. The kernel exploits are problematic, but Android also adds annoying sandboxing that requires a lot of device-specific exploit code to bypass properly.
Realistically, even if just the browser was exploited and the kernel and runtime around it were perfectly secure, you'd still have a huge problem. Your browser is where all the access tokens and passwords go into and where your search history is coming from.
I wouldn't bank on these long unmaintained devices, but I think they're fine to use for most people.
I agree, seems like this is prolonging things and just delaying the inevitable.
Android has pretty good "defense in depth" security, from screening in the Play Store, to the app sandbox, to kernel hardening. If you only get reputable apps from reputable sources, have an eye on phishing attempts, and have no reason to think you are a target, you may afford to have a few weak spots in your system. A lot of people run outdated Android version, and most don't get hacked, and among those who do, it is almost always phishing techniques that software updates wouldn't have prevented.
If you really can't, it you have a popular, higher-end Android phone from years ago, you may find up-to-date custom ROMs, that you can further optimize for security.
Recent versions of Termux are not available on Aurora Store because they are also not available on the Play Store. However, whyorean also develops Aurora Droid, an alternative F-Droid client, which does have the latest version of Termux. (Aurora Droid has not seen updates for a while.)
whyorean's apps are trusted by many Android users, and I don't know of any good reason to avoid his work in general.
Thanks for sharing
I am easily able to use my tablet as a client to either one of my hosted machines or my development workstation. Can highly recommend =D
That said my use-case is basically either ssh or mosh, so I haven't really tested how capable termux really is, but it is enough that I don't get artifacts and such when connecting over ssh.
Anyway it's great. It handles everything I've thrown at it like a champ. I am constantly amazed someone managed to make a phone environment this reliable and full featured.
I'm well aware it's just apt packages with the base path modified but I'm still really impressed.
The documentation is also really good. I've never had to ask a question to do anything I've wanted.
I also did so using my pixel 4a (which doesn't normally support video out), a usb displaylink adapter and this app https://play.google.com/store/apps/details?id=com.displaylin...
But in reality you'd probably do better with just about any old Linux laptop.
- fetch SMS text and number from application API.
- send from local phone.
Why? Chipset support: Spreadtrum, RockChips, AW, AmLogic simply didn't release BSP updates for some of their most in demand chips.
Most current cheap rockchips are rk3328/rk3228, who got at least Android 8, even more recent (I think 3328 got Android 12). Last Allwinner board, H616, I got was running Android 9, but it was few years ago so it was pretty recent, and it's considered an obsolete SoC on several accounts. I don't really know what Amlogic sells nowadays
Granted, I only buy devices for which the the Android devices is displayed, because well I want GSI to run on it, but I haven't seen a device sold as Android 4.* for years. I ordered an iPhone knock-off that might prove me wrong... (it says Android 11 on the spec sheet)
If the latter, I'd guess that some of them still want to support Android 5/6 phones. Some of them still exist and work fine.
---
[1] >3% of android running 6 or 5, according to several sources found in a quick search, of which https://gs.statcounter.com/os-version-market-share/android seems to be the most up-to-date.
[2] Not supporting newer formats/features perhaps, or just being a very tightly walled garden of minimal features.
[3] So not supported at all any more.
[4] If they rely on external services that have since closed, for instance.
Additional context: read-only package repos (as archived on 2019-12-09) moved to official site.[2]
[0] https://github.com/termux/termux-packages/issues/4467