Manager/CI: Add spoofed manager build (#570)
* manager: add script for randomizing pkg name
Signed-off-by: rsuntk <rsuntk@yukiprjkt.my.id>
Co-Authored-By: YC酱luyancib <luyancib@qq.com>
* manager: Update randomizer to avoid bug
Revert "manager: Update randomizer to avoid bug"
This reverts commit af9205e70a11db3e3d43bb34de880bbd6b4185b5.
manager: Update randomizer to avoid bug
* mamager: Update randomizer to fix error
fixed
> Task :app:compileReleaseAidl FAILED
ERROR: /home/runner/work/SukiSU-Ultra/SukiSU-Ultra/manager/app/src/main/aidl/org/knifhr/zako/IKsuInterface.aidl:7.1-10: IKsuInterface should be declared in a file called com/sukisu/zako/IKsuInterface.aidl
* manager:clean randomizer
* ci:add spoofed manager build with matrix
* 更新 build-manager.yml
* 更新 build-manager.yml
* fix
* Revert "更新 build-manager.yml"
This reverts commit da80e3f13a.
* ksubot: make MESSAGE_THREAD_ID optional
---------
Signed-off-by: rsuntk <rsuntk@yukiprjkt.my.id>
Co-authored-by: rifsxd <rifat.44.azad.rifs@gmail.com>
Co-authored-by: 5ec1cff <ewtqyqyewtqyqy@gmail.com>
This commit is contained in:
30
.github/workflows/build-manager.yml
vendored
30
.github/workflows/build-manager.yml
vendored
@@ -55,6 +55,9 @@ jobs:
|
|||||||
build-manager:
|
build-manager:
|
||||||
needs: build-ksud
|
needs: build-ksud
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
spoofed: ["true","false"]
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
working-directory: ./manager
|
working-directory: ./manager
|
||||||
@@ -74,6 +77,25 @@ jobs:
|
|||||||
echo "UPLOAD=false" >> $GITHUB_OUTPUT
|
echo "UPLOAD=false" >> $GITHUB_OUTPUT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
- name: Determine manager variant for telegram bot
|
||||||
|
id: determine
|
||||||
|
run: |
|
||||||
|
if [ "${{ matrix.spoofed }}" == "true" ]; then
|
||||||
|
echo "title=Spoofed-Manager" >> $GITHUB_OUTPUT
|
||||||
|
# maybe need a new var
|
||||||
|
echo "topicid=519956" >> $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo "title=Manager" >> $GITHUB_OUTPUT
|
||||||
|
echo "topicid=${{ vars.MESSAGE_THREAD_ID }}" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Run randomizer
|
||||||
|
if: ${{ matrix.spoofed == 'true' }}
|
||||||
|
run: |
|
||||||
|
chmod +x randomizer
|
||||||
|
./randomizer
|
||||||
|
|
||||||
- name: Write key
|
- name: Write key
|
||||||
if: ${{ ( github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev' )) || github.ref_type == 'tag' }}
|
if: ${{ ( github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev' )) || github.ref_type == 'tag' }}
|
||||||
run: |
|
run: |
|
||||||
@@ -148,14 +170,14 @@ jobs:
|
|||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: ${{ ( github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev' )) || github.ref_type == 'tag' }}
|
if: ${{ ( github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev' )) || github.ref_type == 'tag' }}
|
||||||
with:
|
with:
|
||||||
name: manager
|
name: ${{ steps.determine.outputs.title }}
|
||||||
path: manager/app/build/outputs/apk/release/*.apk
|
path: manager/app/build/outputs/apk/release/*.apk
|
||||||
|
|
||||||
- name: Upload mappings
|
- name: Upload mappings
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: ${{ ( github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev' )) || github.ref_type == 'tag' }}
|
if: ${{ ( github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev' )) || github.ref_type == 'tag' }}
|
||||||
with:
|
with:
|
||||||
name: "mappings"
|
name: "${{ steps.determine.outputs.title }}-mappings"
|
||||||
path: "manager/app/build/outputs/mapping/release/"
|
path: "manager/app/build/outputs/mapping/release/"
|
||||||
|
|
||||||
- name: Bot session cache
|
- name: Bot session cache
|
||||||
@@ -171,11 +193,11 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
CHAT_ID: ${{ vars.CHAT_ID }}
|
CHAT_ID: ${{ vars.CHAT_ID }}
|
||||||
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
|
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
|
||||||
MESSAGE_THREAD_ID: ${{ vars.MESSAGE_THREAD_ID }}
|
MESSAGE_THREAD_ID: ${{ steps.determine.outputs.topicid }}
|
||||||
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
|
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
|
||||||
COMMIT_URL: ${{ github.event.head_commit.url }}
|
COMMIT_URL: ${{ github.event.head_commit.url }}
|
||||||
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||||
TITLE: Manager
|
TITLE: ${{ steps.determine.outputs.title }}
|
||||||
BRANCH: ${{ github.ref_name }}
|
BRANCH: ${{ github.ref_name }}
|
||||||
run: |
|
run: |
|
||||||
if [ ! -z "${{ secrets.BOT_TOKEN }}" ]; then
|
if [ ! -z "${{ secrets.BOT_TOKEN }}" ]; then
|
||||||
|
|||||||
31
manager/randomizer
Normal file
31
manager/randomizer
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
|
# Generate 3 random lowercase words (6 letters each)
|
||||||
|
word1=$(tr -dc 'a-z' </dev/urandom | head -c6)
|
||||||
|
word2=$(tr -dc 'a-z' </dev/urandom | head -c6)
|
||||||
|
word3=$(tr -dc 'a-z' </dev/urandom | head -c6)
|
||||||
|
word4=$(tr -dc 'a-z' </dev/urandom | head -c6)
|
||||||
|
|
||||||
|
|
||||||
|
# Export variables for use in find -exec
|
||||||
|
export word1 word2 word3 word4
|
||||||
|
|
||||||
|
# Rename directories
|
||||||
|
find . -depth -type d -name 'com' -execdir mv {} "$word1" \;
|
||||||
|
find . -depth -type d -name 'sukisu' -execdir mv {} "$word2" \;
|
||||||
|
find . -depth -type d -name 'ultra' -execdir mv {} "$word3" \;
|
||||||
|
find . -depth -type d -name 'io' -execdir mv {} "$word4" \;
|
||||||
|
|
||||||
|
|
||||||
|
# Replace inside files
|
||||||
|
find . -type f -exec sed -i \
|
||||||
|
-e "s/com\.sukisu\.ultra/$word1.$word2.$word3/g" \
|
||||||
|
-e "s/io\.sukisu\.ultra/$word4.$word2.$word3/g" \
|
||||||
|
-e "s/com\.sukisu\.zako/$word1.$word2.zako/g" \
|
||||||
|
-e "s/com\/sukisu\/ultra/$word1\/$word2\/$word3/g" \
|
||||||
|
-e "s/io\/sukisu\/ultra/$word4\/$word2\/$word3/g" \
|
||||||
|
-e "s/io_sukisu_ultra/${word4}_${word2}_${word3}/g" \
|
||||||
|
-e "s/com_sukisu_ultra/${word1}_${word2}_${word3}/g" {} +
|
||||||
|
|
||||||
|
# add -spoofed on tags
|
||||||
|
sed -i -e '/fun getGitDescribe(): String {/,/^ }/ s/\.trim()$/.trim() + "-spoofed"/' build.gradle.kts
|
||||||
@@ -2,7 +2,6 @@ import asyncio
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from telethon import TelegramClient
|
from telethon import TelegramClient
|
||||||
from telethon.tl.functions.help import GetConfigRequest
|
|
||||||
|
|
||||||
API_ID = 611335
|
API_ID = 611335
|
||||||
API_HASH = "d524b414d21f4d37f08684c1df41ac9c"
|
API_HASH = "d524b414d21f4d37f08684c1df41ac9c"
|
||||||
@@ -52,7 +51,10 @@ def check_environ():
|
|||||||
print("[-] Invalid CHAT_ID")
|
print("[-] Invalid CHAT_ID")
|
||||||
exit(1)
|
exit(1)
|
||||||
else:
|
else:
|
||||||
CHAT_ID = int(CHAT_ID)
|
try:
|
||||||
|
CHAT_ID = int(CHAT_ID)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
if COMMIT_URL is None:
|
if COMMIT_URL is None:
|
||||||
print("[-] Invalid COMMIT_URL")
|
print("[-] Invalid COMMIT_URL")
|
||||||
exit(1)
|
exit(1)
|
||||||
@@ -71,11 +73,14 @@ def check_environ():
|
|||||||
if BRANCH is None:
|
if BRANCH is None:
|
||||||
print("[-] Invalid BRANCH")
|
print("[-] Invalid BRANCH")
|
||||||
exit(1)
|
exit(1)
|
||||||
if MESSAGE_THREAD_ID is None:
|
if MESSAGE_THREAD_ID is None and MESSAGE_THREAD_ID != "":
|
||||||
print("[-] Invaild MESSAGE_THREAD_ID")
|
try:
|
||||||
exit(1)
|
MESSAGE_THREAD_ID = int(MESSAGE_THREAD_ID)
|
||||||
|
except:
|
||||||
|
print("[-] Invaild MESSAGE_THREAD_ID")
|
||||||
|
exit(1)
|
||||||
else:
|
else:
|
||||||
MESSAGE_THREAD_ID = int(MESSAGE_THREAD_ID)
|
MESSAGE_THREAD_ID = None
|
||||||
|
|
||||||
|
|
||||||
async def main():
|
async def main():
|
||||||
|
|||||||
Reference in New Issue
Block a user