# tbodt/ish

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tbodt-ish).**

19,992 stars · 1,412 forks · C · NOASSERTION

## Links

- GitHub: https://github.com/tbodt/ish
- Homepage: https://ish.app
- awesome-repositories: https://awesome-repositories.com/repository/tbodt-ish.md

## Description

Ish is a Linux shell emulator for iOS that provides a local terminal environment for running shell commands and managing files. It functions as an instruction-level emulator that enables the execution of Linux binaries on mobile devices by simulating an Alpine Linux environment.

The project distinguishes itself by combining user-mode Linux emulation with a virtual root filesystem. This allows the software to map Linux kernel system calls to host functions and execute scripts and toolsets directly on an iPhone or iPad.

The emulator also provides low-level program debugging capabilities, including instruction-level execution tracing and system call logging to analyze register states and program behavior.

## Tags

### Operating Systems & Systems Programming

- [Linux Environment Emulation](https://awesome-repositories.com/f/operating-systems-systems-programming/linux-environment-emulation.md) — Simulates a Linux kernel and filesystem on iOS to run compatible binaries and shell commands.
- [Alpine Linux Distributions](https://awesome-repositories.com/f/operating-systems-systems-programming/alpine-linux-distributions.md) — Implements a portable Alpine Linux environment tailored for shell access and scripting on mobile devices.
- [Instruction-Level Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/computer-architecture/instruction-execution-models/instruction-level-emulators.md) — Functions as an emulation engine that tracks CPU instructions and register states for binary analysis. ([source](https://github.com/tbodt/ish#readme))
- [Dynamic Binary Translators](https://awesome-repositories.com/f/operating-systems-systems-programming/instruction-translation-accelerators/dynamic-binary-translators.md) — Translates Linux binaries into native machine code at runtime to enable efficient execution on iOS.
- [System Call Mapping](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-calls/system-call-mapping.md) — Maps Linux kernel system calls to host iOS functions to simulate a functional operating environment.
- [Terminal and Command-Line Environments](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments.md) — Provides a command line interface and shell environment to interact with the emulated Linux system.
- [Shells & Scripting](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/shells-scripting.md) — Supports the execution of shell scripts and toolsets to automate tasks on the device. ([source](https://github.com/tbodt/ish#readme))
- [Terminal Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-emulators.md) — Provides a terminal emulator that executes Linux binaries via a local emulation layer on iOS.
- [User-Mode Emulation](https://awesome-repositories.com/f/operating-systems-systems-programming/user-mode-emulation.md) — Executes Linux binaries by mapping system calls to host functions without requiring a full kernel.
- [CPU Instruction Logs](https://awesome-repositories.com/f/operating-systems-systems-programming/cpu-instruction-logs.md) — Provides detailed records of executed CPU instructions and register changes for low-level debugging of emulated binaries.
- [Low-Level Debuggers](https://awesome-repositories.com/f/operating-systems-systems-programming/low-level-debuggers.md) — Provides low-level debugging tools to analyze program behavior through instruction and system call tracking.

### Data & Databases

- [Virtualized Filesystem Layers](https://awesome-repositories.com/f/data-databases/storage-abstraction/local-filesystem-storage/virtualized-filesystem-layers.md) — Implements a virtualized filesystem layer that maps Linux root archives to local iOS storage.

### Development Tools & Productivity

- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Provides a terminal interface on mobile devices to perform system administration and run CLI tools.
- [Shell Command Execution](https://awesome-repositories.com/f/development-tools-productivity/shell-command-execution.md) — Provides the capability to execute shell commands and manage files within the emulated environment. ([source](https://github.com/tbodt/ish#readme))

### Mobile Development

- [Mobile Linux Shells](https://awesome-repositories.com/f/mobile-development/mobile-linux-shells.md) — Provides a local Linux command line environment on iPhone and iPad for scripting and file management.

### DevOps & Infrastructure

- [Filesystem Simulation](https://awesome-repositories.com/f/devops-infrastructure/filesystem-storage-drivers/filesystem-archives/filesystem-simulation.md) — Converts filesystem archives into compatible formats for use within the emulated Linux environment. ([source](https://github.com/tbodt/ish#readme))

### System Administration & Monitoring

- [System Call Tracing](https://awesome-repositories.com/f/system-administration-monitoring/diagnostic-tools/diagnostics/execution-tracers/kernel-tracing-frameworks/system-call-tracing.md) — Logs parameters and return values of system calls to analyze program interaction with the kernel. ([source](https://github.com/tbodt/ish#readme))

### Part of an Awesome List

- [Terminal Emulators](https://awesome-repositories.com/f/awesome-lists/devtools/terminal-emulators.md) — Linux shell emulation for iOS devices.
