update.sh aktualisiert

This commit is contained in:
2025-05-03 13:00:52 +02:00
parent 6471f54e7a
commit 5effa89279

View File

@@ -6,17 +6,27 @@ chmod 0600 config.yml
# Create repo icon directory if it doesn't exist
mkdir -p repo/icons
# Create a basic repo icon if missing (you can replace this with your own icon later)
# Create a basic repo icon if missing
if [ ! -f repo/icons/icon.png ]; then
echo "Creating placeholder repo icon..."
convert -size 512x512 xc:blue -fill white -gravity center -pointsize 70 -annotate 0 "F-Droid\nRepo" repo/icons/icon.png
# Try to create an icon using ImageMagick if available
if command -v convert >/dev/null 2>&1; then
convert -size 512x512 xc:blue -fill white -gravity center -pointsize 70 -annotate 0 "F-Droid\nRepo" repo/icons/icon.png
else
# Fallback to downloading a simple icon
wget -q -O repo/icons/icon.png "https://f-droid.org/assets/favicon-256.png" || echo "Could not create icon, please add one manually"
fi
fi
# Function to extract version from APK
# Function to extract version from APK (if aapt is available)
get_version() {
apk_file=$1
version=$(aapt dump badging "$apk_file" 2>/dev/null | grep versionName | awk -F"'" '{print $4}')
echo "$version"
if command -v aapt >/dev/null 2>&1; then
version=$(aapt dump badging "$apk_file" 2>/dev/null | grep versionName | awk -F"'" '{print $4}')
echo "$version"
else
echo "unknown (aapt not installed)"
fi
}
# Function to download and update only if changed
@@ -65,6 +75,18 @@ update_app() {
fi
}
# Make sure archive directory exists and check for archived APKs
mkdir -p archive/
# Check if any apps are in archive and restore them to repo
echo "Checking for archived APKs to restore..."
for app in YouTube Reddit SoundCloud Duolingo GoogleNews Instagram Twitter NovaLauncher Busuu Quizlet Telegram; do
if [ -f "archive/${app}.apk" ]; then
echo "Restoring ${app}.apk from archive to repo"
cp "archive/${app}.apk" "repo/${app}.apk"
touch -d "$(date +%Y-%m-%d)" "repo/${app}.apk"
fi
done
# Process each app
update_app "YouTube" "https://github.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/releases/download/all/youtube-revanced-extended.apk"
update_app "Reddit" "https://github.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/releases/download/all/reddit-revanced-extended.apk"
@@ -81,12 +103,37 @@ update_app "Telegram" "https://git.felo.gg/FeloStore/Data/releases/download/late
# Clean up temp directory
rm -rf ./temp
# Add flag to accept unsigned APKs in fdroid
echo "Updating F-Droid repository, accepting unsigned APKs..."
fdroid update --allow-disabled-algorithms --use-date-from-apk --clean
# Create or update fdroidserver config to accept unsigned APKs
mkdir -p ~/.config/fdroidserver/
echo "accept_bad_certificate: True" > ~/.config/fdroidserver/config.yml
echo "allow_disabled_algorithms: True" >> ~/.config/fdroidserver/config.yml
# If there are issues, try to force update
if [ $? -ne 0 ]; then
echo "First update attempt failed, trying with additional flags..."
fdroid update --create-metadata --delete-unknown --allow-disabled-algorithms --use-date-from-apk --clean
fi
# Update config to explicitly allow unsigned APKs
if [ -f config.yml ]; then
if ! grep -q "disable_apk_signing:" config.yml; then
echo "disable_apk_signing: True" >> config.yml
fi
if ! grep -q "allow_disabled_algorithms:" config.yml; then
echo "allow_disabled_algorithms: True" >> config.yml
fi
fi
# Update F-Droid repository with special flags for unsigned APKs
echo "Updating F-Droid repository with special settings for unsigned APKs..."
fdroid update --create-metadata --no-check-certificate --allow-disabled-algorithms --use-date-from-apk --delete-unsigned --disable-apk-signing
# After update, copy any moved files back from archive to repo
echo "Checking if any APKs were moved to archive..."
for app in YouTube Reddit SoundCloud Duolingo GoogleNews Instagram Twitter NovaLauncher Busuu Quizlet Telegram; do
if [ -f "archive/${app}.apk" ] && [ ! -f "repo/${app}.apk" ]; then
echo "Restoring ${app}.apk from archive to repo after update"
cp "archive/${app}.apk" "repo/${app}.apk"
touch -d "$(date +%Y-%m-%d)" "repo/${app}.apk"
fi
done
# Final update to include any restored files
echo "Running final update..."
fdroid update --no-check-certificate --allow-disabled-algorithms --use-date-from-apk --disable-apk-signing
echo "Update complete!"