{"id":16107633,"url":"https://github.com/n3d1117/itms-helper","last_synced_at":"2025-03-18T08:32:21.629Z","repository":{"id":107065564,"uuid":"190633881","full_name":"n3d1117/itms-helper","owner":"n3d1117","description":"A Vapor web app to generate and serve custom .plist files for iOS OTA Distribution","archived":false,"fork":false,"pushed_at":"2020-01-14T20:49:15.000Z","size":241,"stargazers_count":16,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T08:28:54.236Z","etag":null,"topics":["distribution","ipa","ota","plist","vapor","vapor-swift"],"latest_commit_sha":null,"homepage":"https://itms-plist-helper.herokuapp.com","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/n3d1117.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":"2019-06-06T18:55:07.000Z","updated_at":"2025-01-29T00:33:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"d62baaf8-eb0b-472f-b705-7e3a08cba17e","html_url":"https://github.com/n3d1117/itms-helper","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/n3d1117%2Fitms-helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n3d1117%2Fitms-helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n3d1117%2Fitms-helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n3d1117%2Fitms-helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n3d1117","download_url":"https://codeload.github.com/n3d1117/itms-helper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910749,"owners_count":20367545,"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":["distribution","ipa","ota","plist","vapor","vapor-swift"],"created_at":"2024-10-09T19:23:58.374Z","updated_at":"2025-03-18T08:32:21.621Z","avatar_url":"https://github.com/n3d1117.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📤 ITMS Helper\n\n\u003cimg alt=\"Screenshot\" src=\"https://user-images.githubusercontent.com/11541888/59136187-44879200-8982-11e9-88a0-d1f47f358987.png\"\u003e\n\n## What's this?\nITMS Helper is a small web app powered by [Vapor 3](https://vapor.codes) that provides a free API to generate and serve custom `.plist` files, useful for \u003cb\u003eOTA\u003c/b\u003e (Over-The-Air) deployment of iOS Apps.\n\n## Why did you make this?\nThe `.plist` files used for OTA deployment \u003cb\u003emust\u003c/b\u003e be served with HTTPS protocol, and [Heroku](https://heroku.com) hosting includes it by default.\n\n## What are the requirements?\n* A \u003cb\u003edirect link\u003c/b\u003e to a `.ipa` file that is already signed for your device. The link can be HTTP, and you can even use a local server to serve the file (e.g `http://127.0.0.1:8080/file.ipa`).\n* The \u003cb\u003ebundle identifier\u003c/b\u003e of the `.ipa` file you're installing (e.g `com.apple.Maps`).\n* The \u003cb\u003ename\u003c/b\u003e and \u003cb\u003eversion\u003c/b\u003e of the app (version is optional). Can be any string.\n\n## How can I use the APIs?\n* Send a \u003cb\u003eHTTP GET\u003c/b\u003e request to `https://itms-plist-helper.herokuapp.com/request` with parameters `link` (link to the `.ipa` file), `bundle` (bundle identifier), `title` (name of the app) and `version` (bundle version, optional).\n* If all parameters are correct, the response will be a \u003cb\u003eJSON\u003c/b\u003e object containing a `uuid` field.\n* The .plist file will then be located at `https://itms-plist-helper.herokuapp.com/plists/{uuid}.plist`\nNote that all `.plist` files are kept on the server for a maximum of 24 hours.\n\n### Example request:\n`https://itms-plist-helper.herokuapp.com/request?link=http://example.com/file.ipa\u0026bundle=sample.app.bundle\u0026title=some%20title\u0026version=1.0⁣`\n\n### Example response:\n`{ \"uuid\": \"SOME_UUID\" }` in JSON format.\n\n### Further steps:\nVisit this URL from your device (copy and paste it in Safari) and you'll be prompted to install the app: \n`itms-services://?action=download-manifest\u0026url=https://itms-plist-helper.herokuapp.com/plists/{THAT_UUID}.plist⁣`\n\n## Is there a limit on API requests?\n\u003cb\u003eYes.\u003c/b\u003e This app is hosted on [Heroku](https://heroku.com/)'s free tier, so restrictions may apply.\n\n## Can I build and run this project manually?\nOf course! Make sure you have [Vapor 3](https://docs.vapor.codes/3.0/install/macos/) installed and run the following commands:\n```\n$ git clone https://github.com/n3d1117/itms-helper.git\n$ cd itms-helper/\n$ vapor update \u0026\u0026 vapor build \u0026\u0026 vapor run serve\n```\n\n## License\nSee [LICENSE](LICENSE) file for further information. Feel free to contribute in any way you want.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn3d1117%2Fitms-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn3d1117%2Fitms-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn3d1117%2Fitms-helper/lists"}