Skip to content

Commit 7562025

Browse files
committed
will it work
1 parent d5e192d commit 7562025

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
name: Create IPA Packages
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
ipa_url:
7+
description: "URL to the decrypted IPA file"
8+
default: ""
9+
required: true
10+
type: string
11+
tweak_url:
12+
description: "URL to the EeveeSpotify tweak file"
13+
default: ""
14+
required: true
15+
type: string
16+
17+
env:
18+
SWIFTPROTOBUF_VERSION: "1.29.0"
19+
20+
jobs:
21+
build:
22+
runs-on: macos-latest
23+
env:
24+
THEOS: ${{ github.workspace }}/theos
25+
26+
steps:
27+
- uses: actions/checkout@v4
28+
29+
- uses: maxim-lobanov/setup-xcode@v1
30+
with:
31+
xcode-version: '16.2.0'
32+
33+
- name: Hide Sensitive Inputs
34+
uses: levibostian/action-hide-sensitive-inputs@v1
35+
36+
- name: Download and Validate IPA
37+
run: |
38+
wget "${{ inputs.ipa_url }}" --no-verbose -O ${{ github.workspace }}/spotify.ipa
39+
file_type=$(file --mime-type -b ${{ github.workspace }}/spotify.ipa)
40+
if [[ "$file_type" != "application/x-ios-app" && "$file_type" != "application/zip" ]]; then
41+
echo "::error::Validation failed: The downloaded file is not a valid IPA. Detected type: $file_type."
42+
exit 1
43+
fi
44+
45+
- name: Download and Validate Tweak
46+
run: |
47+
wget "${{ inputs.tweak_url }}" --no-verbose -O ${{ github.workspace }}/eeveespotify.deb
48+
file_type=$(file --mime-type -b ${{ github.workspace }}/eeveespotify.deb)
49+
if [[ "$file_type" != "application/vnd.debian.binary-package" ]]; then
50+
echo "::error::Validation failed: The file is not a valid DEB file. Detected type: $file_type."
51+
exit 1
52+
fi
53+
54+
- name: Download SwiftProtobuf
55+
run: |
56+
wget https://github.com/whoeevee/swift-protobuf/releases/download/${{ env.SWIFTPROTOBUF_VERSION }}/org.swift.protobuf.swiftprotobuf_${{ env.SWIFTPROTOBUF_VERSION }}_iphoneos-arm.deb
57+
wget https://github.com/whoeevee/swift-protobuf/releases/download/${{ env.SWIFTPROTOBUF_VERSION }}/org.swift.protobuf.swiftprotobuf_${{ env.SWIFTPROTOBUF_VERSION }}_iphoneos-arm64.deb
58+
59+
echo "SWIFTPROTOBUF_ROOTFUL=org.swift.protobuf.swiftprotobuf_${{ env.SWIFTPROTOBUF_VERSION }}_iphoneos-arm.deb" >> $GITHUB_ENV
60+
echo "SWIFTPROTOBUF_ROOTLESS=org.swift.protobuf.swiftprotobuf_${{ env.SWIFTPROTOBUF_VERSION }}_iphoneos-arm64.deb" >> $GITHUB_ENV
61+
62+
- name: Download OpenSpotifySafariExtension
63+
run: |
64+
git clone https://github.com/BillyCurtis/OpenSpotifySafariExtension
65+
echo "OPENSPOTIFYSAFARIEXTENSION=OpenSpotifySafariExtension/OpenSpotifySafariExtension.appex" >> $GITHUB_ENV
66+
67+
- name: Setup insert-dylib
68+
run: |
69+
git clone https://github.com/Tyilo/insert_dylib.git
70+
xcrun clang -x c -arch arm64 ./insert_dylib/insert_dylib/main.c -I/usr/include/ -o insert-dylib
71+
sudo mv insert-dylib /usr/local/bin/
72+
sudo chmod +x /usr/local/bin/insert-dylib
73+
74+
- name: Setup ivinject
75+
run: |
76+
git clone https://github.com/whoeevee/ivinject.git
77+
cp -r ./ivinject/KnownFrameworks ~/.ivinject
78+
wget https://github.com/whoeevee/ivinject/releases/download/first/ivinject-arm64
79+
sudo mv ivinject-arm64 /usr/local/bin/
80+
sudo chmod +x /usr/local/bin/ivinject-arm64
81+
82+
- name: Setup ipapatch
83+
run: |
84+
wget https://github.com/asdfzxcvbn/ipapatch/releases/download/v2.1.0/ipapatch.macos-arm64
85+
sudo mv ipapatch.macos-arm64 /usr/local/bin/ipapatch
86+
sudo chmod +x /usr/local/bin/ipapatch
87+
88+
- name: Create EeveeSpotify Package
89+
run: |
90+
ivinject-arm64 eeveespotify.ipa EeveeSpotify.ipa \
91+
-i eeveespotify.deb "$SWIFTPROTOBUF_ROOTFUL" "$OPENSPOTIFYSAFARIEXTENSION" \
92+
-s - -d --level Optimal
93+
94+
- name: Create Patched Package
95+
run: ipapatch -input EeveeSpotify.ipa -output EeveeSpotify-patched.ipa
96+
97+
- name: Upload to GitHub Releases
98+
uses: softprops/[email protected]
99+
with:
100+
tag_name: eevee-${{ github.run_number }}
101+
name: EeveeSpotify (${{ github.run_number }})
102+
files: EeveeSpotify.ipa EeveeSpotify-patched.ipa
103+
draft: true
104+
105+
- name: Output Release URL
106+
run: |
107+
echo "::notice::Release available at: https://github.com/${{ github.repository }}/releases"

0 commit comments

Comments
 (0)