# android-vshell **Repository Path**: lixiangxx/android-vshell ## Basic Information - **Project Name**: android-vshell - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-04-24 - **Last Updated**: 2025-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vShell vShell is a virtual shell environment application for the Android OS. It provides a virtual machine running small Linux distribution ready for the use out-of-box. Application implements my view on how Linux terminal environments can look like on Android OS. As operating system security is getting more and more hardened over time (which is good btw), it become impossible to abuse design flaws such as executable user data to run Linux native executables. See this issue for example: https://github.com/termux/termux-app/issues/1072. Ability to execute user downloaded executable code on internal storage has been a vital part of Termux application. Now it has been taken out and Termux has to use Android 9 SDK (API level 28) in order to work on Android 10 and higher. However this issue is not a problem for the vShell application which does not run executable code directly. Instead of just executing binaries placed to internal storage, it uses [QEMU](https://www.qemu.org/) emulator to run the [Alpine Linux](https://alpinelinux.org/) distribution. Thus it is quite similar to [iSH](https://github.com/ish-app/ish) application for Apple IOS devices. However vShell uses a system mode emulation, unlike [iSH](https://github.com/ish-app/ish) which does user mode only. vShell does not aim at porting software to Android OS. As being said, it uses [Alpine Linux](https://alpinelinux.org/) distribution. This effectively mitigates overhead of manual packaging and hosting. By using vShell, you can expect much higher software and service quality. If you are interested in virtual machine properties, here are them: - CPU: emulated 1-core x86 64-bit. - RAM (1\*): 32% of host memory + 8% for QEMU TCG buffers. - HDD: 64 GB, has a default 4 GB partition for user data. - Host storage: via 9P file system, mount tag `host_storage`. - Network: user-mode via SLiRP. - Operating system (2\*): [Alpine Linux](https://alpinelinux.org/) in diskless mode (3\*) 1. *RAM allocations beyond 40% - 50% are not safe due to increased probability that Android will kill application to reclaim memory.* 2. *vShell does not provide a way to boot custom disk images. That's beyond the application's purpose and custom OS is not guaranteed to work.* 3. *Diskless mode: vShell provides a diskless installation by default where OS is copied (about 40 MB) from CD-ROM into RAM but user data is still stored on disk. Application supports on-disk installation as well, but you will need to re-install OS. See https://wiki.alpinelinux.org/wiki/Installation for more information.* **Warning**: this application has features which you may not like (lol): - Requires a high-end device. - Runtime environment is isolated from host OS and hardware. - Requires skills in shell scripting and Linux system administering. - One terminal session. Use a multiplexer (`tmux`) for more. - No graphics. - No Kali Linux and Parrot OS support. **Disclaimer**: neither vShell application nor its author is affiliated with the [Alpine Linux](https://alpinelinux.org/) project. Operating system is provided as-is and vShell author is not responsible about bugs in the software packages.