Repolode
ish-app

ish-app/ish

Una shell de Linux para iOS que ejecuta programas x86 de espacio de usuario mediante emulación y traducción de llamadas al sistema, sin necesidad de jailbreak.

Estrellas
20,677
Forks
1,600
Issues abiertos
647
Último commit
hace 14 días

¿Qué es?

iSH es un proyecto que lleva una shell de Linux a iOS. Ejecuta programas x86 de espacio de usuario de Linux emulando instrucciones x86 en modo usuario y traduciendo las llamadas al sistema de Linux a sus equivalentes en iOS, de modo que el entorno funciona dentro de una app normal de iOS.

El proyecto incluye un intérprete personalizado que distribuye las instrucciones emuladas mediante punteros a funciones encadenados («gadgets»), en lugar de generar código máquina. El autor informa de una mejora de velocidad de aproximadamente 3 a 5 veces frente a una distribución sencilla basada en `switch`; la mayoría de los gadgets están escritos en ensamblador.

Además de la app para iOS, el repositorio ofrece una compilación de línea de comandos para probar el proyecto en otras plataformas. Puede usar un sistema de archivos raíz autocontenido de Alpine Linux y ofrece canales de registro configurables, como el registro de llamadas al sistema al estilo de strace y el trazado de cada instrucción.

Funciones clave

  • 01Ejecuta programas x86 de espacio de usuario de Linux en iOS mediante emulación en modo usuario.
  • 02Traduce las llamadas al sistema de Linux a sus equivalentes en iOS.
  • 03Usa un intérprete de código encadenado para distribuir instrucciones más rápido.
  • 04Permite ejecutar un sistema de archivos autocontenido de Alpine Linux.
  • 05Ofrece canales de registro configurables durante la compilación, incluido el trazado de llamadas al sistema.

Casos de uso

  • Ejecutar herramientas de línea de comandos de Linux en un iPhone o iPad.
  • Aprender cómo funcionan la emulación x86 y la traducción de llamadas al sistema.
  • Probar un entorno portátil de Alpine Linux en iOS.

Inicio rápido

  1. 1

    Clona el repositorio con su submódulo de git

    git submodule update --init
  2. 2

    Instala la herramienta de compilación Meson

    pip3 install meson
  3. 3

    Crea el directorio de compilación con Meson

    meson build
  4. 4

    Compila la herramienta de línea de comandos con Ninja en el directorio de compilación

    ninja

Antes de usarlo

  • La aplicación principal está dirigida a iOS y requiere Xcode y un entorno de desarrollo de Apple para compilarse para un dispositivo.
  • Los metadatos no indican una licencia clara (NOASSERTION), por lo que las condiciones de reutilización no están claras.

Temas

Preguntas frecuentes

¿Qué es ish?
Una shell de Linux para iOS que ejecuta programas x86 de espacio de usuario mediante emulación y traducción de llamadas al sistema, sin necesidad de jailbreak. iSH es un proyecto que lleva una shell de Linux a iOS. Ejecuta programas x86 de espacio de usuario de Linux emulando instrucciones x86 en modo usuario y traduciendo las llamadas al sistema de Linux a sus equivalentes en iOS, de modo que el entorno funciona dentro de una app normal de iOS.
¿ish es gratuito? ¿Qué licencia tiene?
ish es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ish sigue mantenido?
Mantenimiento activo. El último commit de ish fue el 24 oct 2026.
¿Para qué puedo usar ish?
Ejecutar herramientas de línea de comandos de Linux en un iPhone o iPad. Aprender cómo funcionan la emulación x86 y la traducción de llamadas al sistema. Probar un entorno portátil de Alpine Linux en iOS.
¿Cómo se instala ish?
Clona el repositorio con su submódulo de git: git submodule update --init Instala la herramienta de compilación Meson: pip3 install meson Crea el directorio de compilación con Meson: meson build Compila la herramienta de línea de comandos con Ninja en el directorio de compilación: ninja
¿Dónde consigo ish?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ish-app/ish

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados