Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- # updateTitleXbox.sh
- #
- # by Molukki on 12 Jan 2012, 18 Jan 2012
- # changed by pabloalc on 18 Jan 2012
- # This file is public domain.
- #
- # Search all isos in a folder an download the TU
- function marketplace {
- echo "==== Searching for Media ID $MEDIAID on marketplace.jqe360.com"
- # Search for update name and download URL from marketplace.jqe360.com
- HTMLDATA=$(curl -s "http://marketplace.jqe360.com/index.php?search=$1" \
- | egrep '(details&name|Direct)' | head -2 | tr -d '\n')
- # Extract download URL from html data
- RELATIVE_DOWNLOAD_URL=`echo $HTMLDATA | cut -d '"' -f 2`
- # Get the filename from the download url HTTP headers
- DOWNLOAD_FILENAME=$(
- ( echo "HEAD $RELATIVE_DOWNLOAD_URL HTTP/1.0"
- echo "Host: marketplace.jqe360.com"
- echo ) | nc marketplace.jqe360.com 80 | grep 'filename=' \
- | cut -d '=' -f 2 | tr -d '\n' | tr -d '\r')
- # Extract update name from html data
- UPDATENAME=`echo $HTMLDATA | cut -d '>' -f 3 | cut -d '<' -f 1`
- INFO="marketplace.jqe360 - `date` - $UPDATENAME - $DOWNLOAD_FILENAME"
- if [ "$UPDATENAME" ]
- then
- INFO="marketplace.jqe360 - `date` - $UPDATENAME -
- $DOWNLOAD_FILENAME"
- download "$DOWNLOAD_FILENAME" \
- "http://marketplace.jqe360.com$RELATIVE_DOWNLOAD_URL" \
- "$INFO" "$UPDATENAME"
- #else
- # echo "==== No Title Updates for $MEDIAID on marketplace.jqe360"
- fi
- }
- function xbuc {
- echo "==== Searching for Media ID $MEDIAID on xbuc.net"
- curl -s "http://www.xbuc.net/?searchString=$MEDIAID" \
- | grep '^<td>' | tr -d '\n' | tr -d '\r' | sed 's/<\/td>/<\/td>\n/g' \
- | head -n 6 | while read DATA
- do
- #echo -n $DATA | sed 's/<[^>]*>//g'
- #echo -n " "
- if [[ "$DATA" =~ "details=" ]]
- then
- TITLE=$(echo $DATA | sed 's/<[^>]*>//g')
- fi
- if [[ "$DATA" =~ "download" ]]
- then
- DOWNLOAD=$(echo "$DATA" | cut -d "'" -f 2 | sed 's/\&/\&/g')
- LOCATION=$(curl -s -D - http://www.xbuc.net/$DOWNLOAD \
- | grep Location: | cut -d ' ' -f 2- | tr -d '\n' | tr -d '\r')
- if [ "${LOCATION##*/}" ]
- then
- INFO="xbuc.net - `date` - $TITLE - ${LOCATION##*/}"
- download "${LOCATION##*/}" "$LOCATION" "$INFO" "$TITLE"
- #else
- # echo "== No Title Updates for $MEDIAID on xbuc.net"
- fi
- fi
- done
- }
- function download {
- UPDATEFILE="$DIRECTORY/TU/$1"
- if [ -f "$UPDATEFILE" ];
- then
- echo "====== Title Update already exist in: $UPDATEFILE"
- else
- echo "====== Downloading $4"
- wget -q -O "$DIRECTORY/TU/$1" --tries=1 $2
- if [ -f "$UPDATEFILE" ]; then
- echo "$3">>"$DIRECTORY/TU/updates.txt"
- fi
- fi
- }
- if [ "x$1" == "x" ]
- then
- echo "Usage:"
- echo "$0 <xbox360_image.iso>"
- echo "or:"
- echo "$0 <folder with xbox360 isos>"
- exit 1
- fi
- find "$1" -iname "*.iso" -print0 | while read -d $'\0' file
- do
- DIRECTORY=${file%/*}
- echo "=============================================================="
- echo "== Processing $DIRECTORY"
- if [ ! -d "$DIRECTORY/TU" ]; then
- mkdir "$DIRECTORY/TU"
- fi
- if [ -f "$DIRECTORY/TU/MEDIAID" ]; then
- MEDIAID=`cat "$DIRECTORY/TU/MEDIAID"`
- else
- echo "== Executing abgx360 to get MediaID"
- MEDIAID=$(abgx360 -swordv --noheader --dontparsefs "$file" \
- | grep -i "XEX Media ID" | head -1 | cut -d '-' -f 2)
- echo $MEDIAID >"$DIRECTORY/TU/MEDIAID"
- fi
- if [ "x$MEDIAID" == "x" ]
- then
- echo "No Media ID found. (Not an XBox360 iso?)"
- exit 1
- fi
- marketplace $MEDIAID
- xbuc $MEDIAID
- done
Add Comment
Please, Sign In to add comment