I’ve got some videos on my phone I might want to watch on random computers, so I serve them up with NGINX. I’ve got wget-created mirrors of some old websites on my phone, so I serve them up with NGINX. Other files I may want to move out from my phone to untrusted computers on the network can too be served up simply by NGINX.
I’ve got the full Wikipedia zim file from Kiwix on my Micro SD card, so I run kiwix-serve (behind NGINX).
I’ve got all the music on my phone, naturally the phone is then running my Navidrome server (behind NGINX).
Of course, I may want to manage this from a computer, so it’s running SSH server.
My phone is always connected to VPN and uses NextDNS, naturally I may want to use this with other computers, but I can’t install software to computers I don’t own (I mean, I can, but … it would be disliked), naturally it is then running Tiniproxy HTTP proxy server.
Some desktop GUI apps can be useful on a phone too. noaa-apt, Kid3, Audacity, desktop Firefox, Handbrake because I am too dumb for ffmpeg, so I run XFCE DE on it. Naturally, I can access it from a computer (I know) too, after all it’s accessed via a VNC server.
Am I stupid enough to expose something using HTTP protocol running on my phone to the internet? Of course I am! I can use cloudflared.
Do I want to encrypt a file? I can use GPG.
Do I want to create a compressed archive? I’ve got TAr and GZip.
Do I want to browse Gopher? I’ve got Lynx.
SSH or telnet somewhere? The clients are there.
I code from an android tablet, by ssh’ing into a linux server running arch linux for development. I used vim+plugins for years, but now helix as it supports rust and typescript well.
May I ask which tablet you use and why? Do you use an external keyboard? I find your setup really interesting, and would love to know the reasons behind it
A xiaomi pad 5 pro, with an external keyboard. I switched to coding remotely a few years ago, so its nice to have a portable device with like 12 hours of battery life.
I feel like NGINX is simplest to configure. And it’s in the repos already, so I don’t see the advantage here.
Easy to do redirects, directory listings, serving a static website, setting mime types of specific files, basic user authentication, using HTTPS, using it as reverse proxy, limiting request types, limiting bandwidth, and making the directory listings far nicer with fancyindex module. That’s all I need and it’s pretty simple to do with NGINX. I don’t know what the Python HTTP server does, nor how to use.
if you said Caddy, I’d believe you more – but nginx requires a lot of configuration.
python http server simply does a directory listing in the folder it is invoked in, and if there is an index.html file present it will serve it by default. Easy for hosting files/images from your phone
Termux on Android.
I’ve got some videos on my phone I might want to watch on random computers, so I serve them up with NGINX. I’ve got wget-created mirrors of some old websites on my phone, so I serve them up with NGINX. Other files I may want to move out from my phone to untrusted computers on the network can too be served up simply by NGINX.
I’ve got the full Wikipedia zim file from Kiwix on my Micro SD card, so I run kiwix-serve (behind NGINX).
I’ve got all the music on my phone, naturally the phone is then running my Navidrome server (behind NGINX).
Of course, I may want to manage this from a computer, so it’s running SSH server.
My phone is always connected to VPN and uses NextDNS, naturally I may want to use this with other computers, but I can’t install software to computers I don’t own (I mean, I can, but … it would be disliked), naturally it is then running Tiniproxy HTTP proxy server.
Some desktop GUI apps can be useful on a phone too. noaa-apt, Kid3, Audacity, desktop Firefox, Handbrake because I am too dumb for ffmpeg, so I run XFCE DE on it. Naturally, I can access it from a computer (I know) too, after all it’s accessed via a VNC server.
Am I stupid enough to expose something using HTTP protocol running on my phone to the internet? Of course I am! I can use cloudflared.
Do I want to encrypt a file? I can use GPG.
Do I want to create a compressed archive? I’ve got TAr and GZip.
Do I want to browse Gopher? I’ve got Lynx.
SSH or telnet somewhere? The clients are there.
Why on earth do you run this all on your phone as opposed to on a home server?
Because… I can.
And it’s portable.
I code nearly exclusively over termux+ssh.
You ssh into your phone? Or you use Termux on your phone to ssh into another machine?
I code from an android tablet, by ssh’ing into a linux server running arch linux for development. I used vim+plugins for years, but now helix as it supports rust and typescript well.
May I ask which tablet you use and why? Do you use an external keyboard? I find your setup really interesting, and would love to know the reasons behind it
A xiaomi pad 5 pro, with an external keyboard. I switched to coding remotely a few years ago, so its nice to have a portable device with like 12 hours of battery life.
Thanks for giving me many hours of something to do
why not just
python -m http.server 1234
?I feel like NGINX is simplest to configure. And it’s in the repos already, so I don’t see the advantage here.
Easy to do redirects, directory listings, serving a static website, setting mime types of specific files, basic user authentication, using HTTPS, using it as reverse proxy, limiting request types, limiting bandwidth, and making the directory listings far nicer with fancyindex module. That’s all I need and it’s pretty simple to do with NGINX. I don’t know what the Python HTTP server does, nor how to use.
if you said Caddy, I’d believe you more – but nginx requires a lot of configuration.
python http server simply does a directory listing in the folder it is invoked in, and if there is an index.html file present it will serve it by default. Easy for hosting files/images from your phone