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 # Create repo icon directory if it doesn't exist
mkdir -p repo/icons 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 if [ ! -f repo/icons/icon.png ]; then
echo "Creating placeholder repo icon..." echo "Creating placeholder repo icon..."
# 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 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 fi
# Function to extract version from APK # Function to extract version from APK (if aapt is available)
get_version() { get_version() {
apk_file=$1 apk_file=$1
if command -v aapt >/dev/null 2>&1; then
version=$(aapt dump badging "$apk_file" 2>/dev/null | grep versionName | awk -F"'" '{print $4}') version=$(aapt dump badging "$apk_file" 2>/dev/null | grep versionName | awk -F"'" '{print $4}')
echo "$version" echo "$version"
else
echo "unknown (aapt not installed)"
fi
} }
# Function to download and update only if changed # Function to download and update only if changed
@@ -65,6 +75,18 @@ update_app() {
fi 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 # 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 "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" 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 # Clean up temp directory
rm -rf ./temp rm -rf ./temp
# Add flag to accept unsigned APKs in fdroid # Create or update fdroidserver config to accept unsigned APKs
echo "Updating F-Droid repository, accepting unsigned APKs..." mkdir -p ~/.config/fdroidserver/
fdroid update --allow-disabled-algorithms --use-date-from-apk --clean 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 # Update config to explicitly allow unsigned APKs
if [ $? -ne 0 ]; then if [ -f config.yml ]; then
echo "First update attempt failed, trying with additional flags..." if ! grep -q "disable_apk_signing:" config.yml; then
fdroid update --create-metadata --delete-unknown --allow-disabled-algorithms --use-date-from-apk --clean echo "disable_apk_signing: True" >> config.yml
fi 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!"