#!/bin/bash ###################################################################### # # Copyright (c) 2015 arakasi72 (https://github.com/arakasi72) # # --> Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php # ###################################################################### PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/bin:/sbin newvers=$(curl -s https://raw.githubusercontent.com/Novik/ruTorrent/master/js/webui.js | grep -m 1 version: | cut -d \" -f2) oldvers=$(grep -m 1 version: /var/www/rutorrent/js/webui.js | cut -d \" -f2) ruflag=0 ask_option() { while true do echo "1. Restore rutorrent_old" echo "2. Upgrade to latest version" read -p "Select 1 or 2: " answer case $answer in [1]* ) return 0 ;; [2]* ) return 1 ;; esac done } check_user() { while true do read -p "Do you wish to continue? " answer case $answer in [Yy]* ) return 0 ;; [Nn]* ) return 1 ;; * ) echo "Enter y or n";; esac done } #check user is root or sudo if [ "$(id -u)" != "0" ]; then echo "Must be run from root or using sudo" && exit 1 fi #check rutorrent folder exists if ! [ -d '/var/www/rutorrent' ]; then echo 'Could not find /var/www/rutorrent, exiting script' exit fi #check versions if [ '$newvers' = '$oldvers' ]; then echo "You have the latest version: "$newvers else echo "Installed version: "$oldvers echo " Latest version: "$newvers fi if ! ( check_user ); then exit fi #check to see if rutorrent_old exists, offer restore or upgrade options if [ -d $HOME'/rutorrent_old' ];then echo 'Detected '$HOME'/rutorrent_old' if ( ask_option ); then echo "Restoring Old version of rutorrent" echo "WARNING: The current rutorrent will be overwitten by older backup" ruflag=1 if ( check_user ); then echo "Restoring" rm -r /var/www/rutorrent mv -f $HOME/rutorrent_old /var/www/rutorrent echo "Setting permissions, Starting services" chown -R www-data:www-data /var/www chmod -R 755 /var/www/rutorrent echo "Done" else exit fi else echo "Rutorrent will be upgraded" echo "WARNING: rutorrent_old will be deleted" echo "If you wish to retain this older version you should exit this script, and rename or move it" if ( check_user ); then ruflag=0 else exit fi fi fi if [ $ruflag = 0 ]; then if [ -d $HOME'/rutorrent_old' ]; then rm -r $HOME/rutorrent_old echo "rutorrent_old has been deleted" fi echo echo 'Installing version '$newvers' of rutorrent' echo 'Your existing rutorrent folder will be moved to '$HOME'/rutorrent_old' echo echo 'If you are not happy with the upgrade you can restore the old version, by rerunning this script' echo mv -f /var/www/rutorrent $HOME/rutorrent_old echo "Installing Rutorrent "$newvers git clone https://github.com/Novik/ruTorrent.git /var/www/rutorrent >> /dev/null 2>&1 git clone https://github.com/autodl-community/autodl-rutorrent.git /var/www/rutorrent/plugins/autodl-irssi >> /dev/null 2>&1 rm -r /var/www/rutorrent/conf >> /dev/null 2>&1 cp -r $HOME/rutorrent_old/conf /var/www/rutorrent/conf >> /dev/null 2>&1 rm -r /var/www/rutorrent/share >> /dev/null 2>&1 cp -r $HOME/rutorrent_old/share /var/www/rutorrent/share >> /dev/null 2>&1 echo "Setting permissions, Starting services" chown -R www-data:www-data /var/www chmod -R 755 /var/www/rutorrent fi