- 22 Apr, 2021 1 commit
-
-
David Helkowski authored
-
- 25 Dec, 2020 2 commits
-
-
David Helkowski authored
-
David Helkowski authored
-
- 23 Dec, 2020 1 commit
-
-
David Helkowski authored
-
- 22 Dec, 2020 3 commits
-
-
David Helkowski authored
-
David Helkowski authored
This is needed to go along with the change to wdaproxy to use mobiledevice instead of libimobiledevice
-
David Helkowski authored
Besides general updates for app based video, network attached devices are now supported as well. Use default upstream WebDriverAgent instead of custom one. Add "set_working_dir" config option to set the working directory on startup. This is needed to avoid some sandboxing issues on certain installations of MacOS. Added a new option to use ios-deploy for device detection instead of osx_ios_device_detector. This is needed to be able to support using network connected iOS devices. Added "devices" to config.json, so that screen width and height can be set ahead of time there instead of using screenshot to determine screen dimensions. Added "app_name" and "app_bundle_id" options to the video section of config.json, to support the new app based video. Corrected a bug with multiple devices reusing the primary wda instead of the one specific to the device. Moved to using latest ujsonin as it has the ForEach method. Tweaked the 8027 debug webpage to show the ports for video stre...
-
- 11 Nov, 2020 2 commits
-
-
David Helkowski authored
Fix wda port issue
-
mbilbiesi authored
related to issue raised under https://github.com/DeviceFarmer/stf_ios_support/issues/71#issuecomment-724607693
-
- 23 Oct, 2020 1 commit
-
-
David Helkowski authored
Build was broken by last round of changes when video_enabler was reintroduced. This adds new Makefile rules to fix the issue that was introduced. Tested a clean build and it works for the most part. Still there are bugs now in WDA building due to upstream changes, but the rest now builds. Also fixed a new error I noticed where stf-ios-provider would not build if your current PATH variable has a space in it. Fixed it as others will have this issue. ( and I had it also in this build attempt )
-
- 19 Oct, 2020 1 commit
-
-
David Helkowski authored
wdafree Makefile target, for building stf_ios_support without building WDA. Added back video_enabler to more consistently ensure video starts up when starting coordinator. Added 'auto' configuration for network and made it the default, so that the network will be selected automatically. This selects whatever the default route is on the machine. This should let the coordinator be started up properly / more easily for most users. Added vpnFile and vpnLabel command line options to coordinator, to make it easier to create a VPN LaunchDaemon/plist without using config.json to specify where to get the VPN config file from. Added -resetVideo command to coordinator, for directly initiating a "Reset Media Services" selection on the attached IOS device without doing other things as well. Moved cleanup_procs call above ZMQ binding, to prevent leftover processes from crashing coordinator due to ZMQ binding conflict. Altered process cleanup to use git...
-
- 25 Sep, 2020 2 commits
-
-
David Helkowski authored
Previously libimobiledevice had to be installed from souce by hand using a pile of steps. These steps have been added to the Makefile and just running `make` as part of the normal install process will install it. You can also run the specific step to install libimobiledevice using `make libimd` That `make libimd` is already run by `init.sh`; both the one in the clone of stf_ios_support, and the one included into dist.tgz
-
David Helkowski authored
Updated the readme to clarify vague steps. Added a new `make ou` command for easily seeing information about a developer account setup in Xcode ( including the OU of it needed for config.json )
-
- 24 Sep, 2020 2 commits
-
-
David Helkowski authored
Added new `make pull` command that can be used to easily pull all the various repos cloned by the project. Removed old mirrorfeed clone from `make clone` command as it no longer belongs and was breaking `make clone` Altered init.sh so that it calls `make libimd` automatically, and added a Makefile to the dist.tgz so that when you run init.sh on a provider installed via dist.tgz it will automatically build and install libimobiledevice if needed.
-
David Helkowski authored
Created runner to make maintaining coordinator on provider machines easier. Fix shutdown/cleanup of ivf. Ivf was not being shutdown previously. This could cause multiple coping of ivf_pull to be running at once. Fix PID fetch of generic subprocesses. The previous simplistic method was failing to fetch PID because it is not available immediately after starting the subprocess. This resulted in shutdown process being unable to close processes by PID.
-
- 20 Sep, 2020 1 commit
-
-
David Helkowski authored
check-versions script was continuing to have errors / show errors if run before repos are cloned. Fixed it to handle the output of the get-version-info.sh script properly.
-
- 13 Sep, 2020 1 commit
-
-
David Helkowski authored
Last commit broke compilation. Corrected the bug and typo.
-
- 11 Sep, 2020 1 commit
-
-
David Helkowski authored
Added support for passing a port to the device ios unit for running socat to allow remote connectivity to usbmuxd.
-
- 08 Sep, 2020 1 commit
-
-
David Helkowski authored
The readme was rather out of date. Updated with latest instructions and information. Also tweaked Makefile to create ~/Library/LaunchAgents automatically if it does not exist.
-
- 07 Sep, 2020 1 commit
-
-
David Helkowski authored
`make` was checking for the version of h264_to_jpeg which is no longer checked out as it is not the primary video mechanism any more. Removed the check. Updated the versions being checked for all the repos. Fixed the check script a bit to give the proper instruction on which repo to pull. Updated gitignore a bit to ignore some temp files. Removed the icon for the app since the app is no longer built/available. Committed some new temporary certs for testing as the old ones were expired.
-
- 14 Aug, 2020 1 commit
-
-
David Helkowski authored
Build in version information into the coordinator and ivf_pull binaries.
-
- 11 Aug, 2020 1 commit
-
-
David Helkowski authored
Add 'unlock' CLI option for coordinator to unlock a locked device without doing anything else. Refactored STF reserve and release a bit. Added is_locked function to check lock status as well as unlock function. The addition of these functions is in preparation for automatically unlocking a locked device on startup of coordinator.
-
- 07 Aug, 2020 1 commit
-
-
David Helkowski authored
Ultimate this will be changed to point at the devicefarmer namespace. For now it is pointing at livxtrm namespace because that is where the latest updates matching all the other updated repos is at.
-
- 06 Aug, 2020 1 commit
-
-
David Helkowski authored
Updating to add runcli to each component to startup properly. There is no longer an 'stf' alias installed in the latest image that can be used. Also added the new settings needed for latest STF ( the needed CLI options )
-
- 10 Jul, 2020 2 commits
-
-
David Helkowski authored
-
David Helkowski authored
For some devices / situation the WDA doesn't automatically start a session when it starts up. Not sure why... This change simply creates a session if there isn't one at the beginning to avoid that causing problems.
-
- 03 Jul, 2020 2 commits
-
-
David Helkowski authored
Added test CLI for reserve/release of device in STF. Used it to test reserve/release, found bugs and fixed those. Am skipping TLS verificiation since example server setup used self-signed certs. TODO: Make that optional. Also added a port 8207 "restart on release" button to test immediate restart upon release of STF device. Tested that and it works properly.
-
David Helkowski authored
The automatic 4 hour WDA restart will no longer occur immediately if the device it concerns is currently reserved in STF. When the device is released in STF it will happen then. Also updated port 8027 coordinator status webpage to show if WDA is up or not. Added a button to restart STF provider there also. Also added a button to restart ivf ( video pulling from ios device ) Tweaked libplist and libusbmuxd versions to latest head versions. Updated brewser to autocreate missing pkg-config files in a more reliable way. The previous method was failing in some cases. These changes were necessary to allow latest ios-webkit-debug-proxy to be built and installed.
-
- 26 Jun, 2020 1 commit
-
-
David Helkowski authored
Added automatic restart of WDA every 4 hours. ( configurable in config.json as timing.wda_restart and measured in minutes ) Also added a button in the port 8027 coordinator web interface to trigger a restart of WDA
-
- 21 Jun, 2020 1 commit
-
-
David Helkowski authored
Added back the "old" video method but newly rewritten in the form of the ios_avf_pull repo which gets video from an IOS device using AVFoundation, converts to JPEG doing still frame detection and frame skipping, then passes the resulting jpeg frames over to ios_video_stream. This method has its downfalls ( only one ios device per machine and requires permissions to get video from the device resulting in a need to run in a graphical user session ), but otherwise is more broadly compatible with IOS devices. The qvh / ios_video_pull method was having issues with certain devices and was finicky in other ways.
-
- 18 Jun, 2020 1 commit
-
-
David Helkowski authored
Made 'location' of a IOS provider configurable in config.json ( as stf.location ) Refactored how sub-processes of coordinator work; they were never actually being shut down cleanly and were beginning to have weird locking issues. Changed WDA to be a normal sub-process rather than using WDA wrapper. There were various weird issues with the wrapper. Eventually it should be in a wrapper again but for now changed to running wdaproxy directly to avoid problems. Now that WDA wrapper is not used a bunch of code in zmq.go is no longer actually used. Have left the code there for now due to planning later to use the wrapper again. Added a devEvent for when WDA startup fails with a log message. It gets restarted automatically so this doesn't alter what happens, but does provide visibility to when it occurs. Added new code to "Reset Media Services" on the phone at the beginning of every startup. This requires WDA to be startup up temporarily in order to do this. That temporary WDA is stopped right afterwards then startup proceeds as normal. This process more than doubles the time it takes to startup a device; but it necessary to ensure video actually works on every startup. Tweaked launchctl a bit; when run as sudo from a user it wasn't functioning. The code needs more scrutiny and testing. TODO. Tweaked shutdown process to be able to always shutoff wdaproxy. Updated brewser to have a new "fixpc" option which will create symlinks as needed for weird brew package dependencies ( libplist and libusbmuxd )
-
- 09 Jun, 2020 1 commit
-
-
David Helkowski authored
Added a new -testVideo CLI option that just runs the bits of stf_ios_support needed to stream video locally without the bits for STF and WDA. Added more debug output to help debug if the startup gets stuck somewhere. Fixed the shutdown process a bit to avoid hanging on shutdown ( ctrl-c )
-
- 08 Jun, 2020 1 commit
-
-
David Helkowski authored
No longer installing libimobiledevice directly through brew as installing HEAD version of it through brew doesn't work on current fully updated macs due to openssl issues. Tweaked brewser to be able to ensure the proper updated HEAD versions of libplist and libusbmuxd that is needs are installed also. Make openvpn log file configurable since it was previously only hardcoded and the hardcoded location was suboptimal for some situations.
-
- 02 Jun, 2020 1 commit
-
-
David Helkowski authored
This commit resolves ongoing issues that made stf_ios_support crash and have a variety of issues since the update to the new video method. With these updates everything should now work reliably. Add devreset pull and build to Makefile. Devreset is needed in order to reliably startup coordinator. Added guards to prevent heartbeat and STF device ios units from being started multiple times overtop of each other in some situations. ( when WDA crashes / restarts ) Optimize the way heartbeat is sent to ensure it is always sent reliably. ( mainly by using unbuffered channels ) Use ujsonin v1.6; as 1.5 was/is broken. Change the log of the repeating call to ideviceinfo to Info instead of Debug; as I've seen the situation where ideviceinfo isn't functioning happen a few times and seeing it get called helps make it apparent what is going on. Do not write the Iframe messages coming out of h264_to_jpeg into the log. It just fills up the log with these. Do not write the libusb: interrupted messages from ios_video_pull into the log. They happen quite often and don't seem to have any negative effect so logging them is useless.
-
- 29 May, 2020 2 commits
-
-
David Helkowski authored
-
David Helkowski authored
Move dist.tgz to be created in the root instead of in the offline folder. Let image dimensions of frameserver be configured. Revamp startup process to reset video streaming status so it doesn't hang when attempting to restart sometimes. Wait for first video frame from ios_video_stream when starting up. Fetch click dimensions from WDA when starting up and pass it into the STF device unit. A few timing tweaks so everything starts up correctly. Several protections from potential nil elements to prevent crashes in those odd situations of leftover messages.
-
- 20 May, 2020 1 commit
-
-
David Helkowski authored
Update README to include 'make' step
-
- 15 May, 2020 1 commit
-
-
David Helkowski authored
Split out all the h264 nalu pulling code from ios_video_stream into a new sub-process and repo ios_video_pull. This stabilizes the video greatly. Also added a new config section "frameserver" that lets the frame server by configured to use https if desired. Changed the video streaming to the moment to go directly to the IP running ios_video_stream rather than through nginx. Will need to add some more config and update the instructions as this may not be obvious.
-
- 12 May, 2020 2 commits
-
-
David Helkowski authored
-
David Helkowski authored
Removed video_enabler everywhere as it is not needed with the new video streaming mechanism ( it actually interferes with the new mechanism ) Changed detailed new interface log output to debug, and added a new info log message when the video interface becomes available. Censored uuid/udid in the common places it appears on main coordinator output on startup and shutdown so that people can more easily share logs for debugging without having to manually censor it out.
-