{"id":16136440,"url":"https://github.com/himbeersaftlp/ios-safari-remote-debug-kit","last_synced_at":"2025-04-09T12:09:47.679Z","repository":{"id":37449794,"uuid":"373530330","full_name":"HimbeersaftLP/ios-safari-remote-debug-kit","owner":"HimbeersaftLP","description":"Remotely debugging iOS Safari on Windows and Linux","archived":false,"fork":false,"pushed_at":"2024-08-20T18:42:51.000Z","size":67,"stargazers_count":202,"open_issues_count":6,"forks_count":16,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-17T04:07:51.247Z","etag":null,"topics":["debugging","hacktoberfest","ios","safari","webkit"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HimbeersaftLP.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-03T14:10:20.000Z","updated_at":"2024-10-14T09:43:54.000Z","dependencies_parsed_at":"2024-05-18T21:24:59.415Z","dependency_job_id":"6fe40f16-7574-47b0-a7c1-c60aa7168125","html_url":"https://github.com/HimbeersaftLP/ios-safari-remote-debug-kit","commit_stats":{"total_commits":35,"total_committers":7,"mean_commits":5.0,"dds":0.2571428571428571,"last_synced_commit":"aeeb902f48f2b732322e72e0b51e63ea9589f122"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HimbeersaftLP%2Fios-safari-remote-debug-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HimbeersaftLP%2Fios-safari-remote-debug-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HimbeersaftLP%2Fios-safari-remote-debug-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HimbeersaftLP%2Fios-safari-remote-debug-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HimbeersaftLP","download_url":"https://codeload.github.com/HimbeersaftLP/ios-safari-remote-debug-kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248036067,"owners_count":21037092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugging","hacktoberfest","ios","safari","webkit"],"created_at":"2024-10-09T23:11:45.477Z","updated_at":"2025-04-09T12:09:47.662Z","avatar_url":"https://github.com/HimbeersaftLP.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Remote Debugging iOS Safari on Windows and Linux\n\nUsing this project you can debug your websites and web applications running in iOS Safari from a PC running Windows or Linux.\n\nIt provides a free and up-to-date alternative to the discontinued [remotedebug-ios-webkit-adapter by RemoteDebug](https://github.com/RemoteDebug/remotedebug-ios-webkit-adapter) and is the spiritual successor to the abandoned [webkit-webinspector by Arty Gus](https://github.com/artygus/webkit-webinspector). It is a free and open source alternative to inspect.dev.\n\nThe setup scripts (`generate.sh` or `generate.ps1`) download the latest version of WebKit's built-in WebInspector and patch it to work with the WebSocket `ios-webkit-debug-proxy` provides and to be compatible with Chromium based browsers.\n\nHaving trouble getting this tool running? Join the Discord community:\n\n[![Join the Discord Server](https://img.shields.io/discord/252874887113342976?logo=discord)](https://www.himbeer.me/discord)\n\n**If you are looking for a more modern, self-contained tool built in Go**, check out [Hazel's ios-safari-remote-debug](https://git.gay/besties/ios-safari-remote-debug).\n\n## Requirements for running\n\n- [`ios-webkit-debug-proxy`](https://github.com/google/ios-webkit-debug-proxy)\n  - On Windows, it will automatically be downloaded, but you must **also install and trust the device in iTunes for it to work**\n  - For Linux, please follow the [installation instructions](https://github.com/google/ios-webkit-debug-proxy#linux).\n- [Node.JS http-server](https://www.npmjs.com/package/http-server) **or** [Python](https://www.microsoft.com/store/productId/9P7QFQMJRFP7) **or** [PHP](https://www.php.net/)\n  - If you have Python or PHP on your system, you don't need to change anything\n  - If you have Node.JS on your system, just run `npm i -g http-server` and you're set.\n- A Chromium based browser\n  - like Google Chrome, Edge or Opera\n- **or** WebKit based browser\n  - like Epiphany/GNOME Web\n\n## Requirements for setup\n\n- `git` (required by `generate.sh` or `generate.ps1`) for downloading WebKit source code\n  - On Windows, I suggest using [`git` for Windows](https://git-scm.com/download/win) in PowerShell\n  - On Linux, I suggest installing `git` from your package manager\n\n## Instructions\n\n### Setup\n\n1. Clone this repository to your PC\n2. On Windows, run `generate.ps1`. On Linux, run `generate.sh`.\n\nThis will result in the folder `WebKit` being created inside `src`. It contains the WebInspector files.\n\n### Running\n\n1. Plug your iOS device into your PC via USB\n2. On Windows, open iTunes and mark the iOS device as trusted (pop-up asks for confirmation the first time you connect a new device)\n3. On the iOS device, confirm that you trust the connection if asked\n4. Go to `Settings-\u003eSafari-\u003eAdvanced-\u003eWeb Inspector` and enable it\n5. Open the website you want to debug in Safari\n6. On Windows, run `start.ps1`. On Linux, run `start.sh`. Make sure your iOS device's screen is unlocked.\n7. The `ios-webkit-debug-proxy` will show your iOS device's name as connected.\n8. Then open the Chromium or WebKit based browser of your choice with the following URL: [`http://localhost:8080/Main.html?ws=localhost:9222/devtools/page/1`](http://localhost:8080/Main.html?ws=localhost:9222/devtools/page/1)\n    - If you have mutliple pages open or extensions installed, refer to [http://localhost:9222/](http://localhost:9222/) for the page number that is at the end of the URL\n9. You should be greeted with the WebInspector and can now debug to your heart's content.\n\n### Troubleshooting\n\n- If you get an error like `Uncaught (in promise) Error: 'Browser' domain was not found` from `Connection.js:162` you are trying to inspect a page that is not inspectable  (this could be caused by having Safari extensions installed). Refer to [http://localhost:9222/](http://localhost:9222/) for the available pages and put the correct one at the end of the URL (for example [`http://localhost:8080/Main.html?ws=localhost:9222/devtools/page/2`](http://localhost:8080/Main.html?ws=localhost:9222/devtools/page/2)) for inspecting the second page.\n- In case your inspector window stays empty, open the dev tools of your local browser to check the console for errors.\n  - If you get an error like `WebSocket connection to 'ws://localhost:9222/devtools/page/1' failed:` from `BrowserInspectorFrontendHost.js:97`, try unplugging your device and plugging it back in while the site you want to debug is open in Safari. Once you see the ios-webkit-debug-proxy console window display a message like `Connected :9222 to Himbeers iPad (...)`, refresh the inspector page inside your browser (do not use the refresh button on the inspector page, refresh the entire site from your browser).\n\n### Exiting\n\n#### Windows\n\n- Two windows will open. One manages the web server and the other one is `ios-webkit-debug-proxy`.\n- To exit, close the `ios-webkit-debug-proxy` window, the other one will close automatically\n  - Alternatively you can also press Ctrl+C in the web server window\n\n#### Linux\n\n- Press Ctrl+C in the terminal window to exit\n\n## Known Issues\n\n- \"Events\" on the \"Timelines\" tab don't work\n- Canvas content doesn't show on the \"Graphics\" tab\n- Minor style glitches due to Webkit vs. Chromium differences\n\n## Notes\n\nIf you want to see details about how this was made, you can read a detailed explanation in [`HOW_IT_WORKS.md`](https://github.com/HimbeersaftLP/ios-safari-remote-debug-kit/blob/master/HOW_IT_WORKS.md) (note that this document only describes how the very first version of this tool was created and might not be completely up-to-date).\n\n## Attribution\n\n- This project was made possible thanks to\n  - [webkit-webinspector](https://github.com/artygus/webkit-webinspector) for the idea\n  - [ios-webkit-debug-proxy](https://github.com/google/ios-webkit-debug-proxy) for the ios-webkit-debug-proxy tool\n  - [WebKit](https://github.com/WebKit/WebKit) for the WebInspector itself\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhimbeersaftlp%2Fios-safari-remote-debug-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhimbeersaftlp%2Fios-safari-remote-debug-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhimbeersaftlp%2Fios-safari-remote-debug-kit/lists"}