You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-26Lines changed: 28 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,20 +2,20 @@
2
2
3
3
> :construction_worker::hammer:**Work in progress**:construction::vertical_traffic_light:
4
4
5
-
A monitor solution for jailbroken iOS devices. The core goal of this project is to make sure a specific iOS application is constantly running without needed to use Single App Mode (SAM) or Guided Access Mode (GAM).
5
+
dmon is a monitor solution for jailbroken iOS devices. This project's core goal is to ensure a specific iOS application is constantly running without needing to use Single App Mode (SAM) or Guided Access Mode (GAM).
6
6
7
-
A script, `./bin/setup`, is included to help with initial configuration of a jailbroken device.
7
+
A scriptis included to help with the initial configuration of a jailbroken device: `./bin/setup`
- Optional but **highly recommend** creating a ssh keypair
30
-
- Setup your ssh config entry. This makes your life much easier as ssh sessions can be remembered.
30
+
- Setup your ssh config entry. Life is much easier when your ssh sessions are remembered.
31
31
32
32
```sh
33
33
cat ~/.ssh/config
34
-
Host iphone
34
+
Host iphone localhost
35
35
HostName localhost
36
36
User root
37
37
Port 2222
38
38
StrictHostKeyChecking no
39
+
UserKnownHostsFile=/dev/null
40
+
#IdentityFile ~/.ssh/main.pub
39
41
40
42
Host *
41
43
ControlMaster auto
@@ -45,7 +47,7 @@ A script, `./bin/setup`, is included to help with initial configuration of a jai
45
47
46
48
## Getting started
47
49
48
-
It is assumed you know your way around a command line. All commands are run on your computer connected to a single iOS device. While it is possible to do some of this manually on a jailbroken iOS device that is pron to human error.
50
+
It is assumed you know your way around a command line. Commands are ran on your computer connected to a single iOS device.
49
51
50
52
1. Grab a valid iOS 14+ device and jailbreak it: https://ios.cfw.guide/get-started/select-iphone/
51
53
1. Clone this git repo.
@@ -62,9 +64,9 @@ It is assumed you know your way around a command line. All commands are run on y
62
64
63
65
1. Create a `config.json` at the root of this repo with the correct values.
64
66
65
-
Make sure to remove all `// comments` before saving. They are not valid json!
67
+
Make sure to remove all `// comments` before saving. They are not valid JSON!
- (Optional - Required to pogo.ipa updates) https://cydia.akemi.ai/debs/nodelete-ai.akemi.appsyncunified.deb
86
-
- (Optional - Required to pogo.ipa updates) https://cydia.akemi.ai/debs/nodelete-ai.akemi.appinst.deb
87
-
-**Potentially any paid/private debs. nudge, nudge, wink, wink**
87
+
- (Optional - Required for pogo.ipa updates) https://cydia.akemi.ai/debs/nodelete-ai.akemi.appsyncunified.deb
88
+
- (Optional - Required for pogo.ipa updates) https://cydia.akemi.ai/debs/nodelete-ai.akemi.appinst.deb
89
+
-**Potentially any paid/private debs. Nudge, nudge, wink, wink**
88
90
89
91
1. Grab a copy of Pokemon Go via [majd/ipatool](https://github.com/majd/ipatool).
90
92
@@ -96,14 +98,14 @@ It is assumed you know your way around a command line. All commands are run on y
96
98
```
97
99
98
100
1. Connect your iOS device to your computer via USB.
99
-
1. Open Terminal and run (remember to only have one phone connected).
101
+
1. Open Terminal.app and run (remember only to have one phone connected).
100
102
101
103
```sh
102
104
# Alteratively you can pass -u <device-uuid> if multiple phones are connected
103
105
iproxy 2222 22
104
106
```
105
107
106
-
1. Then in a separate terminal window run:
108
+
1. Then, in a separate terminal window, run:
107
109
108
110
```sh
109
111
ssh root@localhost -p 2222 # default password is 'alpine'
@@ -118,25 +120,25 @@ It is assumed you know your way around a command line. All commands are run on y
118
120
./bin/setup -s ~/.ssh/main.pub
119
121
```
120
122
121
-
1. Assuming everything worked correctly your phone should be properly configured.
123
+
1. Assuming everything worked correctly, your phone is now properly configured.
122
124
123
125
Bonus items that are out of scope for this project.
124
126
125
127
- Configure your device as supervised and push a wireless mobileconfig profile
126
-
- Configure your device to use Shared Internet from your mac
128
+
- Configure your device to use Shared Internet from your Mac
127
129
- Supervise your device and push a global proxy to route requests through HAproxy
128
130
129
131
## Testing
130
132
131
133
- All testing has been completed with iOS 15 using palera1n
132
-
- Only confirmed on older A9 processors aka iPhone SE first gen
134
+
- Only confirmed on older A9 processors, aka iPhone SE first gen
133
135
- DEB Package is built on macOS Ventura
134
136
135
137
## Commonly asked questions
136
138
137
139
### Why didn't you use Theos to build the deb?
138
140
139
-
I was expecting to add a few external compiled binaries and didn't want to read a ton of documentation. Things changed and now I'm too lazy to rewrite.
141
+
I was expecting to add a few external compiled binaries and wanted to avoid reading the documentation. But, unfortunately, things changed, and I don't want to rewrite it.
140
142
141
143
### How can I stop it?!?!
142
144
@@ -148,9 +150,9 @@ I was expecting to add a few external compiled binaries and didn't want to read
It is a flat structure. You can use nginx, apache, caddy, python, node, etc. Your files should be named like this:
155
+
It is a flat structure. You can use Nginx, Apache, Caddy, Python, NodeJS, etc. Your files should be named:
154
156
155
157
```sh
156
158
top_level_folder
@@ -159,26 +161,26 @@ top_level_folder
159
161
└── version.txt
160
162
```
161
163
162
-
Your `version.txt` file should have the following. Obviously update the versions to match what is currently released.
164
+
Your `version.txt` file should have the following text. Update the versions to match what is currently released.
163
165
164
166
```sh
165
167
gc: 2.0.248
166
168
pogo: 0.265.0
167
169
```
168
170
169
-
Then in your config point `dmon_url` to `http://HOSTNAME:PORT/top_level_folder`.
171
+
Then in your config, point `dmon_url` to `http://HOSTNAME:PORT/top_level_folder`.
170
172
171
173
### Why did you reuse the existing `config.json`?
172
174
173
-
This isn't a pure solution. I am lazy. Now bugger off.
175
+
I was lazy and figured this would make it easier for you. Now bugger off.
174
176
175
177
### Why didn't you include the debs I need?
176
178
177
-
I don't have the original authors permissions to upload their files.
179
+
I don't have the original author's permission to upload their files.
178
180
179
181
### Why is my https url not working?
180
182
181
-
We are using the stock CA Certificates installed as part of the iOS jailbreak. The Procursus Team placed files in `/usr/lib/ssl/cacert.pem` and I figured it would be safe to keep using them. Those root certs might have expired and need an update.
183
+
dmon is using the stock CA Certificates installed as part of the iOS jailbreak. The Procursus Team placed files in `/usr/lib/ssl/cacert.pem` and I figured it would be safe to keep using them. Those root certs might have expired and need an update if you are running into an issue.
0 commit comments