{"id":18918262,"url":"https://github.com/signtools/ota-proxy","last_synced_at":"2025-07-06T22:05:18.233Z","repository":{"id":103624813,"uuid":"385089845","full_name":"SignTools/ota-proxy","owner":"SignTools","description":"Serves a dummy OTA ad hoc manifest that redirects to any URL","archived":false,"fork":false,"pushed_at":"2021-07-12T01:40:03.000Z","size":1,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-08T10:47:45.381Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SignTools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-07-12T01:20:48.000Z","updated_at":"2024-10-11T22:26:45.000Z","dependencies_parsed_at":"2023-05-24T01:00:28.835Z","dependency_job_id":null,"html_url":"https://github.com/SignTools/ota-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignTools%2Fota-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignTools%2Fota-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignTools%2Fota-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignTools%2Fota-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SignTools","download_url":"https://codeload.github.com/SignTools/ota-proxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232005258,"owners_count":18459033,"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":[],"created_at":"2024-11-08T10:30:47.466Z","updated_at":"2024-12-31T15:49:00.384Z","avatar_url":"https://github.com/SignTools.png","language":"TypeScript","readme":"# OTA Proxy\n\nThis is a very simple project that lets you OTA install iOS apps over HTTP. It is similar to [ota-me](https://github.com/SignTools/ota-me), but this project is a dynamic page (has to be self-hosted) that allows you to install an IPA from any URL, not just localhost.\n\nIt works by offering a [Cloudflare Worker](https://workers.cloudflare.com/) API endpoint, which returns a valid HTTPS OTA manifest that installs an app from any URL you provide as a query parameter. The URL can be localhost, LAN, or public internet, and it can be HTTP. This method works because Apple enforces the manifest to be served over HTTPS, but not the apps within the manifest.\n\n## Usage\n\nDeploy this script to [Cloudflare Workers](https://workers.cloudflare.com/). Then, call it as follows:\n\n```\nhttps://YOUR.PROJECT.workers.dev/v1?ipa=http://YOUR_URL.ipa\u0026title=SOME_TITLE\u0026id=com.THE_BUNDLE_ID\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsigntools%2Fota-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsigntools%2Fota-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsigntools%2Fota-proxy/lists"}