Эмулятор x86-ПК, работающий в браузере: он преобразует машинный код в WebAssembly на лету и загружает настоящие операционные системы.
ish-app/ish
Linux-оболочка для iOS, запускающая пользовательские программы Linux для x86 с помощью эмуляции и трансляции системных вызовов — без джейлбрейка.
- Звёзды
- 20,677
- Форки
- 1,600
- Открытые issues
- 647
- Последний коммит
- 14 дней назад
Что это?
iSH — проект, который переносит Linux-оболочку на iOS. Он запускает пользовательские программы Linux для x86, эмулируя инструкции x86 в пользовательском режиме и преобразуя системные вызовы Linux в эквиваленты iOS. Благодаря этому среда работает внутри обычного приложения для iOS.
В проект входит собственный интерпретатор, который передаёт эмулируемые инструкции через цепочки указателей на функции («гаджеты»), а не генерирует машинный код. По словам автора, такой способ примерно в 3–5 раз быстрее простой диспетчеризации на основе switch; большая часть гаджетов написана на ассемблере.
Помимо приложения для iOS, в репозитории есть сборка командной строки для тестирования на других платформах. Она может использовать автономную корневую файловую систему Alpine Linux и позволяет настраивать каналы логирования, например журналирование системных вызовов в стиле strace и трассировку каждой инструкции.
Ключевые возможности
- 01Запускает пользовательские программы Linux для x86 на iOS с помощью эмуляции в пользовательском режиме.
- 02Преобразует системные вызовы Linux в эквиваленты iOS.
- 03Использует интерпретатор с threaded code для ускорения диспетчеризации инструкций.
- 04Поддерживает запуск автономной файловой системы Alpine Linux.
- 05Предоставляет каналы логирования, настраиваемые при сборке, включая трассировку системных вызовов.
Сценарии использования
- Запуск инструментов командной строки Linux на iPhone или iPad.
- Изучение принципов эмуляции x86 и преобразования системных вызовов.
- Эксперименты с переносимой средой Alpine Linux на iOS.
Быстрый старт
- 1
Клонируйте репозиторий вместе с его git submodule
git submodule update --init - 2
Установите систему сборки Meson
pip3 install meson - 3
Создайте каталог сборки с помощью Meson
meson build - 4
Соберите инструмент командной строки с помощью Ninja в каталоге сборки
ninja
Что важно знать
- Основное приложение предназначено для iOS; для сборки под устройство нужны Xcode и настроенная среда разработки Apple.
- В метаданных не указана ясная лицензия (NOASSERTION), поэтому условия повторного использования неясны.
Темы
Частые вопросы
- Что такое ish?
- Linux-оболочка для iOS, запускающая пользовательские программы Linux для x86 с помощью эмуляции и трансляции системных вызовов — без джейлбрейка. iSH — проект, который переносит Linux-оболочку на iOS. Он запускает пользовательские программы Linux для x86, эмулируя инструкции x86 в пользовательском режиме и преобразуя системные вызовы Linux в эквиваленты iOS. Благодаря этому среда работает внутри обычного приложения для iOS.
- ish можно использовать бесплатно? Какая у него лицензия?
- ish распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ish всё ещё поддерживается?
- Активно поддерживается. Последний коммит в ish — 24 окт. 2026 г..
- Для чего можно использовать ish?
- Запуск инструментов командной строки Linux на iPhone или iPad. Изучение принципов эмуляции x86 и преобразования системных вызовов. Эксперименты с переносимой средой Alpine Linux на iOS.
- Как установить ish?
- Клонируйте репозиторий вместе с его git submodule: git submodule update --init Установите систему сборки Meson: pip3 install meson Создайте каталог сборки с помощью Meson: meson build Соберите инструмент командной строки с помощью Ninja в каталоге сборки: ninja
- Где скачать ish?
- Исходный код и инструкции по установке — на GitHub: https://github.com/ish-app/ish
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Лёгкий фреймворк для эмуляции CPU на базе QEMU, который выполняет машинный код для разных архитектур через единый API, не зависящий от архитектуры.
Низкоуровневый эмулятор x86 для запуска старых ОС и программ, созданных для IBM PC и совместимых компьютеров с 1981 года.
Приложение для HarmonyOS, которое запускает полноценную arm64-среду Linux с оболочкой Alpine на телефонах, планшетах и устройствах 2-в-1/ПК.
Бесплатное приложение с открытым исходным кодом для macOS, которое показывает эмуляторы Android, Android-смартфоны, симуляторы iOS и iPhone рядом — для трансляции экрана, управления и настройки устройств.
MCP-сервер для автоматизации iOS- и Android-приложений с помощью AI-агентов и LLM на симуляторах, эмуляторах и реальных устройствах.