Run a Linux shell with real package managers and compilers directly on an iPhone or iPad.
Compile and test small Go, Rust, Python, or Node.js programs on a mobile device.
Reproduce and debug Linux runtime issues on a desktop Linux machine before testing on iOS.
Use command line developer tools while away from a full computer.
| rcarmo/ios-linuxkit | dreamfekk/andriod-autouedump-gui | unclecheng-li/poc-lab | |
|---|---|---|---|
| Stars | 36 | 35 | 37 |
| Language | C | C | C |
| Setup difficulty | hard | hard | hard |
| Complexity | 4/5 | 5/5 | 4/5 |
| Audience | developer | researcher | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires building from source and understanding iOS's code execution restrictions, testing is easiest on a Linux host first.
ios-linuxkit gives an iPhone or iPad a working Linux environment that runs entirely on the device, no jailbreak needed. It is a fork of an existing project called iSH, and it focuses on making that Linux environment reliable enough to run real developer tools like shells, package managers, compilers, and programming language runtimes. The app included in the repository is a sample terminal you can use, but the real work is in the underlying runtime: it translates Linux system calls into something iOS allows, since iOS does not permit apps to generate and run new machine code the way a normal Linux program expects. To stay within Apple's rules, it uses a technique that interprets code instead of generating it on the fly, so it never needs the kind of memory permissions iOS blocks. The project supports running things like Alpine's package manager, C and C++ compilers, Go, Rust and Cargo, Node and npm, Python, Java, and several other language runtimes inside this environment, and the maintainers keep a running scorecard of which of these pass automated tests. Because testing directly on an iPhone is slow and awkward, they also built a way to run the exact same Linux environment on a regular Linux computer, so problems can be found and fixed there first. There is ongoing work to make the code execution faster, though the README is careful to note that the speed improvements described are not yet active in the running system, they are groundwork for a future version. This project is aimed at developers who want a genuine Linux command line experience on their iPhone or iPad, for example to test scripts or compile small programs while away from a computer. It builds on the open source iSH project and its ARM64 fork, and it is licensed under terms described in the repository's license files.
Brings a real, working Linux command line to iPhone and iPad without jailbreaking, built on the iSH project.
Mainly C. The stack also includes C, Assembly, Linux syscalls.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.