📱
Download App
Zishu terminal v6
https://github.com/zishutron/Stardust-store/releases/download/v5.0.1/zishu.terminal_v6.0.0.apk


 

This article explains what the app does, how it is built, what it deliberately does not claim, and where it still falls short.

The problem we wanted to solve

Simple terminal apps on Android give you little more than the phone's built-in shell, and earlier versions of Zishu Terminal were no different. That shell has basic commands such as ls and cat, but no Git, no modern Python, no compiler and no way to install them.

Developers, students and tinkerers who wanted to write a script, clone a repository, run a small Node.js server or compile a C program on their phone ran into the same wall: the tools simply were not there.

Zishu Terminal started from one rule: if the app shows a tool, that tool has to be the real thing, running on the device.

What Zishu Terminal is

Zishu Terminal is an Android app with its own terminal interface, sessions, command history, file manager, text editor and themes. On first launch it offers to download a Linux environment of about 61 MB, and after that the terminal runs a real bash shell.

Area What you get Shell bash, with working #!/bin/bash scripts, plus nano, grep, sed, tar, gawk and the usual utilities Python Python 3 and pip Version control Git Networking curl, wget, OpenSSH (ssh, scp) JavaScript Node.js and npm C and C++ clang, clang++, lld, make and CMake

We tested these on a real phone: a C program compiled with clang and run, a CMake project built and run, npm install fetched a package and require() loaded it, and Git created commits.

A real package manager

The pkg command is backed by apt and dpkg, the same tools used by Debian-style systems. It installs, updates, searches and removes real packages:

pkg update
pkg install nodejs-lts npm
pkg install clang make cmake
pkg search git
pkg uninstall make

Packages come from our own repository, published on GitHub Pages. The repository is signed with a dedicated GPG key, and the app trusts only that key, so a package that was not signed by us is rejected. Downloads are verified before anything is installed.

How it works under the hood

Prebuilt Linux binaries for Android hard-code the install path of the app they were built for, so they cannot simply be copied into another app. Zishu Terminal therefore builds its own packages with its own install path, /data/data/com.zishu.terminal/files/usr.

  1. A GitHub Actions workflow builds the packages from source for 64-bit ARM, using the open-source Termux build scripts.
  2. The workflow assembles a bootstrap archive with the base system and publishes it as a GitHub Release.
  3. The app pins the archive's SHA-256 checksum. On first launch it downloads the archive, verifies the checksum, and refuses to install on a mismatch.
  4. The app unpacks the files, runs the packages' setup scripts and checks that bash starts before it marks the install as successful.
  5. From then on, pkg pulls extra packages from the signed repository.

One technical choice is worth explaining. Android 10 and newer block running programs from an app's data folder for apps that target new Android versions. Zishu Terminal targets an older Android API level so that these tools can run. This is the same trade-off other on-device terminals make, and it is why the app is distributed as an APK from our own channels and not through Google Play.

Honest by design

The Tools and Doctor screens look for each program in the real install folder and report what they find. A tool is marked installed only when its file exists. If it is missing, the screen says so and shows the command that installs it, for example pkg install nodejs-lts.

Where something is not available, the app says that too. Java, for instance, is listed as not available yet, because no Java package exists in our repository.

Privacy and security

Zishu Terminal has no ads, no analytics libraries and no tracking. It does not send your commands, files or personal data to us.

The app uses the internet only to download the Linux environment and packages, and for programs you run yourself, such as curl, Git or npm. Your files, history and settings stay in the app's private storage on your phone unless you back them up yourself.

On the security side, the first download is checked against a pinned SHA-256 checksum, and packages must be signed with the project's own key. We publish a privacy statement in the project repository.

Credits and open source

The app, its interface, screens and commands are original work by ZISHU TRON. The Linux packages are built from the termux-packages build scripts of the Termux project, and we credit that project for its work. Zishu Terminal is an independent app and is not affiliated with or endorsed by Termux.

Every package keeps its own open-source license. Examples are GPL for bash and Git, the PSF license for Python, MIT for Node.js and BSD-style licenses for OpenSSH. For software under the GPL, the corresponding source is available through the build scripts and upstream sources, and the project repository lists the licenses and source locations in its notice files.

Who it is for

A typical session might clone a Git repository, install dependencies with npm install or pip install, run the code, and compile a small C or C++ program with clang and make.

Limitations today

We would rather state these plainly than have you find them later.

Getting started

  1. Download the APK and install it. Android may ask you to allow installs from your browser or file manager.
  2. Open the app. When it offers to download the Linux environment, tap Download now and keep the app open.
  3. When it says the environment is ready, you are in a real bash shell. Try python3 --version or git --version.
  4. Install more with pkg install <name>, for example pkg install nodejs-lts npm or pkg install clang make cmake.

If you tap Later, you can start the download at any time by typing zbootstrap install.

What comes next

The next steps we are looking at are a 32-bit ARM build of the Linux environment and more packages in the repository, such as a Java toolchain. We will announce them when they are built and tested on real devices, and not before.

Zishu Terminal is built by ZISHU TRON. If you try it, tell us what worked and what did not. Honest feedback decides what we build next.