A couple of years ago, I used an Alcatel Raven LTE as my main phone. It was a very cheap phone ($30 new, albeit locked to my carrier TracFone), ran Android 7 Nougat, and had an impressive 16 gigabytes of storage and 2 gigabytes of RAM; it was no slouch for the price. One day, the hard classroom floor almost got the best of it.
Even after the screen got cracked, it still worked, even touch; the trouble only came from what in the world to do with a cracked $30 Android phone. It was way too cheap for a trade-in, and I don’t think many charities or repair shops would bother with it either. And so, it sat on my shelf for several months gathering dust, because I didn’t know what to do with it. Surely, it wasn’t destined for a landfill?
A few months ago, IRCCloud had an extended period of downtime that lasted around 20 hours. Though this was just one occurrence and I still recommend IRCCloud, I already had the idea of setting up my own IRC bouncer on the mind, and there was no better time to go ahead and try it out.
For the uninitiated: an IRC bouncer (in my case, ZNC) allows you to have one computer or server connected to any chat networks you wish, 24/7, and “bounce” the connection to any clients you’d like to use. The very nice benefit to this is that you can log off of your clients without missing messages, and not have to reconnect every time you want to use a different client. Another great benefit is that you can connect to it through The Lounge as well, a web interface. Running both, it’s essentially IRCCloud but hosted in your home, on your terms. A lovely thing.
For a little while, I considered using a Raspberry Pi, but I thought it would be too obstructive to keep one plugged in for very long. They’re great little devices, just fit for this kind of thing, but I didn’t want to bother with all the initial setup and having to keep it plugged in and blinking all the time. Then I realized that I did have another option…
After I looked at Google Play, it turned out that there are no IRC bouncers made to run on Android. However, I had a trick up my sleeve. Termux is an app you can grab off the Play Store that gives you a full Linux terminal environment with no rooting needed. The real thing. And on top of that, any servers you might run, as long as they’re above port number 1024, can be connected to from any device in your network, and yes, the Internet, if you set up port forwarding.
I’m afraid my setup is rather specific so I’m not able to do a full tutorial, but if I were to give any pointers, I’d start by getting Ubuntu installed under Termux with this script. As you’ll have root access within the chroot (basically a Linux install inside a Linux install for a lack of better terms), you can install ZNC from a PPA, and The Lounge from a deb package. I’ve done a lot of tweaking to ZNC and The Lounge’s configuration aside from that.
When it comes to getting the bouncer and The Lounge started, I need to do that manually in Termux every time I start the phone. I made a shell script in the chroot so I could start it quicker with
sh start.sh after switching into it:
runuser znc --command znc & runuser znc --command 'cd node_modules/thelounge && npm start' & runuser znc --comand 'bash mindustry.sh'
It’s a minor inconvenience as most of the time when it’s up, I never need to restart it unless I’m making changes.
While the IRC bouncer is what I get most of my use of Termux on this phone from, that’s not the most it can do. I’ve run a Mindustry server on it as well, and a Gopher server (with Pituophis, you think I don’t selfdogfood?) isn’t out of the question either, aside from not being able to run on port 70. On occasion, I’ve used SSH, and in turn, SFTP, to manage it remotely and transfer files.
Now I’ve only scratched the surface, and the possibilities are endless. Given that the phone’s hardware’s probably comparable to at the very least a Pi 1 or 2, it’s not half bad an option for many projects. I’ve seen dedicated server apps on the Play Store for things like web servers, Plex media servers, and more if you don’t want to hassle with getting stuff set up under Termux. Not into servers? You may be able to contribute to some fun sciency research projects if you fancy that instead.
These projects give me joy. Having the opportunity to give some older hardware a new lease on life never gets any less gratifying. As now we live in a society that’s more than willing to toss good hardware for whatever’s the Next Big Thing™, you might have an old phone or tablet sitting around collecting dust as I did. Maybe it’s cracked but works, or just got moved aside when something newer came around. No need to get rid of it, just find a job it can be the right tool for.