README

AndroSH - Run Linux Distributions on Android (No Root, ADB/Shizuku Powered)

Run and manage full Linux distributions on your Android device - no root required.

AndroSH

Tests GitHub Stars Latest Release Python License Platform

AndroSH Mobile Showcase

Table of Contents

Quick Start

Important 重要

Before you start: install and run Shizuku first. If you’re new to AndroSH, read the full Installation section below - it covers Shizuku setup and troubleshooting.

# In Termux
apt update && apt install -y python git
git clone --depth 1 https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH
pip install -r requirements.txt
python main.py install

androsh setup demo --distro debian --type stable
androsh launch demo

Features

  • Multi-distro: run several Linux distributions side by side (Arch, Fedora, Alpine, Debian, Ubuntu, Kali, Void, Manjaro, Chimera, openSUSE)
  • ADB/Shizuku-powered Linux: run full Linux distributions through Android’s elevated Shell layer, with direct Android system integration - no root required
  • SQLite-backed: fast, reliable tracking of your environments
  • Isolated: each Linux environment runs through PRoot with userspace filesystem/process isolation
  • GUI support: works with Termux:X11 for a full desktop environment - setup guide

Supported Distributions

Debian Ubuntu Arch Linux Kali Linux Alpine Fedora Void Linux Manjaro Chimera Linux OpenSUSE

Every distribution above ships from a verified rootfs source and runs in an isolated proot environment - no root required.

Overview

AndroSH lets you deploy and manage multiple full Linux distributions on Android by running PRoot through the ADB/Shizuku execution layer. This provides elevated Android-side execution without root while retaining direct Android system integration from inside the Linux environments.

Capability AndroSH Typical Alternatives
Multiple distros at once Yes Usually one distro only
Environment management SQLite + CLI Manual file handling
Android system integration ADB/Shizuku execution Varies by solution
Multiple isolated instances Yes Single instance
Root required No (ADB/Shizuku) Often requires bootloader unlock

Screenshots

Command Preview What it shows
androsh launch kali View Launching the Kali NetHunter environment
androsh list View All available distributions
androsh lsd View Environments you’ve already installed

Architecture

Android Device → ADB/Shizuku Execution Context→ Proot Virtualization → Linux Environment(s)
graph TD A[Android Device] --> B[ADB / Shizuku] B --> C[Android Shell Execution Context] C --> D[PRoot] D --> E[Alpine] D --> F[Debian] D --> G[Ubuntu] D --> H[Kali NetHunter] E --> I[Android System Integration] F --> I G --> I H --> I I --> K[Android Command Execution] I --> L[Android Filesystem Access] I --> M[Android Network Access] style D fill:#FF6B00,color:white style I fill:#4CAF50,color:white

From inside any distro, you can reach into the Android system directly:

# List installed Android packages
pm list packages -f

# Kernel info
cat /proc/version

# Android system properties
getprop | grep version

# Network routes
ip route show

Installation

Requirements

  • Android device with Shizuku installed and running
  • Python 3.8+
  • Termux or a compatible terminal emulator
  • At least 2 GB free storage

Setup

# Install prerequisites in Termux
apt update && apt install -y python git

# Get AndroSH
git clone --depth 1 https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH

# Install dependencies
pip install -r requirements.txt

# Make the `androsh` command available globally
python main.py install
Tip 提示

when you run androsh setup, AndroSH automatically checks whether Shizuku is configured correctly and walks you through fixing it if not.

Updating

cd AndroSH
git pull
pip install -r requirements.txt

Usage

Deploy an environment

androsh setup production --distro debian --type stable

Launch it

androsh launch production
# You're now root inside the Debian environment
root@localhost:~# apt update && apt install python3 git

Manage environments

androsh list                       # See what's available to install
androsh lsd                        # See what's already installed
androsh clean production           # Free up space / remove temp files
androsh remove production --force  # Delete an environment

Manage distributions directly

androsh distro list                                              # List available distros
androsh distro info ubuntu                                       # Get details on a distro
androsh distro download alpine --type alpine-minirootfs --file alpine-edge.tar.gz

Full command reference

See AndroSH_Help.md for every command and flag, including verbosity control (--verbose / --quiet) and timestamp formatting (--time-style).

Use Cases

Learning Linux

androsh setup classroom --distro ubuntu --type stable
apt install gcc python3-dev git curl wget

Security research / penetration testing

androsh setup pentest --distro kali-nethunter --type full
apt install nmap metasploit-framework wireshark

Lightweight dev environments

androsh setup devops --distro alpine --type alpine-minirootfs
apk add build-base git nodejs npm docker-cli

On-the-go workstation

androsh setup field --distro debian --type stable
apt install vim tmux htop net-tools

Running several environments at once

androsh setup frontend --distro ubuntu -t stable
androsh setup backend --distro debian -t stable
androsh setup security --distro kali-nethunter -t nano
androsh lsd

Security & Privacy

  • Android privilege boundary: Android-side operations run within the permissions available to the ADB/Shizuku execution context; no Android root is required.
  • Process isolation: each environment runs sandboxed via proot
  • Integrity checks: SHA-256 checksums validate every download
  • No telemetry: zero data collection, everything stays local on your device
  • Open source: every component is auditable

Components & Sources

Component Source Purpose
PRoot ahmed-alnassif/proot Statically linked, Android-optimized automated builds
BusyBox NDK Magisk-Modules-Repo/busybox-ndk Core Unix utilities (tar, grep, awk, etc.) for Android

Build pipelines: PRoot builder · BusyBox NDK sources · AndroSH core

All dependencies are traceable to their upstream sources and kept in sync with security updates.

Troubleshooting

Reset a broken environment

androsh setup <distro> --distro debian -t stable --resetup

Clean up temp files

androsh clean <distro>

Reinstall the global androsh command

cd AndroSH
python main.py install

Shizuku issues

  • Confirm Shizuku is running and AndroSH is authorized in it
  • If problems persist, reboot the device to restore the Shizuku service

Contributing

Contributions of all kinds are welcome - code, documentation, bug reports, feature ideas, translations, testing, or just sharing feedback. Whether you’re fixing a typo or adding support for a new distro, every contribution helps.

Ways to get involved:

  • Code: fix bugs, add features, improve performance
  • Documentation: improve the README, write guides, add examples
  • Testing: try AndroSH on different devices/Android versions and report what you find
  • Bug reports: open an issue with clear steps to reproduce
  • Feature requests: suggest ideas or workflows you’d like to see supported
  • Community support: help answer questions in issues/discussions

No contribution is too small - if you’re not sure where to start, open an issue and ask.

Set up a dev environment:

git clone https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Contributors

Contributors

License

GPLv3 - free for commercial and research use.

Author

Ahmed Al-Nassif

Support

  • Star the repo if you find it useful - it helps others discover the project
  • Share it with friends, communities, or on social media if AndroSH has been useful to you
  • Open an issue to report bugs
  • Start a discussion to suggest features or ask questions
  • Share your use case - tell us how you’re using AndroSH, it helps shape future development
  • Spread the word by writing about it, making a video, or recommending it wherever Android/Linux enthusiasts hang out

Every bit of support, big or small, helps keep the project growing.


Professional Linux environments in your pocket - without requiring Android root.

评论

暂无评论