Fix usbfluxd setup instructions. Add @cybik & @Silfalion to credits. Added https://github.com/Silfalion/Iphone_docker_osx_passthrough

This commit is contained in:
sickcodes 2021-09-07 05:48:55 +00:00
parent 48db29e013
commit c2fca85acf
3 changed files with 66 additions and 16 deletions

View file

@ -90,3 +90,6 @@ This project now uses the fantastic OpenCore bootloader from the community OpenC
[@mcandre](https://github.com/mcandre) - fix typo #334
[@cybik](https://github.com/cybik) Spice fix #337
[@Silfalion](https://github.com/Silfalion) - [https://github.com/Silfalion/Iphone_docker_osx_passthrough](https://github.com/Silfalion/Iphone_docker_osx_passthrough)

View file

@ -2,10 +2,21 @@
![Running Mac OS X in a Docker container](/running-mac-inside-docker-qemu.png?raw=true "OSX KVM DOCKER")
Run Mac OS X in Docker with near-native performance! X11 Forwarding! iMessage security research!
Run Mac OS X in Docker with near-native performance! X11 Forwarding! iMessage security research! iPhone USB working!
# Docker-OSX now has a Discord server:
# [https://discord.gg/mx8pPw39Yg](https://discord.gg/mx8pPw39Yg)
# Docker-OSX now has a Discord server & Telegram!
The Discord is active on #docker-osx and anyone is welcome to come and ask questions, ideas, etc.
![https://discord.gg/mx8pPw39Yg](/discord-logo.svg?raw=true "Join Sick Codes Discord Server")
### Click to join the Discord server [https://discord.gg/mx8pPw39Yg](https://discord.gg/mx8pPw39Yg)
### Click to join the Telegram server [https://t.me/sickcodeschat](https://t.me/sickcodeschat)
Or reach out via Linkedin if it's private: [https://www.linkedin.com/in/sickcodes](https://www.linkedin.com/in/sickcodes)
Or via [https://sick.codes/contact/](https://sick.codes/contact/)
## Author
@ -87,6 +98,8 @@ docker run -it \
-v "${PWD}/mac_hdd_ng_auto.img:/image" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e "DISPLAY=${DISPLAY:-:0.0}" \
-e GENERATE_UNIQUE=true \
-e MASTER_PLIST_URL=https://raw.githubusercontent.com/sickcodes/Docker-OSX/master/custom/config-nopicker-custom.plist \
sickcodes/docker-osx:naked
```
@ -116,12 +129,22 @@ docker run -it \
sickcodes/docker-osx:naked-auto
```
# iPhone passthrough OSX-KVM Docker-OSX
# (VFIO) iPhone USB passthrough (VFIO)
If you have a laptop see the next usbfluxd section.
If you have a desktop PC, you can use [@Silfalion](https://github.com/Silfalion)'s instructions : [https://github.com/Silfalion/Iphone_docker_osx_passthrough](https://github.com/Silfalion/Iphone_docker_osx_passthrough)
# (USBFLUXD) iPhone USB -> Network style passthrough OSX-KVM Docker-OSX
This method WORKS on laptop, PC, anything!
Thank you [@nikias](https://github.com/nikias) for [usbfluxd](https://github.com/corellium/usbfluxd) via [https://github.com/corellium](https://github.com/corellium)!
**This is done inside Linux.**
Open 3 terminals on Linux
Connecting your device over USB on Linux allows you to expose `usbmuxd` on port `5000` using [https://github.com/corellium/usbfluxd](https://github.com/corellium/usbfluxd) to another system on the same network.
Ensure `usbmuxd`, `socat` and `usbfluxd` are installed.
@ -132,26 +155,24 @@ Available on the AUR: [https://aur.archlinux.org/packages/usbfluxd/](https://aur
`yay usbfluxd`
Plug in the phone.
Plug in your iPhone or iPad.
Terminal 1
```bash
sudo systemctl start usbmuxd
sudo avahi-daemon
```
Another terminal:
Terminal 2:
```bash
# on host
sudo systemctl restart usbmuxd
sudo socat tcp-listen:5000,fork unix-connect:/var/run/usbmuxd &
sudo usbfluxd -f -n
sudo socat tcp-listen:5000,fork unix-connect:/var/run/usbmuxd
```
If you need to start again:
Terminal 3:
```bash
sudo killall usbfluxd
sudo systemctl restart usbfluxd
sudo killall socat
sudo usbfluxd -f -n
```
### Connect to a host running usbfluxd
@ -160,11 +181,12 @@ sudo killall socat
Install homebrew.
172.17.0.1 is the Docker bridge IP, which is your PC, but you can use any IP from `ip addr`...
`172.17.0.1` is usually the Docker bridge IP, which is your PC, but you can use any IP from `ip addr`...
macOS Terminal:
```zsh
# on the guest
brew install make autoheader automake autoconf libtool pkg-config gcc libimobiledevice
brew install make automake autoconf libtool pkg-config gcc libimobiledevice usbmuxd
git clone https://github.com/corellium/usbfluxd.git
cd usbfluxd
@ -178,11 +200,21 @@ Accept the USB over TCP connection, and appear as local:
```bash
# on the guest
sudo launchctl start usbmuxd
export PATH=/usr/local/sbin:${PATH}
sudo usbfluxd -f -r 172.17.0.1:5000
```
## Make container FASTER
Close apps such as Xcode and reopen them and your device should appear!
*If you need to start again on Linux, wipe the current usbfluxd, usbmuxd, and socat:*
```bash
sudo killall usbfluxd
sudo systemctl restart usbmuxd
sudo killall socat
```
## Make container FASTER using [https://github.com/sickcodes/osx-optimizer](https://github.com/sickcodes/osx-optimizer)
SEE commands in [https://github.com/sickcodes/osx-optimizer](https://github.com/sickcodes/osx-optimizer)!
@ -295,7 +327,8 @@ Docker-OSX is licensed under the [GPL v3+](LICENSE). Contributions are welcomed
### Other cool Docker/QEMU based projects
- [Run Android in a Docker Container with Dock Droid](https://github.com/sickcodes/dock-droid)
- [Run iOS in a Docker container with Docker-eyeOS](https://github.com/sickcodes/Docker-eyeOS) - [https://github.com/sickcodes/Docker-eyeOS](https://github.com/sickcodes/Docker-eyeOS)
- [Run Android fully native on the host!](https://github.com/sickcodes/droid-native)
- [Run iOS 12 in a Docker container with Docker-eyeOS](https://github.com/sickcodes/Docker-eyeOS) - [https://github.com/sickcodes/Docker-eyeOS](https://github.com/sickcodes/Docker-eyeOS)
- [Run iMessage relayer in Docker with Bluebubbles.app](https://bluebubbles.app/) - [Getting started wiki](https://github.com/BlueBubblesApp/BlueBubbles-Server/wiki/Running-via-Docker)
## Disclaimer

14
discord-logo.svg Normal file
View file

@ -0,0 +1,14 @@
<!-- animated SVG is from https://github.com/NNTin/discord-logo -->
<svg width="90" height="90" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="discord-logo-container" viewBox="0 0 48 48">
<defs>
<g>
<path id="discord-logo" d="m40,12c0,0 -4.585,-3.588 -10,-4l-0.488,0.976c4.896,1.198 7.142,2.915 9.488,5.024c-4.045,-2.065 -8.039,-4 -15,-4s-10.955,1.935 -15,4c2.346,-2.109 5.018,-4.015 9.488,-5.024l-0.488,-0.976c-5.681,0.537 -10,4 -10,4s-5.121,7.425 -6,22c5.162,5.953 13,6 13,6l1.639,-2.185c-2.782,-0.967 -5.924,-2.694 -8.639,-5.815c3.238,2.45 8.125,5 16,5s12.762,-2.55 16,-5c-2.715,3.121 -5.857,4.848 -8.639,5.815l1.639,2.185c0,0 7.838,-0.047 13,-6c-0.879,-14.575 -6,-22 -6,-22zm-22.5,18c-1.933,0 -3.5,-1.791 -3.5,-4c0,-2.209 1.567,-4 3.5,-4s3.5,1.791 3.5,4c0,2.209 -1.567,4 -3.5,4zm13,0c-1.933,0 -3.5,-1.791 -3.5,-4c0,-2.209 1.567,-4 3.5,-4s3.5,1.791 3.5,4c0,2.209 -1.567,4 -3.5,4z" />
</g>
</defs>
<g class="discord-logo">
<use class="discord-original" href="#discord-logo">
</use>
<animateTransform attributeName="transform" type="rotate" values="0 24 24;-18 24 24;16.8 24 24;-11.4 24 24;8.7 24 24;-7.5 24 24;6 24 24;-4.8 24 24;3.79 24 24;-3.12 24 24;2.52 24 24;-2.01 24 24;1.56 24 24;-1.2 24 24;0.96 24 24;-0.75 24 24;0.6 24 24;-0.48 24 24;0.384 24 24;0 24 24;0 24 24;0 24 24;0 24 24;0 24 24;0 24 24" begin="0s" dur="2s" fill="freeze" repeatCount="indefinite" />
</g>
<animate fill="freeze" dur="0000ms" begin="0s" values="#17f018;#000000;#17f018;#000000;#17f018;#000000;#17f018;#000000;#17f018" calMode="linear" attributeName="fill" repeatCount="indefinite" />
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB