mirror of
https://github.com/arichornlover/uYouEnhanced.git
synced 2026-05-23 11:42:16 +00:00
Merge 6f1803b776 into c8d21c0d53
This commit is contained in:
commit
dd6ebe34e5
4 changed files with 698 additions and 27 deletions
342
.github/workflows/buildapptest.yml
vendored
Normal file
342
.github/workflows/buildapptest.yml
vendored
Normal file
|
|
@ -0,0 +1,342 @@
|
|||
name: Build and Release uYouEnhanced
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
sdk_version:
|
||||
description: "iOS SDK Version"
|
||||
default: "17.5"
|
||||
required: true
|
||||
type: string
|
||||
uyou_version:
|
||||
description: "uYou Version"
|
||||
default: "3.0.4"
|
||||
required: true
|
||||
type: string
|
||||
decrypted_youtube_url:
|
||||
description: "Direct URL of the decrypted YouTube IPA"
|
||||
default: ""
|
||||
required: true
|
||||
type: string
|
||||
bundle_id:
|
||||
description: "Modify the bundle ID"
|
||||
default: "com.google.ios.youtube"
|
||||
required: true
|
||||
type: string
|
||||
app_name:
|
||||
description: "Modify the app name"
|
||||
default: "YouTube"
|
||||
required: true
|
||||
type: string
|
||||
commit_id:
|
||||
description: "(Optional) Commit ID to build at"
|
||||
default: ""
|
||||
required: false
|
||||
type: string
|
||||
upload_artifact:
|
||||
description: "Upload IPA as artifact"
|
||||
default: false
|
||||
required: false
|
||||
type: boolean
|
||||
create_release:
|
||||
description: "Create a draft release"
|
||||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build uYouEnhanced
|
||||
runs-on: macos-14
|
||||
permissions:
|
||||
contents: write
|
||||
env:
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||
|
||||
steps:
|
||||
- name: Checkout Main
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
path: main
|
||||
ref: ${{ github.event.inputs.commit_id || github.ref }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Dependencies
|
||||
run: brew install ldid dpkg make
|
||||
|
||||
- name: Set PATH environment variable
|
||||
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
|
||||
|
||||
- name: Setup Theos
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: theos/theos
|
||||
ref: master
|
||||
path: theos
|
||||
submodules: recursive
|
||||
|
||||
- name: SDK Caching
|
||||
id: SDK
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: iOS-${{ inputs.sdk_version }}-SDK
|
||||
with:
|
||||
path: theos/sdks/
|
||||
key: ${{ env.cache-name }}
|
||||
restore-keys: ${{ env.cache-name }}
|
||||
|
||||
- name: Download iOS SDK
|
||||
if: steps.SDK.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/aricloverALT/sdks/
|
||||
cd sdks
|
||||
git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk
|
||||
git checkout
|
||||
mv *.sdk $THEOS/sdks
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Setup Theos Jailed
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: qnblackcat/theos-jailed
|
||||
ref: master
|
||||
path: theos-jailed
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Theos Jailed
|
||||
run: ./theos-jailed/install
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Hash YT ipa url
|
||||
run: |
|
||||
URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)"
|
||||
echo ::add-mask::$URL_YT
|
||||
echo URL_YT=$URL_YT >> $GITHUB_ENV
|
||||
|
||||
name: Build and Release uYouEnhanced
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
sdk_version:
|
||||
description: "iOS SDK Version"
|
||||
default: "17.5"
|
||||
required: true
|
||||
type: string
|
||||
uyou_version:
|
||||
description: "uYou Version"
|
||||
default: "3.0.4"
|
||||
required: true
|
||||
type: string
|
||||
decrypted_youtube_url:
|
||||
description: "Direct URL of the decrypted YouTube IPA"
|
||||
default: ""
|
||||
required: true
|
||||
type: string
|
||||
bundle_id:
|
||||
description: "Modify the bundle ID"
|
||||
default: "com.google.ios.youtube"
|
||||
required: true
|
||||
type: string
|
||||
app_name:
|
||||
description: "Modify the app name"
|
||||
default: "YouTube"
|
||||
required: true
|
||||
type: string
|
||||
commit_id:
|
||||
description: "(Optional) Commit ID to build at"
|
||||
default: ""
|
||||
required: false
|
||||
type: string
|
||||
upload_artifact:
|
||||
description: "Upload IPA as artifact"
|
||||
default: false
|
||||
required: false
|
||||
type: boolean
|
||||
create_release:
|
||||
description: "Create a draft release"
|
||||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build uYouEnhanced
|
||||
runs-on: macos-14
|
||||
permissions:
|
||||
contents: write
|
||||
env:
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||
|
||||
steps:
|
||||
- name: Checkout Main
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
path: main
|
||||
ref: ${{ github.event.inputs.commit_id || github.ref }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Dependencies
|
||||
run: brew install ldid dpkg make
|
||||
|
||||
- name: Set PATH environment variable
|
||||
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
|
||||
|
||||
- name: Setup Theos
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: theos/theos
|
||||
ref: master
|
||||
path: theos
|
||||
submodules: recursive
|
||||
|
||||
- name: SDK Caching
|
||||
id: SDK
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: iOS-${{ inputs.sdk_version }}-SDK
|
||||
with:
|
||||
path: theos/sdks/
|
||||
key: ${{ env.cache-name }}
|
||||
restore-keys: ${{ env.cache-name }}
|
||||
|
||||
- name: Download iOS SDK
|
||||
if: steps.SDK.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/aricloverALT/sdks/
|
||||
cd sdks
|
||||
git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk
|
||||
git checkout
|
||||
mv *.sdk $THEOS/sdks
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Setup Theos Jailed
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: qnblackcat/theos-jailed
|
||||
ref: master
|
||||
path: theos-jailed
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Theos Jailed
|
||||
run: ./theos-jailed/install
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Hash YT ipa url
|
||||
run: |
|
||||
URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)"
|
||||
echo ::add-mask::$URL_YT
|
||||
echo URL_YT=$URL_YT >> $GITHUB_ENV
|
||||
|
||||
- name: Debug URL
|
||||
run: echo "URL is: $URL_YT"
|
||||
|
||||
- name: Prepare YouTube iPA
|
||||
id: prepare_youtube
|
||||
run: |
|
||||
wget "$URL_YT" --quiet --no-verbose -O main/YouTube.ipa
|
||||
cd ${{ github.workspace }}/main
|
||||
mv YouTube.ipa YouTube.zip
|
||||
unzip -q YouTube.zip
|
||||
youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion)
|
||||
echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
YOUTUBE_URL: ${{ env.URL_YT }}
|
||||
|
||||
- name: Fix compiling & Build Package
|
||||
id: build_package
|
||||
run: |
|
||||
cd ${{ github.workspace }}/main
|
||||
sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
|
||||
sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
|
||||
sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile
|
||||
make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1
|
||||
echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
BUNDLE_ID: ${{ inputs.bundle_id }}
|
||||
APP_NAME: ${{ inputs.app_name }}
|
||||
|
||||
- name: Upload Artifact
|
||||
if: ${{ inputs.upload_artifact }}
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: uYouEnhanced
|
||||
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Create Release
|
||||
if: ${{ inputs.create_release }}
|
||||
uses: softprops/action-gh-release@v2
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }}
|
||||
name: uYouEnhanced Release
|
||||
files: main/packages/*.ipa
|
||||
draft: true
|
||||
name: Debug URL
|
||||
run: echo "URL is: $URL_YT"
|
||||
|
||||
- name: Prepare YouTube iPA
|
||||
id: prepare_youtube
|
||||
run: |
|
||||
|
||||
wget "$URL_YT" --quiet --no-verbose -O main/YouTube.ipa
|
||||
cd ${{ github.workspace }}/main
|
||||
mv YouTube.ipa YouTube.zip
|
||||
unzip -q YouTube.zip
|
||||
youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion)
|
||||
echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
YOUTUBE_URL: ${{ env.URL_YT }}
|
||||
|
||||
- name: Fix compiling & Build Package
|
||||
id: build_package
|
||||
run: |
|
||||
cd ${{ github.workspace }}/main
|
||||
sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
|
||||
sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
|
||||
sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile
|
||||
make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1
|
||||
echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
BUNDLE_ID: ${{ inputs.bundle_id }}
|
||||
APP_NAME: ${{ inputs.app_name }}
|
||||
|
||||
- name: Upload Artifact
|
||||
if: ${{ inputs.upload_artifact }}
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: uYouEnhanced
|
||||
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Create Release
|
||||
if: ${{ inputs.create_release }}
|
||||
uses: softprops/action-gh-release@v2
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }}
|
||||
name: uYouEnhanced Release
|
||||
files: main/packages/*.ipa
|
||||
draft: true
|
||||
|
||||
170
.github/workflows/main.yml
vendored
Normal file
170
.github/workflows/main.yml
vendored
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
name: Build and Release uYouEnhanced
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
sdk_version:
|
||||
description: "iOS SDK Version"
|
||||
default: "17.5"
|
||||
required: true
|
||||
type: string
|
||||
uyou_version:
|
||||
description: "uYou Version"
|
||||
default: "3.0.4"
|
||||
required: true
|
||||
type: string
|
||||
decrypted_youtube_url:
|
||||
description: "Direct URL of the decrypted YouTube IPA"
|
||||
default: ""
|
||||
required: true
|
||||
type: string
|
||||
bundle_id:
|
||||
description: "Modify the bundle ID"
|
||||
default: "com.google.ios.youtube"
|
||||
required: true
|
||||
type: string
|
||||
app_name:
|
||||
description: "Modify the app name"
|
||||
default: "YouTube"
|
||||
required: true
|
||||
type: string
|
||||
commit_id:
|
||||
description: "(Optional) Commit ID to build at"
|
||||
default: ""
|
||||
required: false
|
||||
type: string
|
||||
upload_artifact:
|
||||
description: "Upload IPA as artifact"
|
||||
default: false
|
||||
required: false
|
||||
type: boolean
|
||||
create_release:
|
||||
description: "Create a draft release"
|
||||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build uYouEnhanced
|
||||
runs-on: macos-14
|
||||
permissions:
|
||||
contents: write
|
||||
env:
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true # ← 未来対応
|
||||
|
||||
steps:
|
||||
- name: Checkout Main
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
path: main
|
||||
ref: ${{ github.event.inputs.commit_id || github.ref }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Dependencies
|
||||
run: brew install ldid dpkg make
|
||||
|
||||
- name: Set PATH environment variable
|
||||
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 24
|
||||
- name: Setup Theos
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: theos/theos
|
||||
ref: master
|
||||
path: theos
|
||||
submodules: recursive
|
||||
|
||||
- name: SDK Caching
|
||||
id: SDK
|
||||
uses: actions/cache@v4 # ← 修正済み
|
||||
env:
|
||||
cache-name: iOS-${{ inputs.sdk_version }}-SDK
|
||||
with:
|
||||
path: theos/sdks/
|
||||
key: ${{ env.cache-name }}
|
||||
restore-keys: ${{ env.cache-name }}
|
||||
|
||||
- name: Download iOS SDK
|
||||
if: steps.SDK.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/aricloverALT/sdks/
|
||||
cd sdks
|
||||
git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk
|
||||
git checkout
|
||||
mv *.sdk $THEOS/sdks
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Setup Theos Jailed
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: qnblackcat/theos-jailed
|
||||
ref: master
|
||||
path: theos-jailed
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Theos Jailed
|
||||
run: ./theos-jailed/install
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Hash YT ipa url
|
||||
run: |
|
||||
URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)"
|
||||
echo ::add-mask::$URL_YT
|
||||
echo URL_YT=$URL_YT >> $GITHUB_ENV
|
||||
- name: Prepare YouTube iPA
|
||||
id: prepare_youtube
|
||||
run: |
|
||||
wget "$YOUTUBE_URL" --quiet --no-verbose -O main/YouTube.ipa
|
||||
cd ${{ github.workspace }}/main
|
||||
mv YouTube.ipa YouTube.zip
|
||||
unzip -q YouTube.zip
|
||||
youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion)
|
||||
echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
YOUTUBE_URL: ${{ env.URL_YT }}
|
||||
|
||||
- name: Fix compiling & Build Package
|
||||
id: build_package
|
||||
run: |
|
||||
cd ${{ github.workspace }}/main
|
||||
sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
|
||||
sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
|
||||
sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile
|
||||
make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1
|
||||
echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
BUNDLE_ID: ${{ inputs.bundle_id }}
|
||||
APP_NAME: ${{ inputs.app_name }}
|
||||
|
||||
- name: Upload Artifact
|
||||
if: ${{ inputs.upload_artifact }}
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: uYouEnhanced
|
||||
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Create Release
|
||||
if: ${{ inputs.create_release }}
|
||||
uses: softprops/action-gh-release@v2 # ← 修正済み
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }}
|
||||
name: uYouEnhanced Release
|
||||
files: main/packages/*.ipa
|
||||
draft: true
|
||||
|
|
@ -1,6 +1,3 @@
|
|||
# Original idea by @ISnackable. Thanks to him for handling the hardest parts!
|
||||
# https://github.com/ISnackable/YTCubePlus/blob/main/.github/workflows/Build.yml
|
||||
|
||||
name: Build and Release uYouEnhanced
|
||||
|
||||
on:
|
||||
|
|
@ -46,7 +43,7 @@ on:
|
|||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
|
@ -57,6 +54,8 @@ jobs:
|
|||
runs-on: macos-14
|
||||
permissions:
|
||||
contents: write
|
||||
env:
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true # ← 未来対応
|
||||
|
||||
steps:
|
||||
- name: Checkout Main
|
||||
|
|
@ -72,6 +71,10 @@ jobs:
|
|||
- name: Set PATH environment variable
|
||||
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 24
|
||||
- name: Setup Theos
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
|
|
@ -82,7 +85,7 @@ jobs:
|
|||
|
||||
- name: SDK Caching
|
||||
id: SDK
|
||||
uses: actions/cache@v4.3.0
|
||||
uses: actions/cache@v4 # ← 修正済み
|
||||
env:
|
||||
cache-name: iOS-${{ inputs.sdk_version }}-SDK
|
||||
with:
|
||||
|
|
@ -110,8 +113,7 @@ jobs:
|
|||
submodules: recursive
|
||||
|
||||
- name: Install Theos Jailed
|
||||
run: |
|
||||
./theos-jailed/install
|
||||
run: ./theos-jailed/install
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
|
|
@ -120,7 +122,6 @@ jobs:
|
|||
URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)"
|
||||
echo ::add-mask::$URL_YT
|
||||
echo URL_YT=$URL_YT >> $GITHUB_ENV
|
||||
|
||||
- name: Prepare YouTube iPA
|
||||
id: prepare_youtube
|
||||
run: |
|
||||
|
|
@ -129,10 +130,7 @@ jobs:
|
|||
mv YouTube.ipa YouTube.zip
|
||||
unzip -q YouTube.zip
|
||||
youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion)
|
||||
echo "==> YouTube v$youtube_version downloaded!"
|
||||
sed -i '' "17s#.*#YOUTUBE_VERSION = ${youtube_version}#g" Makefile
|
||||
echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT
|
||||
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
YOUTUBE_URL: ${{ env.URL_YT }}
|
||||
|
|
@ -141,14 +139,11 @@ jobs:
|
|||
id: build_package
|
||||
run: |
|
||||
cd ${{ github.workspace }}/main
|
||||
sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile # Modify the bundle ID
|
||||
sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile # Modify the app name
|
||||
sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile # Modify the SDK version
|
||||
sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
|
||||
sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
|
||||
sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile
|
||||
make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1
|
||||
echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT
|
||||
echo -e "==> \033[1mSHASUM256: $(shasum -a 256 packages/*.ipa | cut -f1 -d' ')\033[0m"
|
||||
echo -e "==> \033[1mBundle ID: ${{ env.BUNDLE_ID }}\033[0m"
|
||||
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
|
|
@ -158,24 +153,18 @@ jobs:
|
|||
- name: Upload Artifact
|
||||
if: ${{ inputs.upload_artifact }}
|
||||
uses: actions/upload-artifact@v5
|
||||
env:
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }}
|
||||
with:
|
||||
name: uYouEnhanced_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}
|
||||
name: uYouEnhanced
|
||||
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Create Release
|
||||
if: ${{ inputs.create_release }}
|
||||
id: create_release
|
||||
uses: softprops/action-gh-release@v2.5.0
|
||||
uses: softprops/action-gh-release@v2 # ← 修正済み
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }}
|
||||
with:
|
||||
tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }})
|
||||
name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }})
|
||||
tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }}
|
||||
name: uYouEnhanced Release
|
||||
files: main/packages/*.ipa
|
||||
draft: true
|
||||
170
.github/workflows/mainnew2.yml
vendored
Normal file
170
.github/workflows/mainnew2.yml
vendored
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
name: Build and Release uYouEnhanced
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
sdk_version:
|
||||
description: "iOS SDK Version"
|
||||
default: "17.5"
|
||||
required: true
|
||||
type: string
|
||||
uyou_version:
|
||||
description: "uYou Version"
|
||||
default: "3.0.4"
|
||||
required: true
|
||||
type: string
|
||||
decrypted_youtube_url:
|
||||
description: "Direct URL of the decrypted YouTube IPA"
|
||||
default: ""
|
||||
required: true
|
||||
type: string
|
||||
bundle_id:
|
||||
description: "Modify the bundle ID"
|
||||
default: "com.google.ios.youtube"
|
||||
required: true
|
||||
type: string
|
||||
app_name:
|
||||
description: "Modify the app name"
|
||||
default: "YouTube"
|
||||
required: true
|
||||
type: string
|
||||
commit_id:
|
||||
description: "(Optional) Commit ID to build at"
|
||||
default: ""
|
||||
required: false
|
||||
type: string
|
||||
upload_artifact:
|
||||
description: "Upload IPA as artifact"
|
||||
default: false
|
||||
required: false
|
||||
type: boolean
|
||||
create_release:
|
||||
description: "Create a draft release"
|
||||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build uYouEnhanced
|
||||
runs-on: macos-14
|
||||
permissions:
|
||||
contents: write
|
||||
env:
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true # ← 未来対応
|
||||
|
||||
steps:
|
||||
- name: Checkout Main
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
path: main
|
||||
ref: ${{ github.event.inputs.commit_id || github.ref }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Dependencies
|
||||
run: brew install ldid dpkg make
|
||||
|
||||
- name: Set PATH environment variable
|
||||
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 24
|
||||
- name: Setup Theos
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: theos/theos
|
||||
ref: master
|
||||
path: theos
|
||||
submodules: recursive
|
||||
|
||||
- name: SDK Caching
|
||||
id: SDK
|
||||
uses: actions/cache@v4 # ← 修正済み
|
||||
env:
|
||||
cache-name: iOS-${{ inputs.sdk_version }}-SDK
|
||||
with:
|
||||
path: theos/sdks/
|
||||
key: ${{ env.cache-name }}
|
||||
restore-keys: ${{ env.cache-name }}
|
||||
|
||||
- name: Download iOS SDK
|
||||
if: steps.SDK.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/aricloverALT/sdks/
|
||||
cd sdks
|
||||
git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk
|
||||
git checkout
|
||||
mv *.sdk $THEOS/sdks
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Setup Theos Jailed
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: qnblackcat/theos-jailed
|
||||
ref: master
|
||||
path: theos-jailed
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Theos Jailed
|
||||
run: ./theos-jailed/install
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Hash YT ipa url
|
||||
run: |
|
||||
URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)"
|
||||
echo ::add-mask::$URL_YT
|
||||
echo URL_YT=$URL_YT >> $GITHUB_ENV
|
||||
- name: Prepare YouTube iPA
|
||||
id: prepare_youtube
|
||||
run: |
|
||||
wget "$YOUTUBE_URL" --quiet --no-verbose -O main/YouTube.ipa
|
||||
cd ${{ github.workspace }}/main
|
||||
mv YouTube.ipa YouTube.zip
|
||||
unzip -q YouTube.zip
|
||||
youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion)
|
||||
echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
YOUTUBE_URL: ${{ env.URL_YT }}
|
||||
|
||||
- name: Fix compiling & Build Package
|
||||
id: build_package
|
||||
run: |
|
||||
cd ${{ github.workspace }}/main
|
||||
sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
|
||||
sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
|
||||
sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile
|
||||
make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1
|
||||
echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
BUNDLE_ID: ${{ inputs.bundle_id }}
|
||||
APP_NAME: ${{ inputs.app_name }}
|
||||
|
||||
- name: Upload Artifact
|
||||
if: ${{ inputs.upload_artifact }}
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: uYouEnhanced
|
||||
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Create Release
|
||||
if: ${{ inputs.create_release }}
|
||||
uses: softprops/action-gh-release@v2 # ← 修正済み
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }}
|
||||
name: uYouEnhanced Release
|
||||
files: main/packages/*.ipa
|
||||
draft: true
|
||||
Loading…
Reference in a new issue