Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,33 @@ TrollRestore is a TrollStore installer for iOS/iPadOS 15.2 - 16.7 RC (20H18) and
A guide for installing TrollStore using TrollRestore can be found [here](https://ios.cfw.guide/installing-trollstore-trollrestore).

# Usage

To run the script, clone this repository and run the following commands:

```sh
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 trollstore.py
```

On Windows PowerShell:

```powershell
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python trollstore.py
```

## Specific Attention

* **Please use a fixed Python version. Python 3.12.3 is preferred.**
* **Do NOT use modern environment/package managers such as `uv` or `conda`.**
* **Please use the standard Python `.venv` workflow with `pip` to avoid dependency and build compatibility issues.**
* **The dependency versions in `requirements.txt` are pinned for reproducible builds.**


# Post-installation
TrollRestore does not restore a proper persistence helper - it simply replaces the main binary of a system app with an embedded TrollHelper. Thus, after installing TrollStore, it is recommended to install a persistence helper (you can use the same app used with TrollRestore as your persistence helper). Due to the nature of the installer (and its use of backups), the only way to restore your chosen app to it's original state is to delete it and re-install the app from the App Store.

Expand Down
124 changes: 119 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,119 @@
pymobiledevice3
bpylist2
rich
requests
click
annotated-doc==0.0.4
annotated-types==0.7.0
anyio==4.13.0
arrow==1.4.0
asn1==2.8.0
asttokens==3.0.1
blessed==1.43.0
bpylist2==4.1.1
certifi==2026.5.20
cffi==2.0.0
charset-normalizer==3.4.7
click==8.4.1
coloredlogs==15.0.1
construct==2.10.70
construct-typing==0.7.0
cryptography==48.0.0
daemonize==2.5.0
decorator==5.3.1
defusedxml==0.7.1
detect-installer==0.1.0
developer_disk_image==0.2.0
dnspython==2.8.0
editor==1.8.0
email-validator==2.3.0
enum-compat==0.0.3
executing==2.2.1
fastapi==0.136.1
fastapi-cli==0.0.24
fastapi-cloud-cli==0.18.0
fastar==0.11.0
gpxpy==1.6.2
h11==0.16.0
hexdump==3.3
httpcore==1.0.9
httptools==0.7.1
httpx==0.28.1
humanfriendly==10.0
hyperframe==6.1.0
idna==3.16
ifaddr==0.2.0
inquirer3==0.6.1
ipsw-parser==1.7.0
ipython==9.13.0
ipython_pygments_lexers==1.1.1
itsdangerous==2.2.0
jedi==0.20.0
Jinja2==3.1.6
jinxed==2.0.3
lzfse==0.4.2
markdown-it-py==4.2.0
MarkupSafe==3.0.3
matplotlib-inline==0.2.2
mdurl==0.1.2
nest-asyncio==1.6.0
opack2==0.0.1
packaging==26.2
parameter-decorators==0.0.2
parso==0.8.7
pexpect==4.9.0
pillow==12.2.0
plumbum==1.10.0
prompt_toolkit==3.0.52
psutil==7.2.2
ptyprocess==0.7.0
pure_eval==0.2.3
pycparser==3.0
pycrashreport==2.0.0
pycryptodome==3.23.0
pydantic==2.13.4
pydantic-extra-types==2.11.1
pydantic-settings==2.14.1
pydantic_core==2.46.4
Pygments==2.20.0
pygnuutils==0.1.1
pyimg4==0.8.8
pykdebugparser==1.2.7
pylzss==0.3.4
pymobiledevice3==6.2.0
python-dateutil==2.9.0.post0
python-dotenv==1.2.2
python-multipart==0.0.29
python-pcapng==2.1.1
pytun-pmd3==3.0.3
pyusb==1.3.1
PyYAML==6.0.3
qh3==1.8.1
readchar==4.2.2
remotezip2==0.0.2
requests==2.34.2
rich==15.0.0
rich-toolkit==0.19.10
rignore==0.7.6
runs==1.3.0
sentry-sdk==2.60.0
setuptools==82.0.1
shellingham==1.5.4
six==1.17.0
srptools==1.0.1
sslpsk-pmd3==1.0.3
stack-data==0.6.3
starlette==1.0.1
termcolor==3.3.0
tqdm==4.67.3
traitlets==5.15.0
typer==0.25.1
typer-injector==0.3.0
typing-inspection==0.4.2
typing_extensions==4.15.0
tzdata==2026.2
urllib3==2.7.0
uvicorn==0.47.0
uvloop==0.22.1; sys_platform != "win32"
watchfiles==1.2.0
wcwidth==0.7.0
websockets==16.0
wheel==0.47.0
wsproto==1.3.2
xmod==1.10.0
xonsh==0.23.7
8 changes: 8 additions & 0 deletions trollstore.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# This Part is for avoiding uncessary warnings in windows.
import warnings
warnings.filterwarnings(
"ignore",
message=r".*unknown terminal capability.*",
category=UserWarning,
)

import platform
import sys
import traceback
Expand Down