add Dockerfile and README.md

This commit is contained in:
Rob Watson 2020-06-05 16:52:26 +02:00
parent 6b5e505ed0
commit 085aca0e08
3 changed files with 80 additions and 0 deletions

39
Dockerfile Normal file
View File

@ -0,0 +1,39 @@
FROM node:14-slim
LABEL maintainer="Rob Watson <rob@netflux.io>"
RUN apt-get update && apt-get install -y autoconf build-essential git libtool \
libconfig-dev libssl-dev python3-dev
WORKDIR /src
RUN git clone https://github.com/libimobiledevice/libplist.git
WORKDIR /src/libplist
RUN ./autogen.sh
RUN make
RUN make install
WORKDIR /src
RUN git clone https://github.com/libimobiledevice/libusbmuxd.git
WORKDIR /src/libusbmuxd
RUN ./autogen.sh
RUN make
RUN make install
WORKDIR /src
RUN git clone https://github.com/libimobiledevice/libimobiledevice.git
WORKDIR /src/libimobiledevice
RUN ./autogen.sh
RUN make
RUN make install
WORKDIR /src
RUN git clone https://github.com/google/ios-webkit-debug-proxy.git
WORKDIR /src/ios-webkit-debug-proxy
RUN ./autogen.sh
RUN make
RUN make install
RUN npm install -g remotedebug-ios-webkit-adapter
ENV LD_LIBRARY_PATH /usr/local/lib
ENTRYPOINT ["remotedebug_ios_webkit_adapter"]

41
README.md Normal file
View File

@ -0,0 +1,41 @@
# remotedebug-ios-webkit-adapter-docker
A Docker container containing everything needed to run Chrome devtools against an iOS device.
Relies on the [remotedebug-ios-webkit-adapter project](https://github.com/RemoteDebug/remotedebug-ios-webkit-adapter), which in turn relies on libimobiledevice, libusbmuxd, libplist and ios-webkit-debug-proxy.
Tested with iOS 13.5.1 on an 2018 iPad Pro 11 inch and 2018 iPhone 8 Plus.
## Usage
1. Plug iOS device in to Linux box via USB
2. Ensure device is trusted
3. Launch the Docker container:
```
docker run --privileged \
-p 9000:9000 \
-v /dev/bus/usb:/dev/bus/usb \
-v /var/run:/var/run \
netfluxio/remotedebug-ios-webkit-adapter-docker
```
4. Open Chrome and visit `chrome://inspect`
5. Next to _Discover network targets_ click _Configure_
6. Ensure `localhost:9000` is included in the list
![Chrome Devtools](https://git.netflux.io/rob/remotedebug-ios-webkit-adapter-docker/raw/branch/dev/images/remotedebug-chrome.png)
## Troubleshooting
If you see this error:
```
remotedebug-ios-webkit-adapter failed to run with the following error: adapter.spawnProcess.close, code=255
```
then the device is probably either not plugged in or not trusted (see also Debugging, below.)
## Debugging
Run docker with argument `-e DEBUG=remotedebug`

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB