실제 운영체제를 부팅할 수 있도록 런타임에 기계어를 WebAssembly로 변환해 브라우저에서 실행하는 x86 PC 에뮬레이터입니다.
ish-app/ish
탈옥 없이 사용자 모드 에뮬레이션과 시스템 호출 변환으로 x86 Linux 사용자 공간을 실행하는 iOS용 Linux 셸입니다.
- 스타
- 20,677
- 포크
- 1,600
- 열린 이슈
- 647
- 마지막 커밋
- 14일 전
어떤 프로젝트인가요?
iSH는 iOS에서 Linux 셸을 사용할 수 있게 해 주는 프로젝트입니다. 사용자 모드에서 x86 명령어를 에뮬레이션하고 Linux 시스템 호출을 iOS에 대응하는 호출로 변환해 x86 Linux 사용자 공간 프로그램을 실행하므로, 일반적인 iOS 앱 안에서 환경이 동작합니다.
이 프로젝트에는 에뮬레이션한 명령어를 기계어 코드로 생성하는 대신, 연결된 함수 포인터(“gadgets”)를 통해 처리하는 자체 인터프리터가 포함되어 있습니다. 작성자는 단순한 switch 기반 디스패치보다 대략 3~5배 빠르다고 보고했으며, 대부분의 gadget은 어셈블리로 작성되어 있습니다.
iOS 앱 외에도 저장소에는 다른 플랫폼에서 테스트할 수 있는 명령줄 빌드가 제공됩니다. 독립 실행형 Alpine Linux 루트 파일 시스템을 사용할 수 있으며, strace 스타일 시스템 호출 로깅과 명령어별 추적 등의 로깅 채널을 설정할 수 있습니다.
핵심 기능
- 01사용자 모드 에뮬레이션을 통해 iOS에서 x86 Linux 사용자 공간 프로그램을 실행합니다.
- 02Linux 시스템 호출을 iOS에 대응하는 호출로 변환합니다.
- 03더 빠른 명령어 디스패치를 위해 threaded-code 인터프리터를 사용합니다.
- 04독립 실행형 Alpine Linux 파일 시스템 실행을 지원합니다.
- 05시스템 호출 추적을 포함한 빌드 시 로깅 채널을 제공합니다.
활용 사례
- iPhone 또는 iPad에서 Linux 명령줄 도구를 실행합니다.
- x86 에뮬레이션과 시스템 호출 변환의 작동 방식을 학습합니다.
- iOS에서 이식성 있는 Alpine Linux 환경을 사용해 봅니다.
빠른 시작
- 1
git submodule을 포함해 저장소를 clone합니다
git submodule update --init - 2
빌드 도구 Meson을 설치합니다
pip3 install meson - 3
Meson으로 빌드 디렉터리를 만듭니다
meson build - 4
빌드 디렉터리에서 Ninja를 사용해 명령줄 도구를 빌드합니다
ninja
사용 전 알아둘 점
- 메인 앱은 iOS를 대상으로 하며, 기기용으로 빌드하려면 Xcode와 Apple 개발 환경이 필요합니다.
- 메타데이터에 명확한 라이선스가 표시되어 있지 않아(NOASSERTION) 재사용 조건이 불분명합니다.
토픽
자주 묻는 질문
- ish은(는) 무엇인가요?
- 탈옥 없이 사용자 모드 에뮬레이션과 시스템 호출 변환으로 x86 Linux 사용자 공간을 실행하는 iOS용 Linux 셸입니다. iSH는 iOS에서 Linux 셸을 사용할 수 있게 해 주는 프로젝트입니다. 사용자 모드에서 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을 포함해 저장소를 clone합니다: git submodule update --init 빌드 도구 Meson을 설치합니다: pip3 install meson Meson으로 빌드 디렉터리를 만듭니다: meson build 빌드 디렉터리에서 Ninja를 사용해 명령줄 도구를 빌드합니다: ninja
- ish은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ish-app/ish
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
QEMU 기반의 경량 CPU 에뮬레이터 프레임워크로, 아키텍처에 구애받지 않는 깔끔한 API를 통해 여러 아키텍처의 기계어를 실행합니다.
1981년 이후의 IBM PC 및 호환 기기용 빈티지 운영체제와 소프트웨어를 실행하는 저수준 x86 에뮬레이터입니다.
휴대폰, 태블릿, 2in1/PC에서 Alpine 셸을 갖춘 완전한 arm64 Linux 환경을 실행하는 HarmonyOS 앱입니다.
Android 에뮬레이터와 휴대폰, iOS 시뮬레이터와 iPhone을 나란히 띄워 미러링·제어·설정 변경을 할 수 있는 무료 오픈 소스 macOS 앱입니다.
AI 에이전트와 LLM이 시뮬레이터, 에뮬레이터, 실제 기기에서 iOS·Android 앱을 자동화하도록 지원하는 MCP 서버입니다.