Coder Social home page Coder Social logo

ios-vnc's Introduction

[DEPRECATED] iOS VNC Server

We are no longer maintaining this repository.

This project provides a VNC endpoint which streams the device's screen to your VNC client. Any keyboard and mouse events your VNC client sends will be sent to the iOS device. This does not require the device to be jailbroken.

Setup

  • Clone this repository

  • Install dependencies:

    • brew install libimobiledevice
    • brew install libpng
    • brew install libvncserver
    • brew install carthage
  • Now you can build the project:

    • cd iOSVNCServer && make build

Dependencies

To control the device, you will need to set up WebdriverAgent This project exposes a couple of endpoints to take control of the device. Once you've set this up correctly (signing and ./Scripts/bootstrap.sh), you can run the WebDriverAgent project to expose the endpoint.

Getting Started

The WebDriverAgent project will output a response ServerURLHere->http://[SOME_IP]:8100<-ServerURLHere These values are required and need to be passed to our iosvncserver, together with the udid of the device:

  • To get the udid: idevice_id -l
  • Start a WebDriverAgent session: curl -X POST -H "Content-Type: application/json" \ -d "{\"desiredCapabilities\":{\"bundleId\":\"com.apple.preferences\"}}" \ [SOME_IP]:8100/session
  • Copy the sessionID from this response and pass it to our VNC server:

You can now run the VNC server: ./iosvncserver -u [udid] -H [SOME-IP] -P 8100 -S [session-id]

Point your favorite VNC client to localhost:5901 and you will be able to take control of the real iOS device.

Resources

ios-vnc's People

Contributors

delabiejochen avatar jochen-testingbot avatar pietrasm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ios-vnc's Issues

Errors building

I experienced the same build issue as @fruitofgeorge, and successfully solved the imobiledevice error. I then had this error:

ld: library not found for -ljsmn

Aside from "-ljsmn" being confusing (looks like an incorrect parsing of "-l jsmn"), I thought maybe the Makefile including jsmn in the libs was inaccurate. I removed this reference, and then Make worked without error. I'm not certain if this is correct, though.

Will iosVNCServer still work like this?
Thanks

QUOTE <
Digging further, turns out there is supposed to be a makefile in the /jsmn directory but when cloning it just makes an empty folder. I was able to find another repo for jsmn and copy it in.
After taking care of that, it complained of not finding the library for imobiledevice. Looks like when installed with brew, it appends the version number on it. I had to edit the makefile to be -l imobiledevice-1.0 and then it builds.

Originally posted by @fruitofgeorge in #1 (comment)

make build fails

Following the instructions, after entering cd iOSVNCServer && make build I get:

cd ./vendor/jsmn/; make
make[1]: *** No targets specified and no makefile found.  Stop.
make: *** [dependencies] Error 2

It seems like it's looking for another makefile in the /jsmn directory rather than using the one originally called?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.