一个在浏览器中运行的 x86 PC 模拟器,运行时将机器码转为 WebAssembly 以启动真实操作系统。
ish-app/ish
在 iOS 上运行 Linux Shell 的应用,通过用户态 x86 模拟和系统调用转换实现。
- Star
- 20,677
- Fork
- 1,600
- 未关闭 Issue
- 647
- 最近提交
- 15天前
这是什么?
iSH 是一个在 iOS 上运行 Linux Shell 的项目。它通过用户态 x86 指令模拟,并将 Linux 系统调用转换为 iOS 上的对应操作,使 x86 Linux 用户态程序能够在普通 iOS 应用内运行。
项目包含一个自研解释器,它不生成机器码,而是通过串联函数指针(称为 gadget)来分派模拟指令。作者称相比简单的 switch 分派方式,速度提升约 3 到 5 倍。其中大部分 gadget 使用汇编编写。
除 iOS 应用外,仓库还提供用于测试的命令行版本,可配合独立的 Alpine Linux 根文件系统使用,并支持多种可配置的日志通道,例如系统调用日志和逐条指令跟踪。
核心功能
- 01通过用户态模拟在 iOS 上运行 x86 Linux 用户态程序。
- 02将 Linux 系统调用转换为 iOS 上的对应操作。
- 03使用线程化代码解释器加速指令分派。
- 04支持运行独立的 Alpine Linux 文件系统。
- 05提供编译时日志通道,包括系统调用跟踪。
适用场景
- 在 iPhone 或 iPad 上运行 Linux 命令行工具。
- 学习 x86 模拟和系统调用转换的实现原理。
- 在 iOS 上体验便携的 Alpine Linux 环境。
快速上手
- 1
克隆仓库并初始化子模块
git submodule update --init - 2
安装 Meson 构建工具
pip3 install meson - 3
用 Meson 创建构建目录
meson build - 4
在构建目录中用 Ninja 编译命令行工具
ninja
使用前须知
- 主应用面向 iOS,要在设备上构建需要 Xcode 和 Apple 开发者配置。
- 元数据未明确许可证(NOASSERTION),复用条款不清楚。
标签
常见问题
- ish 是什么?
- 在 iOS 上运行 Linux Shell 的应用,通过用户态 x86 模拟和系统调用转换实现。 iSH 是一个在 iOS 上运行 Linux Shell 的项目。它通过用户态 x86 指令模拟,并将 Linux 系统调用转换为 iOS 上的对应操作,使 x86 Linux 用户态程序能够在普通 iOS 应用内运行。
- ish 可以免费使用吗?用的什么许可证?
- ish 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- ish 还在维护吗?
- 活跃维护中。ish 最近一次提交是在 2026年10月24日。
- ish 适合用来做什么?
- 在 iPhone 或 iPad 上运行 Linux 命令行工具。 学习 x86 模拟和系统调用转换的实现原理。 在 iOS 上体验便携的 Alpine Linux 环境。
- ish 怎么安装和运行?
- 克隆仓库并初始化子模块: git submodule update --init 安装 Meson 构建工具: pip3 install meson 用 Meson 创建构建目录: meson build 在构建目录中用 Ninja 编译命令行工具: ninja
- 在哪里获取 ish?
- 源代码和安装说明在 GitHub 上:https://github.com/ish-app/ish
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
2.4万+19 本周1944JavaScriptBSD-2-Clause维护活跃更新于 8天前
基于 QEMU 的轻量级多架构 CPU 模拟框架,通过统一的 API 运行机器码。
9540+24 本周1587CGPL-2.0更新于 20天前
一款底层 x86 模拟器,用于运行 1981 年起 IBM PC 及兼容机的老式操作系统和软件。
4979+16 本周640CGPL-2.0维护活跃更新于 24小时前
在鸿蒙设备上运行完整 arm64 Linux 系统与 Shell 的应用,支持手机、平板和 2in1/PC。
683+2 本周52HTMLMIT更新于 9天前
一款免费开源的 macOS 应用,可在同一窗口中并排管理 Android 与 iOS 设备,支持镜像、控制和设置切换。
170+19 本周17SwiftMIT维护活跃更新于 16天前
让 AI 智能体和 LLM 通过 MCP 协议自动操作 iOS、Android 模拟器、模拟器及真机应用的服务器。
1万+206 本周928TypeScriptApache-2.0维护活跃更新于 5天前