mirror of
https://github.com/ARMSX2/Armsx2-Repo.git
synced 2026-08-24 16:52:58 -07:00
initial test release
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
name: Update Source
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
include_prereleases:
|
||||
description: "Include prerelease upstream releases"
|
||||
required: false
|
||||
default: "false"
|
||||
type: choice
|
||||
options:
|
||||
- "false"
|
||||
- "true"
|
||||
schedule:
|
||||
- cron: "17 */6 * * *"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
concurrency:
|
||||
group: update-source
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
update-source:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
env:
|
||||
ARMSX2_PUBLIC_BASE_URL: https://j1coding.github.io/Armsx2-Repo
|
||||
INCLUDE_PRERELEASES: ${{ inputs.include_prereleases || 'false' }}
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.SOURCE_UPDATE_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "22"
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Sync latest upstream IPA
|
||||
id: sync
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: npm run sync:upstream
|
||||
|
||||
- name: Regenerate source files
|
||||
if: steps.sync.outputs.changed == 'true'
|
||||
run: npm run generate:source
|
||||
|
||||
- name: Validate generated source
|
||||
if: steps.sync.outputs.changed == 'true'
|
||||
run: |
|
||||
npm run check:source
|
||||
npm run validate:source
|
||||
|
||||
- name: Commit and push update
|
||||
if: steps.sync.outputs.changed == 'true'
|
||||
run: |
|
||||
if git diff --quiet --exit-code; then
|
||||
echo "No generated changes to commit."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
|
||||
git add apps.json checksums.json public/ ipas/ assets/ index.html
|
||||
git commit -m "Update ARMSX2 iOS source: ${{ steps.sync.outputs.version }}"
|
||||
git push origin HEAD:${{ github.ref_name }}
|
||||
@@ -0,0 +1,28 @@
|
||||
name: Validate
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "22"
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Check generated files
|
||||
run: npm run check:source
|
||||
|
||||
- name: Validate source schema
|
||||
run: npm run validate:source
|
||||
@@ -0,0 +1,5 @@
|
||||
node_modules/
|
||||
.vite/
|
||||
dist/
|
||||
coverage/
|
||||
npm-debug.log*
|
||||
@@ -0,0 +1,18 @@
|
||||
# ARMSX2 iOS
|
||||
|
||||
Custom source repository for the ARMSX2 iOS port. Add it to your sideloading app to install and update ARMSX2 on iOS.
|
||||
|
||||
[](livecontainer://source?url=https%3A%2F%2Fj1coding.github.io%2FArmsx2-Repo%2Fapps.json)
|
||||
[](sidestore://source?url=https%3A%2F%2Fj1coding.github.io%2FArmsx2-Repo%2Fapps.json)
|
||||
[](feather://source/https%3A%2F%2Fj1coding.github.io%2FArmsx2-Repo%2Fapps.json)
|
||||
|
||||
## Requirements
|
||||
|
||||
- A JIT-capable setup is required.
|
||||
- You must provide your own PS2 BIOS and legally dumped ISO files.
|
||||
|
||||
## Manual Source URL
|
||||
|
||||
```text
|
||||
https://j1coding.github.io/Armsx2-Repo/apps.json
|
||||
```
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"name": "ARMSX2 iOS",
|
||||
"identifier": "com.j1coding.armsx2.ios",
|
||||
"sourceURL": "https://j1coding.github.io/Armsx2-Repo/apps.json",
|
||||
"apps": [
|
||||
{
|
||||
"name": "ARMSX2 iOS",
|
||||
"bundleIdentifier": "com.armsx2.ios",
|
||||
"developerName": "ARMSX2",
|
||||
"subtitle": "PlayStation 2 emulation, built for iOS.",
|
||||
"localizedDescription": "ARMSX2 brings PlayStation 2 emulation to iOS with an ARM64-focused build, controller-friendly play, and local-network support for compatible titles.\n\nA JIT-capable setup is required. Performance and compatibility vary by device, iOS version, game, and sideloading environment. You must provide your own BIOS and game backups.",
|
||||
"iconURL": "https://j1coding.github.io/Armsx2-Repo/assets/icon.png",
|
||||
"screenshotURLs": [
|
||||
"https://j1coding.github.io/Armsx2-Repo/assets/screenshots/01-library.png",
|
||||
"https://j1coding.github.io/Armsx2-Repo/assets/screenshots/02-settings.png",
|
||||
"https://j1coding.github.io/Armsx2-Repo/assets/screenshots/03-gameplay.png"
|
||||
],
|
||||
"tintColor": "#2F6FAD",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.2.2",
|
||||
"date": "2026-06-01",
|
||||
"localizedDescription": "Updated to ARMSX2 iOS 1.2.2.\n\nUpdated ARMSX2 iOS version display to 1.2.2.\nAdded battery percentage to the performance overlay.\nAdded device heat status to the performance overlay.\nAdded app RAM usage to the performance overlay.\nAdded Low Power Mode indicator when enabled.\nAdded color warnings for heat and low battery states.\nAdded new OSD/Overlay settings page.\nAdded OSD preset controls for Off, Simple, Detail, and Full.\nAdded OSD position setting.\nImproved performance overlay readability.",
|
||||
"downloadURL": "https://j1coding.github.io/Armsx2-Repo/ipas/ARMSX2-iOSv1.2.2.ipa",
|
||||
"size": 14005979,
|
||||
"minOSVersion": "18.0"
|
||||
}
|
||||
],
|
||||
"permissions": [
|
||||
{
|
||||
"type": "network",
|
||||
"usageDescription": "ARMSX2 uses local network access for PS2 online play through DEV9 sockets."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 424 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 274 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 136 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 130 KiB |
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sourceIdentifier": "com.j1coding.armsx2.ios",
|
||||
"sourceURL": "https://j1coding.github.io/Armsx2-Repo/apps.json",
|
||||
"generatedAt": "2026-06-01T00:14:00.000Z",
|
||||
"files": [
|
||||
{
|
||||
"fileName": "ARMSX2-iOSv1.2.2.ipa",
|
||||
"bundleIdentifier": "com.armsx2.ios",
|
||||
"version": "1.2.2",
|
||||
"buildVersion": "2",
|
||||
"date": "2026-06-01",
|
||||
"downloadURL": "https://j1coding.github.io/Armsx2-Repo/ipas/ARMSX2-iOSv1.2.2.ipa",
|
||||
"size": 14005979,
|
||||
"sha256": "9bd484af8ae1289693a64d6d83a869fc5bc6acece7369a01a68f697307b2dd47"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1017
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"app": {
|
||||
"subtitle": "PlayStation 2 emulation, built for iOS.",
|
||||
"localizedDescription": "ARMSX2 brings PlayStation 2 emulation to iOS with an ARM64-focused build, controller-friendly play, and local-network support for compatible titles.\n\nA JIT-capable setup is required. Performance and compatibility vary by device, iOS version, game, and sideloading environment. You must provide your own BIOS and game backups."
|
||||
},
|
||||
"screenshots": {
|
||||
"directory": "assets/screenshots"
|
||||
},
|
||||
"releaseNotes": {
|
||||
"upstreamRepository": "ARMSX2/ARMSX2",
|
||||
"fallback": "Updated to ARMSX2 iOS {version}.\n\nIncludes the latest published iOS build, verified download metadata, and local-network permission disclosure for supported online features."
|
||||
}
|
||||
}
|
||||
Generated
+163
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"name": "armsx2-ios-source",
|
||||
"version": "2.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "armsx2-ios-source",
|
||||
"version": "2.0.0",
|
||||
"dependencies": {
|
||||
"adm-zip": "^0.5.16",
|
||||
"bplist-parser": "^0.3.2",
|
||||
"plist": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ajv": "^8.17.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22"
|
||||
}
|
||||
},
|
||||
"node_modules/@xmldom/xmldom": {
|
||||
"version": "0.9.10",
|
||||
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.10.tgz",
|
||||
"integrity": "sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=14.6"
|
||||
}
|
||||
},
|
||||
"node_modules/adm-zip": {
|
||||
"version": "0.5.17",
|
||||
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.17.tgz",
|
||||
"integrity": "sha512-+Ut8d9LLqwEvHHJl1+PIHqoyDxFgVN847JTVM3Izi3xHDWPE4UtzzXysMZQs64DMcrJfBeS/uoEP4AD3HQHnQQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv": {
|
||||
"version": "8.20.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz",
|
||||
"integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-uri": "^3.0.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/big-integer": {
|
||||
"version": "1.6.52",
|
||||
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
|
||||
"integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==",
|
||||
"license": "Unlicense",
|
||||
"engines": {
|
||||
"node": ">=0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/bplist-parser": {
|
||||
"version": "0.3.2",
|
||||
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz",
|
||||
"integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"big-integer": "1.6.x"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 5.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/fast-uri": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz",
|
||||
"integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/fastify"
|
||||
},
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/fastify"
|
||||
}
|
||||
],
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/json-schema-traverse": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/plist": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/plist/-/plist-3.1.1.tgz",
|
||||
"integrity": "sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@xmldom/xmldom": "^0.9.10",
|
||||
"base64-js": "^1.5.1",
|
||||
"xmlbuilder": "^15.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/require-from-string": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
|
||||
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/xmlbuilder": {
|
||||
"version": "15.1.1",
|
||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
|
||||
"integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "armsx2-ios-source",
|
||||
"version": "2.0.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"description": "ARMSX2 iOS source generator for LiveContainer, SideStore, and Feather.",
|
||||
"engines": {
|
||||
"node": ">=22"
|
||||
},
|
||||
"scripts": {
|
||||
"generate:source": "node scripts/generate-source.js",
|
||||
"check:source": "node scripts/generate-source.js --check",
|
||||
"sync:upstream": "node scripts/sync-upstream-ipa.js",
|
||||
"validate:source": "node scripts/validate-source.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"adm-zip": "^0.5.16",
|
||||
"bplist-parser": "^0.3.2",
|
||||
"plist": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ajv": "^8.17.1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"name": "ARMSX2 iOS",
|
||||
"identifier": "com.j1coding.armsx2.ios",
|
||||
"sourceURL": "https://j1coding.github.io/Armsx2-Repo/apps.json",
|
||||
"apps": [
|
||||
{
|
||||
"name": "ARMSX2 iOS",
|
||||
"bundleIdentifier": "com.armsx2.ios",
|
||||
"developerName": "ARMSX2",
|
||||
"subtitle": "PlayStation 2 emulation, built for iOS.",
|
||||
"localizedDescription": "ARMSX2 brings PlayStation 2 emulation to iOS with an ARM64-focused build, controller-friendly play, and local-network support for compatible titles.\n\nA JIT-capable setup is required. Performance and compatibility vary by device, iOS version, game, and sideloading environment. You must provide your own BIOS and game backups.",
|
||||
"iconURL": "https://j1coding.github.io/Armsx2-Repo/assets/icon.png",
|
||||
"screenshotURLs": [
|
||||
"https://j1coding.github.io/Armsx2-Repo/assets/screenshots/01-library.png",
|
||||
"https://j1coding.github.io/Armsx2-Repo/assets/screenshots/02-settings.png",
|
||||
"https://j1coding.github.io/Armsx2-Repo/assets/screenshots/03-gameplay.png"
|
||||
],
|
||||
"tintColor": "#2F6FAD",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.2.2",
|
||||
"date": "2026-06-01",
|
||||
"localizedDescription": "Updated to ARMSX2 iOS 1.2.2.\n\nUpdated ARMSX2 iOS version display to 1.2.2.\nAdded battery percentage to the performance overlay.\nAdded device heat status to the performance overlay.\nAdded app RAM usage to the performance overlay.\nAdded Low Power Mode indicator when enabled.\nAdded color warnings for heat and low battery states.\nAdded new OSD/Overlay settings page.\nAdded OSD preset controls for Off, Simple, Detail, and Full.\nAdded OSD position setting.\nImproved performance overlay readability.",
|
||||
"downloadURL": "https://j1coding.github.io/Armsx2-Repo/ipas/ARMSX2-iOSv1.2.2.ipa",
|
||||
"size": 14005979,
|
||||
"minOSVersion": "18.0"
|
||||
}
|
||||
],
|
||||
"permissions": [
|
||||
{
|
||||
"type": "network",
|
||||
"usageDescription": "ARMSX2 uses local network access for PS2 online play through DEV9 sockets."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 424 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 274 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user