Apps

Linxr

Linux on Android

A full Alpine Linux workstation in one APK, no root. The home for every Linux-on-Android project: Pockr, Zyvr and Kubxr are merged in, and new ones land here too.

  • Containers (FastTrack OCI or Docker)
  • k3s Kubernetes and Asterisk PBX
  • Linux desktop GUI and SSH terminal
  • 1-click Marketplace with community recipes
v3.4.0 Β· Google Play closed testing Β· APK on GitHub

cryptship

Software delivery

Ship encrypted, license-gated application code inside Docker images. The image is ciphertext; a small loader runs your app only with a valid license.

  • AES-256-GCM payloads, Ed25519 licenses
  • Air-gapped, on-prem and cloud modes
  • Instant revocation via license server
  • Hardening and per-license watermarks
v0.1.0 Β· Go Β· GPLv3

One home for Linux on Android

AI2TH started with separate apps, each with its own VM: Docker, a phone PBX, a Kubernetes node. They now live in Linxr as Marketplace recipes and tabs, sharing one VM and one install. Every future Linux-on-Android project lands in Linxr too.

A real Linux shell

Inside Linxr on an ordinary arm64 phone.

root@linxr:~
# uname -a
Linux linxr 6.18.0-virt #1 SMP PREEMPT aarch64 Linux

# docker run hello-world
Hello from Docker! This message shows that your installation
appears to be working correctly.

# k3s kubectl get nodes
NAME    STATUS   ROLES                  AGE   VERSION
linxr   Ready    control-plane,master   2m    v1.30.4+k3s1

# asterisk -rx "pjsip show endpoints"
 Endpoint:  1001                 Not in Use    0 of inf
 Endpoint:  1002                 Unavailable   0 of inf
Objects found: 2

# β–ˆ

How Linxr works

Linxr carries a whole Linux virtual machine inside its APK: QEMU provides the VM, Alpine Linux the system, and the app the controls.

Flutter UI (Dart)
Home, Terminal, Containers, Marketplace, Desktop, Files, Settings
↓
Kotlin VmManager
Starts libqemu.so and keeps it alive as a foreground service
↓
QEMU (libqemu.so)
Shipped inside the APK; runs as a normal app process, no root
↓
Alpine Linux VM
Kernel 6.18-virt, OpenRC, SSH, apk; disk image grows on boot
↓
Your workloads
Containers Β· k3s Β· Asterisk PBX Β· Linux desktop Β· bash

Linxr port forwards

PortProtocolService
7080TCPLinxr control API
2222TCPOpenSSH (ssh root@localhost -p 2222)
6080 / 5900TCPnoVNC web desktop / VNC server
11434TCPOllama API
8088 β†’ 80TCPWeb server inside the VM
3000, 5000, 8000, 8080, 8443, 9000TCPYour web apps (open in Chrome on the phone)

Linxr requirements

πŸ“±
Android 8.0+
API level 26 or higher
βš™οΈ
ARM64 only
arm64-v8a architecture required
πŸ’Ύ
~250 MB + VM disk
APK, plus 8 GB or more for the VM disk
πŸ”“
No root needed
QEMU runs as a normal app process