any cool ideas what i could do with termux?

SaltyIceteaMaker@lemmy.ml to Linux@lemmy.ml – 324 points –
115

you could use Termux::API to get stats (battery percentage, notifications, calls, some other stuff) of your phone from your PC.

this video gives good examples

Here is an alternative Piped link(s): https://piped.video/watch?v=nltk2GuvEBY

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source, check me out at GitHub.

good bot

Can we stop with these useless fucking comments to bots? Don't turn this place into reddit where the same dumb comments are parroted over and over.

oh ok

I do appreciate the fact that more private Piped links are provided instead of direct YouTube links (my bad btw), although direct ways of saying thank you (messaging developers, sending donations, providing feedback) would be more useful and productive

thanks for the advice. I'm also not a fan of those type of comments too lol

I apologize for coming off so harsh... I've just been seeing these a lot and they really annoy me. Unfortunately you were the person that was at the end of those frustrations. I was out on a ride and was thinking about my message to you and regretted it, I should have been more kind in my messaging.

2 more...
2 more...
2 more...

I use Termux:Boot, Termux:API, plus root to disable the green dot notification for location access. It's a little cleaner than going through Tasker since the Secure Settings plugin isn't maintained anymore.

Bugswriter is a chad, ha also built a script called tuxi that was really cool, but sadly now it's deprecated

2 more...

SSH into my PC, from there pretty much anything is possible. Neovim works pretty well.

I personally use JuiceSSH for quick server management.

Oh you just gave me an idea. I have the old pc of my grandma wich i wanted to turn into a personal server for various use cases. With ssh i could control it from my phone

Cowsay is a vital program. I've never understood why it isn't installed by default in every distro.

Compile llama.cpp, download a small GGML LLM model and you will have a quite intelligent assiatant running into your phone.

Would that actually be decent? Even 6b models feel way too rudimentary after experiencing 33+b models and/or chatgpt. I haven't tried those really scaled down and optimized models, though!

They're decent for text completion purposes, e.g. generating some corpspeak for an email, or generating some "wikipedia"-like text. You have to know how to write good prompts, don't try to treat it like ChatGPT.

For example if i want to know about the history of Puerto Rico I would put:

"The history of puerto rico starts in about 480BC when"

Decent enough for a model 50 times smaller than ChatGPT. I use orca_mini_3b.

I got llama to compile but it crashes every time I tried running it.

Do we have any llama apk/deb/flatpack/appimage where you just choose the llm to use?

lamacpp is kind of this. you give it a path to a model and a prompt. download a smallish model GGUF file by thebloke. lamacpp main exec has an interactive mode too which can function like a chatbot. i never built it on android though maybe you need android NDK

Termux is awesome! I use it for a bunch of things:

  • sshing into servers and my home when I'm out and about
  • using croc to transfer files
  • making videos I'm going to send people smaller with ffmpeg
  • downloading stuff with yt-dlp
  • giving myself access to the sandbox + /sdcard from other computers by running an ssh server
  • scripting phone stuff (like taking photos) with the api
  • running weechat locally, which I can then connect to with weechat android
  • using vim
  • probably a bunch of other things I'm forgetting

Does croc relay pass only metadata about the client addresses, or is the data itself sent via the relay?

As far as I know the relay just NAT busts, after that it's encrypted p2p.

croc is best to use the android app instead of croc in termux

Why install another app when croc is available from termux?

That's pretty much where I'm at too, and I find it easier to get to the file(s) I want to send through the cli. No judgement to anyone who prefers the gui though!

Using termux for SSH as well. Haven't heard about croc before. Are there advantages over copying files with ssh (scp) for example?

The main advantages for me are:

  1. You don't need to swap ssh keys, which makes it great for setting up new systems I haven't connected to everything else yet (or don't plan to)
  2. It's cross platform
  3. The devices don't need to be on the same network (it NAT busts too)

I am thinking about setting up a local HTTP web server with something and HTTP proxy to share my VPN connection easily. But to be honest I am also kinda lazy. Ok, alot.
Maybe NGINX for web server and Privoxy for the proxy server. Or tinyproxy. I don't know to be honest. When I'll have too much extra time at school I can look into that.

Anyway, there's also ffmpeg. Pretty useful.
And since you can run GUI in it, noaa-apt for decoding APT imagery from the last NOAA satellites still broadcasting APT at 137MHz. (NOAA-15, 18 and 19. NOAA-15 currently has broken AVHRR scan motor, but it's not the first time.)

Lame screenshot from Termux desktop:

Hi, could you explain a bit more about how you're planning to share your VPN connection with a proxy? Interested to know how the networking will work. Thanks!

I mean, just run the proxy server on the phone. Then the traffic simply goes through VPN. Currently I just use this app, but I want to do it properly.

Ah, I see. Is this for devices that can connect to a proxy but can't connect to a VPN?

I suppose one could share their Wi-Fi connection using this too

Also. I use it with school computers like that.
But also to go around VPN device limit. For example, I use free Proton VPN which limits me to 1 connection at a time. And that 1 device can be the device running proxy server, and now I increased the limits.

Termux yeah. I use it everyday. So here is a (long) list

  • Use ffmpeg to convert videos or even edit it(with current 6.x version, mediacoded hwaccel is availiable)

  • yt-dlp

  • Use vim and emacs, maybe code something

  • Integrate it with other plugin apps like Termux:API(lots of system apis), Termux:Boot, Termux:Float(floating terminal), Termux:Widget, even Termux:X11 For running gui apps

  • You can run gui apps with other X servers like XSDL

  • Compile and run programs that is not availiable for arm(Worst thing, but i still does it. Much hassle and error prone, but fine for smaller programs)

  • Use ssh to connect to other devices

  • Install x11-repo and thus install xfce and firefox desktop(for fun)

  • Install proot-distro and use distros like debian, arch, ubuntu, manjaro, void, fedora, etc. which is cli only by default but you can install any DE.(You can combine display server from XSDL)

  • Use git, clone a repo, make changes, use it or push commit, whatever you do with git

  • Use your normal standard linux commands to browse thru your filesystem and make changes

  • neofetch, cpufetch, rxfetch, htop, gotop, cmatrix and hollywood for lolz

  • tmux, byobu or gnu screen

  • Tar, gzip and all coreutils

  • cryptomining(DON'T do that)

  • Test your webpage locally (php -S localhost:port)

Ahem I wasted a lot of time making this list i think i have to go now lol

I actually am currently trying to ssh into my main pc and hopefully in the future into my server i started to setup today but i am struggling with the use of keys. Got any good tutorials you can recommend?

I found this from a search.

I don't usually use manual keys but uses password to connect to ssh servers. Like ssh -p port user@ip and it promts to trust it then you have to enter your password. I have barely set up ssh servers but have connected ssh servers many times

also didn't know you could pipe text into lolcat like that

If you mean the ascii text that is just figlet piped into lolcat

figlet GrapheneOS | lolcat

And the other is just cowsay piped into lolcat

cowsay i did something | lolcat

You can pipe pretty much any terminal output into lolcat (although some things don't really play well with it)

Definitely try running a full Linux distro with it, it's pretty fun and a self-rewarding task, even if you don't end up actually doing anything with it. But you may still find it useful in some ways, for instance, you could run a full fledged desktop Firefox with support for ALL addons, use it to inspect and debug web pages etc.

And if you feel like it you could take it a step further and install Zink and Box86 to play Windows games.

Just as a tip: you can run every Add-on on Firefox nightly. You can add your own add-on collection and select from that. You have to go into dev mode though. Yo do taht by tapping the Firefox logo in the about section like 5-10 times. You have to have a Firefox account though. Or you could use my fairly small add-on list:

Username: 16700479 Name of the list: cookies

I ssh into my desktop and do a watch sensors while I'm gaming, sometimes. Then I can make sure temps are good without taking screen real estate with mangohud or similar.

chroot into an ARM64 distribution is a must.

Do you mean like when you install kali nethunter in termux? Or are you referring to something else

rsync

hourly chime

pull local weather from weather underground

integrate with tasker and klwp

I'll just add that https://www.weather.gov/ is better to use since it's completely ad free and where almost all of the other weather websites pull their data from anyway (if you're in the US, that is).

Not american...also munging with Beautiful Soup. Never seen an ad on my phone.

Try to use my apkverify tool.

It may be broken or not work on some APKs, getting it running on Termux is kinda weird, but you could then use a better output of APKSigner to read signatures and verify APKs on first install.

Apksigner on its own was pretty useless for me, thats why it uses a workaround. Apks are zips, so it renames the file, decompresses and reads some file where the signer is actually mentioned with Name and all. Then it deletes it.

Iirc there was some bug with Termux and the unpack thing, because Android sucks I guess. On Linux it works fine.

@SaltyIceteaMaker I installed miniflux, a rss reader, on it. Sadly android constantly kills the internet connecting when the screen turns off, so I can't use it as a server to access it from my other devices. I have tried everything I could find to prevent that from happening.

Maybe an app like FakeStandby would work.

If your device has an AMOLED screen it should be basically the same as having the screen turned off. You could just disable the screen timeout and use FakeStandby to turn off all the pixels without actually "turning off" the screen

@poweruser Sadly it doesn't have an AMOLED screen (cheap samsung tablet) but as a last resort it might be worth a shot. Thanks

If you just turn off the battery optimization for Termux It won't happen.

@kionite231 Was the first thing I tried. Termux even has a "wake lock" function but that also doesn't seem to prevent it.

Try installing Linux on it. Check out AnLinux. I'm running Debian with KDE on mine.

@SaltyIceteaMaker I think you can use bash scripts and combine that with termux-widget addon to do some amazing stuff. I wrote a script around ytfzf to search and download YouTube videos using termux-dialog addon.

Run nodejs off it

termux targets an extremely out of date sdk and is therefore quite insecure.

It targets that because those old "insecure" SDKs allows people to use their system as something that isn't a toy. Newer sdk versions refuse to run code that wasn't included in the apk

Mobile platforms like android and iOS (more specifically GrapheneOS), are leagues ahead of desktop operating systems in terms of security because of these strict policies. and besides, you are treating untrusted code as untrusted code. I don't see the flaw in that logic.

sure, they could use more apis for accessing system directories and stuff like that securely, but that's not really in scope. this is for end users. not field deployment on an sbc for something.

Im gonna be honest i really don't care about that. There is no sensitive data on my phone except maybe social media logins and i have a recent backup so🤷

Odd choice to use GrapheneOS if you don't care about security. More power to you, though.

Odd choice to use GrapheneOS if you don't care about security

Not really. People's threat models differ, some just want to escape Google's spyware without also requiring your device be a portable iron mountain. Some may also just want the additional control GrapheneOS provides for restricting permissions of apps, or their unique play store handling etc.

GrapheneOS has a ton of positives besides its security IMO.

For me it's just a little saddening that their secure focus conflicts with extending the life of mobile devices. Although really that's something that probably won't change unless we get a truly open source mobile platform, with firmware development out in the open.

Was more a privacy switch than a security switch

I trust you have your own threat model and know what's best for you, but in my opinion privacy necessitates security.

The long term support might make it worth using, even if you don't care about security/privacy

@SomeBoyo What "long term support"? Official GrapheneOS releases for a device end when the official Android support ends because they don't support hardware where the firmware is not updated anymore. Or did that change recently?

I'm referring to "... and a minimum 5 year guarantee from launch for full security updates and other improvements", from their FAQ.

@SomeBoyo Yeah that's the normal devices guarantee you also get with normal android on pixel devices. So in terms of longevity GrapheneOS doesn't offer any advantages. There are other advantages of course.

that's fair I suppose, I wasn't saying not to use it, just that it is worth noting. these strict security policies are what makes mobile platforms much more secure than desktop platforms. I typically use my phone for security sensitive tasks because of this, so I tend to care a lot more about this stuff. if you have any banking info or password managers stored on the device, be careful.

I'll admit, it is pretty unlikely anything to happen, though. always just better knowing.

Can use it as a launcher also I guess. Termux Expert Launcher.

how

Oops, sorry. 😬

TEL

If one decides to mess with it, some notes. Last release was awhile back. I don't use Android 12/13 so no idea how well it works there.

Tel and Tel:API have same package names as Termux and Termux:API. Meaning there should be no trace of Termux on system before trying.

Not really battery friendly when using the default status info up top.

Powerful command line environment. Recommend that one is familiar / comfortable with the CLI.

Install Oh My Zsh and P10k

Can u wget in a site using termux? Do I need Root on my device?

Yes, wget is available, along with pretty much everything else you'd expect from a linux environment.

No, root isn't required.

Termux does not need root but it would give you more freedom.

And yes you can wget. Used it to download some files from termux

Have it kill slack and zoom when their buggy ass resource leaking shit grinds your system to a halt.

Luckily i never had to use them for school as my government recognized thier insecurities, and i prob won't need to use them for my job as i am a mechanic (albeit for construction machinery)

can you make a phone call, sms or even photo with GrapheneOS? :)

terminal comes at the 10th place in my wish list for a linux or freeOfGoogle phone.

All of the above. Phone call, sms photo video. Everything. You can also just install corresponding apps from the playstore or any other store. It's basically stock android but with more granular control over permissions, and with sandboxed google services

Real shame that GrapheneOS only supports google pixels since they are kinda expensive.

With enough knowledge you could just port it to your phone. Or choose an alternative

Only thing I can't do is use McDonald's app because apparently they take security more serious than every bank app.

Don't use fast food apps, their only and sole purpose is to collect your data.

The McD app doesn't run on Graphene because it can't get info to sell off so it can fund the discounts you get from using the app.

That's the economics of it. Your data gets sold at 100% value, you get discounts worth 60% of that value, they pocket the difference.

On another note, be careful of any loyalty program these days, even if it's not digital. They use it to track exactly what you buy and at which location, e.g. grocery stores, and give you discounts in exchange. Sometimes it's just for inventory and stock management, but some less scrupulous companies will sell off your consumer data for an extra buck, especially if you tied a name or address to your loyalty program membership.

Then there is the story of the guy who went several years on a grocery store loyalty card. One day he slipped and fell from a spill on the floor. When he spoke up about his injuries the store's lawyer said "We see in your loyalty record you buy a lot of alcohol, were you drunk that day?" Just a story I read- might not be true, but it could be.

Yeah, I also noticed this and it's ridiculous. No junk food for me then :)