init commit
This commit is contained in:
110
nextcloud-emulator-sync.sh
Normal file
110
nextcloud-emulator-sync.sh
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
###################
|
||||||
|
#
|
||||||
|
# Folders locations
|
||||||
|
#
|
||||||
|
###################
|
||||||
|
|
||||||
|
EMU_FOLDERS='
|
||||||
|
"Ares"
|
||||||
|
"BigPEMu"
|
||||||
|
"BlastMm"
|
||||||
|
"bnes"
|
||||||
|
"Cemu"
|
||||||
|
"Citra"
|
||||||
|
"Desmume"
|
||||||
|
"Dolphin"
|
||||||
|
"DuckStation"
|
||||||
|
"Flycast"
|
||||||
|
"Genesis Plus GX"
|
||||||
|
"gopher64"
|
||||||
|
"Mame"
|
||||||
|
"mednafen"
|
||||||
|
"MelonDS"
|
||||||
|
"Mesen"
|
||||||
|
"Mesen"
|
||||||
|
"mGBA"
|
||||||
|
"Opera"
|
||||||
|
"PCSX2"
|
||||||
|
"PicoDrive"
|
||||||
|
"PPSSPP"
|
||||||
|
"PuNES"
|
||||||
|
"RetroArch"
|
||||||
|
"RPCS3"
|
||||||
|
"Ryujinx"
|
||||||
|
"SameBoy"
|
||||||
|
"ShadPS4"
|
||||||
|
"Simple64"
|
||||||
|
"Snes9x"
|
||||||
|
"stela"
|
||||||
|
"Vita3k"
|
||||||
|
"xemu"
|
||||||
|
"Xenia"
|
||||||
|
"Yuzu"
|
||||||
|
'
|
||||||
|
###################
|
||||||
|
#
|
||||||
|
# Nextcloud create folder script
|
||||||
|
#
|
||||||
|
###################
|
||||||
|
|
||||||
|
# Prompt user for inputs
|
||||||
|
read -p "Enter your Nextcloud server URL (e.g., https://cloud.example.com): " SERVER
|
||||||
|
read -p "Enter your Nextcloud username: " USERNAME
|
||||||
|
read -p "Enter your Nextcloud password (or app password): " PASSWORD
|
||||||
|
|
||||||
|
# Check if the URL starts with "http://" or "https://"
|
||||||
|
case "$SERVER" in
|
||||||
|
http://*|https://*) ;;
|
||||||
|
*) SERVER="https://$SERVER" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "Using Nextcloud server: $SERVER"
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# If we create it all inside it's own folder or root
|
||||||
|
read -p "Enter the folder path where files should be created (default is root '/'): " FOLDER_PATH
|
||||||
|
# Set root if user skips it
|
||||||
|
if [ -z "$FOLDER_PATH" ]; then
|
||||||
|
FOLDER_PATH="/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Files will be created in: $FOLDER_PATH"
|
||||||
|
sleep 1
|
||||||
|
echo "Starting folder creation process with $SERVER..."
|
||||||
|
# Loop over each folder and create it
|
||||||
|
|
||||||
|
echo "Creating root folder"
|
||||||
|
echo "$USERNAME:$PASSWORD" -X MKCOL "$SERVER/remote.php/dav/files/$USERNAME$FOLDER_PATH"
|
||||||
|
#curl -u $USERNAME:$PASSWORD -X MKCOL "https://$SERVER/remote.php/dav/files/$USERNAME$MEDNAFEN_CLOUD" || echo "Folder already exists or could not be created."
|
||||||
|
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -u "$USERNAME:$PASSWORD" -X MKCOL "$SERVER/remote.php/dav/files/$USERNAME/$FOLDER_PATH")
|
||||||
|
|
||||||
|
if [ "$HTTP_CODE" = "201" ]; then
|
||||||
|
echo "✅ Created: $FULL_PATH"
|
||||||
|
elif [ "$HTTP_CODE" = "405" ]; then
|
||||||
|
echo "⚠️ Already exists: $FULL_PATH"
|
||||||
|
else
|
||||||
|
echo "❌ Error ($HTTP_CODE): Could not create $FULL_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for RELATIVE_PATH in $EMU_FOLDERS; do
|
||||||
|
# Remove quotes (optional if you don't use them in curl)
|
||||||
|
RELATIVE_PATH=$(echo "$RELATIVE_PATH" | sed 's/^"//' | sed 's/"$//')
|
||||||
|
|
||||||
|
FULL_PATH="${FOLDER_PATH%/}/${RELATIVE_PATH%/}"
|
||||||
|
echo "Creating: $FULL_PATH"
|
||||||
|
|
||||||
|
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -u "$USERNAME:$PASSWORD" -X MKCOL "$SERVER/remote.php/dav/files/$USERNAME/$FULL_PATH")
|
||||||
|
|
||||||
|
if [ "$HTTP_CODE" = "201" ]; then
|
||||||
|
echo "✅ Created: $FULL_PATH"
|
||||||
|
elif [ "$HTTP_CODE" = "405" ]; then
|
||||||
|
echo "⚠️ Already exists: $FULL_PATH"
|
||||||
|
else
|
||||||
|
echo "❌ Error ($HTTP_CODE): Could not create $FULL_PATH"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user