From e5159e0c8735fc440660c1aa5dd86b801eddeb5c Mon Sep 17 00:00:00 2001 From: zx Date: Thu, 19 Dec 2024 19:11:33 -0500 Subject: [PATCH] update: v1.0.0-beta2 added `permissions` key, added `ConvertToAll` convenience function --- .gitignore | 3 +- README.md | 54 +++++++++++++++++++++------------ cmd/.DS_Store | Bin 0 -> 6148 bytes converters.go | 15 +++++++++ example.json | 38 +++++++++++++++-------- examples/example.altstore.json | 14 ++++++++- repos/all.go | 9 ++++++ repos/altstore.go | 1 + repos/universal.go | 18 +++++++---- 9 files changed, 113 insertions(+), 39 deletions(-) create mode 100644 cmd/.DS_Store create mode 100644 repos/all.go diff --git a/.gitignore b/.gitignore index f8390f6..3ea670a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/cmd/urf/urf \ No newline at end of file +/cmd/urf/urf +/cmd/urf/urf-* \ No newline at end of file diff --git a/README.md b/README.md index c67eef5..d01431f 100644 --- a/README.md +++ b/README.md @@ -14,25 +14,39 @@ most (if not all) keys are technically optional. here's an example repo with eve ```json { - "name": "hello!", - "identifier": "fyi.zxcvbn.repo.test", - "iconURL": "https://example.com/path/to/some/icon.png", - "caption": "a *short* description of your repo!", - "description": "this can be a longer description and include stuff like your links or something, idk", - "apps": [ - { - "name": "app name", - "developerName": "zx", - "bundleID": "fyi.zxcvbn.app", - "caption": "just like the repo's caption", - "description": "just like the repo's description", - "downloadURL": "https://example.com/path/to/some/app.ipa", - "iconURL": "https://example.com/hopefully/path/to/itunes/icon.png", - "version": "1.2", - "date": "2024-12-18", - "size": 1073741824 - } - ] + "name": "hello!", + "identifier": "fyi.zxcvbn.repo.test", + "iconURL": "https://example.com/path/to/some/icon.png", + "caption": "a *short* description of your repo!", + "description": "this can be a longer description and include stuff like your links or something, idk", + "apps": [ + { + "name": "app name", + "developerName": "zx", + "bundleID": "fyi.zxcvbn.app", + "caption": "just like the repo's caption", + "description": "just like the repo's description", + "downloadURL": "https://example.com/path/to/some/app.ipa", + "iconURL": "https://example.com/hopefully/path/to/itunes/icon.png", + "version": "1.2", + "date": "2024-12-18", + "size": 1073741824 + } + ], + "permissions": { + "fyi.zxcvbn.app": { + "entitlements": [ + "aps-environment", + "com.apple.developer.associated-domains", + "keychain-access-groups", + "com.apple.security.application-groups" + ], + "privacy": { + "NSBluetoothAlwaysUsageDescription": "example", + "NSFaceIDUsageDescription": "for face id" + } + } + } } ``` @@ -46,6 +60,8 @@ you can see the output for this example in the `examples/` directory. `description` is the big text describing your repo. this is only shown in some apps so feel free to exclude it. +`permissions` translates to the `appPermissions` key in the AltStore format. this is required according to my memory and [AltStore docs](https://faq.altstore.io/developers/make-a-source#apppermissions-app-permissions-object). if you're going to upload multiple versions of an app with the same bundle id, chances are their permissions are the same too, which is why `permissions` is a map of bundle ids to permissions. + ### app `developerName` is only shown in some apps. exclude it if you want. diff --git a/cmd/.DS_Store b/cmd/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..18c8e66c6323f9692f91705ea5fce5cb5dea9676 GIT binary patch literal 6148 zcmeHK%SyvQ6rHivrW7Fyg)Rr&7OYxDaT8+w0VBFlsR^kXjG2;$S(HN7`a^z+-{ZYA z6R?=Ih`kqP&V9~g4rCsTG42-O9%D9R%z}or%=%sC7TMil*hn z-a3;>?nlWqRRvKvg_PUtC<$fh$|4CfRqN@1)wQ}4yFZ^F4u=CVIvyZ*jBP>u!eU~%xYe}G>K*M2%b8-&LSiRhyh}N7+7rv%(-Co zR+|P|JuyHGG%$esgMfzU7_2m^tphr|K4ZL%hypskB@l%{$6%!qA|PCs0_sw3o)}!0 zgI}0D$6%#Vmou(rhH=cy_2Y%B*}*SVI^&K;>WKkjV3~oIHf=or&*7J8eB>{ekVOm- z1OJQx-X42n7ZzpC)*s8mvsOU6hlYZA6)GU0FI@t_z