iphonetool 0.1.2__tar.gz → 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. {iphonetool-0.1.2 → iphonetool-0.2.0}/PKG-INFO +9 -2
  2. {iphonetool-0.1.2 → iphonetool-0.2.0}/README.md +8 -1
  3. {iphonetool-0.1.2 → iphonetool-0.2.0}/pyproject.toml +2 -1
  4. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.1.db +0 -0
  5. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.3.db +0 -0
  6. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.8.db +0 -0
  7. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/dfu.py +35 -18
  8. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/helpers.py +10 -1
  9. iphonetool-0.1.2/src/iphonetool/remote_boot/.git +0 -1
  10. iphonetool-0.1.2/src/iphonetool/remote_boot/.gitignore +0 -4
  11. iphonetool-0.1.2/src/iphonetool/remote_boot/.gitmodules +0 -9
  12. iphonetool-0.1.2/src/iphonetool/remote_boot/LICENSE +0 -29
  13. iphonetool-0.1.2/src/iphonetool/remote_boot/README.md +0 -30
  14. iphonetool-0.1.2/src/iphonetool/remote_boot/empty_trustcache.bin +0 -0
  15. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x7000.im4m +0 -0
  16. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x7001.im4m +0 -0
  17. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x8000.im4m +0 -0
  18. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x8001.im4m +0 -0
  19. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x8003.im4m +0 -0
  20. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x8010.im4m +0 -0
  21. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x8011.im4m +0 -0
  22. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x8012.im4m +0 -0
  23. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x8015.im4m +0 -0
  24. iphonetool-0.1.2/src/iphonetool/remote_boot/im4m/0x8960.im4m +0 -0
  25. iphonetool-0.1.2/src/iphonetool/remote_boot/remoteboot.sh +0 -532
  26. iphonetool-0.1.2/src/iphonetool/remote_boot/scripts/a12a13/boot-postpwned.sh +0 -77
  27. iphonetool-0.1.2/src/iphonetool/remote_boot/scripts/a12a13/pacsafe_sigcheck_zero.py +0 -156
  28. iphonetool-0.1.2/src/iphonetool/remote_boot/scripts/a12a13/prep-pacsafe-iboot.sh +0 -76
  29. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/.git +0 -1
  30. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/.github/workflows/makefile.yml +0 -105
  31. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/.gitignore +0 -1
  32. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/LICENSE +0 -201
  33. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/Makefile +0 -70
  34. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/README.md +0 -2
  35. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/ent.plist +0 -10
  36. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/gaster.c +0 -1812
  37. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/lzfse.c +0 -563
  38. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/lzfse.h +0 -23
  39. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_A7.S +0 -85
  40. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_A7.bin +0 -0
  41. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_A9.S +0 -80
  42. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_A9.bin +0 -0
  43. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_handle_checkm8_request.S +0 -78
  44. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_handle_checkm8_request.bin +0 -0
  45. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_handle_checkm8_request_armv7.S +0 -88
  46. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_handle_checkm8_request_armv7.bin +0 -0
  47. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_notA9.S +0 -65
  48. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_notA9.bin +0 -0
  49. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_notA9_armv7.S +0 -69
  50. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/gaster/payload_notA9_armv7.bin +0 -0
  51. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/.clang-format +0 -32
  52. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/.clangd +0 -26
  53. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/.git +0 -1
  54. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/.gitignore +0 -13
  55. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/.gitmodules +0 -3
  56. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/3rdparty_licenses/LICENSE.m1n1 +0 -22
  57. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/3rdparty_licenses/LICENSE.plooshfinder +0 -166
  58. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/LICENSE +0 -22
  59. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/Makefile +0 -50
  60. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/README.md +0 -29
  61. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/include/common.h +0 -49
  62. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/include/patches/aes.h +0 -10
  63. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/include/patches/gadget.h +0 -10
  64. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/include/patches/iorvbar.h +0 -10
  65. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/include/patches/recfg.h +0 -11
  66. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/include/patches/signature.h +0 -9
  67. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/patches/aes.c +0 -94
  68. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/patches/gadget.c +0 -50
  69. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/patches/iorvbar.c +0 -100
  70. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/patches/recfg.c +0 -91
  71. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/patches/signature.c +0 -97
  72. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/.clang-format +0 -32
  73. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/.clangd +0 -32
  74. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/.git +0 -1
  75. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/.github/workflows/build.yml +0 -56
  76. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/.gitignore +0 -4
  77. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/LICENSE +0 -165
  78. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/Makefile +0 -30
  79. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/README.md +0 -5
  80. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/asm/arm64.h +0 -4
  81. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/formats/defs/elf_defs.h +0 -69
  82. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/formats/defs/macho_defs.h +0 -129
  83. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/formats/defs/pe_defs.h +0 -119
  84. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/formats/elf.h +0 -16
  85. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/formats/macho.h +0 -43
  86. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/formats/multi.h +0 -8
  87. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/formats/pe.h +0 -20
  88. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/plooshfinder.h +0 -46
  89. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/plooshfinder32.h +0 -28
  90. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/plooshfinder64.h +0 -28
  91. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/include/utils.h +0 -7
  92. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/src/asm/arm64.c +0 -22
  93. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/src/formats/elf.c +0 -167
  94. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/src/formats/macho.c +0 -707
  95. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/src/formats/multi.c +0 -44
  96. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/src/formats/pe.c +0 -193
  97. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/src/plooshfinder.c +0 -251
  98. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/src/plooshfinder32.c +0 -38
  99. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/src/plooshfinder64.c +0 -38
  100. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/plooshfinder/src/utils.c +0 -13
  101. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hBootPatcher/src/patcher.c +0 -236
  102. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/.clang-format +0 -32
  103. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/.clangd +0 -26
  104. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/.git +0 -1
  105. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/.gitignore +0 -4
  106. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/.gitmodules +0 -3
  107. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/LICENSE +0 -674
  108. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/Makefile +0 -50
  109. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/README.md +0 -14
  110. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/include/patches/pmp.h +0 -10
  111. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/include/shared.h +0 -6
  112. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/patches/pmp.c +0 -113
  113. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/.clang-format +0 -32
  114. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/.clangd +0 -32
  115. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/.git +0 -1
  116. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/.github/workflows/build.yml +0 -56
  117. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/.gitignore +0 -4
  118. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/LICENSE +0 -165
  119. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/Makefile +0 -30
  120. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/README.md +0 -5
  121. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/asm/arm64.h +0 -4
  122. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/formats/defs/elf_defs.h +0 -69
  123. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/formats/defs/macho_defs.h +0 -129
  124. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/formats/defs/pe_defs.h +0 -119
  125. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/formats/elf.h +0 -16
  126. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/formats/macho.h +0 -43
  127. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/formats/multi.h +0 -8
  128. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/formats/pe.h +0 -20
  129. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/plooshfinder.h +0 -46
  130. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/plooshfinder32.h +0 -28
  131. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/plooshfinder64.h +0 -28
  132. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/include/utils.h +0 -7
  133. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/src/asm/arm64.c +0 -22
  134. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/src/formats/elf.c +0 -167
  135. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/src/formats/macho.c +0 -707
  136. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/src/formats/multi.c +0 -44
  137. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/src/formats/pe.c +0 -193
  138. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/src/plooshfinder.c +0 -251
  139. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/src/plooshfinder32.c +0 -38
  140. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/src/plooshfinder64.c +0 -38
  141. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/plooshfinder/src/utils.c +0 -13
  142. iphonetool-0.1.2/src/iphonetool/remote_boot/vendor/hKernelFWExtractor/src/patcher.c +0 -185
  143. {iphonetool-0.1.2 → iphonetool-0.2.0}/LICENSE +0 -0
  144. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/.gitignore +0 -0
  145. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.0.db +0 -0
  146. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.10.db +0 -0
  147. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.11.db +0 -0
  148. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.12.db +0 -0
  149. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.13.db +0 -0
  150. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.14.db +0 -0
  151. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.15.db +0 -0
  152. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.2.db +0 -0
  153. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.4.db +0 -0
  154. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.5.db +0 -0
  155. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.6.db +0 -0
  156. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.7.db +0 -0
  157. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/3.13/cache.9.db +0 -0
  158. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/.mypy_cache/CACHEDIR.TAG +0 -0
  159. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/__init__.py +0 -0
  160. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/__main__.py +0 -0
  161. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/config.py +0 -0
  162. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/normal.py +0 -0
  163. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/recovery.py +0 -0
  164. {iphonetool-0.1.2 → iphonetool-0.2.0}/src/iphonetool/usbliter8ctl.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iphonetool
3
- Version: 0.1.2
3
+ Version: 0.2.0
4
4
  Summary: All of the modern iOS tools. Unified
5
5
  Author: Jacob Freeman
6
6
  Author-email: Jacob Freeman <t00niyf5@duck.com>
@@ -44,6 +44,13 @@ or from the mirror:
44
44
 
45
45
  `uv tool install https://github.com/Jacoblightning/iphonetool.git`
46
46
 
47
+ ## Prerequisites
48
+
49
+ > [!IMPORTANT]
50
+ > When you clone [https://github.com/yhavry/remote_boot](https://github.com/yhavry/remote_boot), make sure you switch to the `d421-a12-a13-postpwned-prep` branch!
51
+
52
+ Before you can run linux (or remote boot) on a phone, you must run `iphonetool-linuxprep` with a path to `remoteboot.sh`, which is located in [https://github.com/yhavry/remote_boot](https://github.com/yhavry/remote_boot)
53
+
47
54
  ## Usage
48
55
 
49
56
  - Run `iphonetool.py info` to give info on connected devices
@@ -54,7 +61,7 @@ or from the mirror:
54
61
  - `palera1n --dfuhelper`
55
62
  - `palera1n --exit-recovery`
56
63
  - `ideviceenterrecovery`
57
- - `remote_boot'ing linux`
64
+ - `remote_booting linux`
58
65
  - `usbliter8ctl`
59
66
 
60
67
  ## License
@@ -29,6 +29,13 @@ or from the mirror:
29
29
 
30
30
  `uv tool install https://github.com/Jacoblightning/iphonetool.git`
31
31
 
32
+ ## Prerequisites
33
+
34
+ > [!IMPORTANT]
35
+ > When you clone [https://github.com/yhavry/remote_boot](https://github.com/yhavry/remote_boot), make sure you switch to the `d421-a12-a13-postpwned-prep` branch!
36
+
37
+ Before you can run linux (or remote boot) on a phone, you must run `iphonetool-linuxprep` with a path to `remoteboot.sh`, which is located in [https://github.com/yhavry/remote_boot](https://github.com/yhavry/remote_boot)
38
+
32
39
  ## Usage
33
40
 
34
41
  - Run `iphonetool.py info` to give info on connected devices
@@ -39,7 +46,7 @@ or from the mirror:
39
46
  - `palera1n --dfuhelper`
40
47
  - `palera1n --exit-recovery`
41
48
  - `ideviceenterrecovery`
42
- - `remote_boot'ing linux`
49
+ - `remote_booting linux`
43
50
  - `usbliter8ctl`
44
51
 
45
52
  ## License
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "iphonetool"
3
- version = "0.1.2"
3
+ version = "0.2.0"
4
4
  authors = [
5
5
  { name="Jacob Freeman", email="t00niyf5@duck.com" },
6
6
  ]
@@ -24,6 +24,7 @@ build-backend = "uv_build"
24
24
 
25
25
  [project.scripts]
26
26
  iphonetool = "iphonetool.__main__:runmain"
27
+ iphonetool-linuxprep = "iphonetool.dfu:linux_prep"
27
28
 
28
29
  [dependency-groups]
29
30
  dev = [
@@ -12,8 +12,19 @@ from typing import Any, Optional
12
12
 
13
13
  import usb.core
14
14
 
15
- from . import config
16
- from . import helpers
15
+ try:
16
+ from . import config
17
+ from . import helpers
18
+ except ImportError:
19
+ try:
20
+ import config
21
+ import helpers
22
+ except ImportError:
23
+ try:
24
+ from iphonetool import config
25
+ from iphonetool import helpers
26
+ except ImportError:
27
+ raise ImportError("Could not import needed modules")
17
28
 
18
29
 
19
30
  async def main(
@@ -65,8 +76,7 @@ async def main(
65
76
  boot_remote_parser.add_argument(
66
77
  "-m", "--monitor", type=pathlib.Path, help="m1n1 monitor stub"
67
78
  )
68
-
69
- subparsers.add_parser("linux_prep", help="Run this once per-device before booting linux on it")
79
+ boot_remote_parser.add_argument("--remoteboot", type=pathlib.Path, help="Path to remoteboot.sh", required=True)
70
80
 
71
81
  # High-level linux booter
72
82
  linux_parser = subparsers.add_parser("linux", help="Boot linux on device")
@@ -98,6 +108,7 @@ async def main(
98
108
  linux_parser.add_argument(
99
109
  "-m", "--monitor", type=pathlib.Path, help="m1n1 monitor stub"
100
110
  )
111
+ linux_parser.add_argument("--remoteboot", type=pathlib.Path, help="Path to remoteboot.sh", required=True)
101
112
 
102
113
  args = parser.parse_args()
103
114
 
@@ -141,12 +152,11 @@ def usbliter8_download(dev: usb.core.Device, data: bytes) -> True:
141
152
  send_usbliter8_command(dev, Usbliter8Command.DFU_DNLOAD, None, 100)
142
153
 
143
154
 
144
- def linux_remote_boot(m1n1_blob: pathlib.Path, monitor_stub: Optional[pathlib.Path]):
145
- subprocess.check_call(["./remote_boot/remoteboot.sh", "build"])
155
+ def linux_remote_boot(m1n1_blob: pathlib.Path, monitor_stub: Optional[pathlib.Path], remoteboot: pathlib.Path):
146
156
  if monitor_stub is not None:
147
157
  subprocess.check_call(
148
158
  [
149
- helpers.base_directory() / "./remote_boot/remoteboot.sh",
159
+ "bash", remoteboot,
150
160
  "boot",
151
161
  m1n1_blob,
152
162
  monitor_stub,
@@ -159,7 +169,7 @@ def linux_remote_boot(m1n1_blob: pathlib.Path, monitor_stub: Optional[pathlib.Pa
159
169
  )
160
170
  else:
161
171
  subprocess.check_call(
162
- [helpers.base_directory() / "./remote_boot/remoteboot.sh", "boot", m1n1_blob],
172
+ ["bash", remoteboot, "boot", m1n1_blob],
163
173
  env={
164
174
  "USBLITER8CTL": helpers.base_directory() / "usbliter8ctl.py",
165
175
  "PYTHON": sys.executable,
@@ -167,6 +177,19 @@ def linux_remote_boot(m1n1_blob: pathlib.Path, monitor_stub: Optional[pathlib.Pa
167
177
  },
168
178
  )
169
179
 
180
+ def linux_prep():
181
+ parser = argparse.ArgumentParser()
182
+ parser.add_argument("remoteboot", type=pathlib.Path, help="Path to remoteboot.sh")
183
+
184
+ args = parser.parse_args()
185
+
186
+ subprocess.check_call(
187
+ ["bash", args.remoteboot, "build"]
188
+ )
189
+ subprocess.check_call(
190
+ ["sudo", "bash", args.remoteboot, "prep"]
191
+ )
192
+ print("You can now boot linux on your device")
170
193
 
171
194
  async def main_real(
172
195
  dev: usb.core.Device, pwned: bool, serial: str, action: str, args: dict
@@ -206,15 +229,7 @@ async def main_real(
206
229
  send_usbliter8_command(dev, Usbliter8Command.CUSTOM_BOOT, None, 100)
207
230
  send_usbliter8_command(dev, Usbliter8Command.DFU_ABORT, None, 100)
208
231
  case "remote":
209
- linux_remote_boot(args["m1n1"], args.get("monitor"))
210
- case "linux_prep":
211
- subprocess.check_call(
212
- [helpers.base_directory() / "./remote_boot/remoteboot.sh", "build"]
213
- )
214
- subprocess.check_call(
215
- [helpers.base_directory() / "./remote_boot/remoteboot.sh", "prep"]
216
- )
217
- print("You can now boot linux on your device")
232
+ linux_remote_boot(args["m1n1"], args.get("monitor"), args["remoteboot"])
218
233
  case "linux":
219
234
  print("Preapring iboot...")
220
235
  with tempfile.NamedTemporaryFile(mode="wb") as m1n1_blob_file:
@@ -247,5 +262,7 @@ async def main_real(
247
262
  with args["initramfs"].open("rb") as f:
248
263
  shutil.copyfileobj(f, m1n1_blob_file)
249
264
  linux_remote_boot(
250
- pathlib.Path(m1n1_blob_file.name), args.get("monitor")
265
+ pathlib.Path(m1n1_blob_file.name), args.get("monitor"), args["remoteboot"]
251
266
  )
267
+
268
+ return 0
@@ -7,7 +7,16 @@ from typing import Optional
7
7
 
8
8
  import usb.core
9
9
 
10
- from .config import APPLE_VENDORID, AppleProductId
10
+ try:
11
+ from .config import APPLE_VENDORID, AppleProductId
12
+ except ImportError:
13
+ try:
14
+ from config import APPLE_VENDORID, AppleProductId
15
+ except ImportError:
16
+ try:
17
+ from iphonetool.config import APPLE_VENDORID, AppleProductId
18
+ except ImportError:
19
+ raise ImportError("Could not import needed modules")
11
20
 
12
21
 
13
22
  class DeviceMode(Enum):
@@ -1 +0,0 @@
1
- gitdir: ../../../.git/modules/remote_boot
@@ -1,4 +0,0 @@
1
- cache
2
- firmware
3
- *.macho
4
- *.bin
@@ -1,9 +0,0 @@
1
- [submodule "vendor/gaster"]
2
- path = vendor/gaster
3
- url = git@github.com:HoolockLinux/gaster.git
4
- [submodule "vendor/hBootPatcher"]
5
- path = vendor/hBootPatcher
6
- url = git@github.com:HoolockLinux/hBootPatcher.git
7
- [submodule "vendor/hKernelFWExtractor"]
8
- path = vendor/hKernelFWExtractor
9
- url = git@github.com:HoolockLinux/hKernelFWExtractor
@@ -1,29 +0,0 @@
1
- BSD 3-Clause License
2
-
3
- Copyright (c) 2025, HoolockLinux contributors
4
- All rights reserved.
5
-
6
- Redistribution and use in source and binary forms, with or without
7
- modification, are permitted provided that the following conditions are met:
8
-
9
- 1. Redistributions of source code must retain the above copyright notice, this
10
- list of conditions and the following disclaimer.
11
-
12
- 2. Redistributions in binary form must reproduce the above copyright notice,
13
- this list of conditions and the following disclaimer in the documentation
14
- and/or other materials provided with the distribution.
15
-
16
- 3. Neither the name of the copyright holder nor the names of its
17
- contributors may be used to endorse or promote products derived from
18
- this software without specific prior written permission.
19
-
20
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,30 +0,0 @@
1
- # remote_boot
2
-
3
- m1n1 remote booter for HoolockLinux
4
-
5
- ## Dependencies
6
-
7
- You need [ipsw](https://github.com/blacktop/ipsw) and [irecovery](https://github.com/libimobiledevice/libirecovery).
8
- On Linux, you will also need `util-linux`'s `lsusb`. Other dependencies are vendored as git submodules. For them to
9
- compile however, you must have clang and GNU make installed.
10
-
11
- ## Usage
12
-
13
- - `./remoteboot.sh build` - Compile vendored dependencies
14
- - `./remoteboot.sh prep` - prepare boot files (requires internet connection)
15
- - `./remoteboot.sh boot /path/to/m1n1-idevice.macho [/path/to/monitor-stub.macho]` - boot
16
- - `./remoteboot.sh firmware` - Download firmware in `/lib/firmware` layout (does not work on A12/A13 at this moment).
17
-
18
- Preparation needs to be ran once for each model of device.
19
- The `m1n1-idevice.macho` and `monitor-stub.macho` are generated as part of the
20
- HoolockLinux m1n1 build process, which are mock XNU kernel and mock XNU
21
- watchtower (KPP) respectively.
22
-
23
- ## Licensing
24
-
25
- BSD-3-Clause.
26
-
27
- The files in `im4m/*` are signature files and is not a work of art, so it
28
- cannot be protected by copyright. `empty_trustcache.bin` is an empty
29
- instance of the trustcache file format and is essentially API. It is not
30
- protected by copyright.