transmission-web-control/release/install-tr-control.sh
栽培者 9b0604e301 修复一些BUG,及增加新的安装脚本
1. 修复 #94 中移动UI文字内容显示问题;Fixed #94 Close #92
2. 修复因Cookie引起的界面无法正常显示的问题;Fixed #83
3. 删除Cookie依赖;
4. 增加新的安装脚本及更新方式。
2017-10-15 21:48:42 +08:00

123 lines
3.4 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
ROOT_FOLDER=""
WEB_FOLDER=""
ORG_INDEX_FILE="index.original.html"
INDEX_FILE="index.html"
TMP_FOLDER="/tmp/tr-web-control"
PACK_NAME="src.tar.gz"
WEB_HOST="https://github.com/ronggang/transmission-web-control/raw/master/release/"
DOWNLOAD_URL="$WEB_HOST$PACK_NAME"
# 安装类型
# 1 安装至当前 Transmission Web 所在目录
# 2 安装至 TRANSMISSION_WEB_HOME 环境变量指定的目录参考https://github.com/transmission/transmission/wiki/Environment-Variables#transmission-specific-variables
# 使用环境变量时,如果 transmission 不是当前用户运行的,则需要将 TRANSMISSION_WEB_HOME 添加至 /etc/profile 文件,以达到“永久”的目的
INSTALL_TYPE=-1
# 开始
main() {
# 判断临时目录是否存在,不存在则创建
if [ ! -d "$TMP_FOLDER" ]; then
mkdir -p "$TMP_FOLDER"
fi
# 查找目录
findWebFolder
# 安装
install
# 清理
clear
}
# 查找Web目录
findWebFolder() {
# 找出web ui 目录
echo "Searching Transmission Web Folder..."
# 指定一次当前系统的默认目录
# 用户如知道自己的 Transmission Web 所在的目录,直接修改这个值,以避免搜索所有目录
ROOT_FOLDER="/usr/local/transmission/share/transmission"
# 判断 TRANSMISSION_WEB_HOME 环境变量是否被定义,如果是,直接用这个变量的值
if [ $TRANSMISSION_WEB_HOME ]; then
echo "use TRANSMISSION_WEB_HOME: $TRANSMISSION_WEB_HOME"
INSTALL_TYPE=2
else
echo "Looking for folder: $ROOT_FOLDER/web"
if [ -d "$ROOT_FOLDER/web" ]; then
WEB_FOLDER="$ROOT_FOLDER/web"
INSTALL_TYPE=1
echo "Folder found. Using it."
else
echo "Folder not found. Will search the entire /. This will take a while..."
ROOT_FOLDER=`find / -name 'web' -type d 2>/dev/null| grep 'transmission/web' | sed 's/\/web$//g'`
if [ -d "$ROOT_FOLDER/web" ]; then
WEB_FOLDER="$ROOT_FOLDER/web"
INSTALL_TYPE=1
fi
fi
fi
}
# 安装
install() {
# 如果目录存在,则进行下载和更新动作
if [ $INSTALL_TYPE = 1 ]; then
# 下载最新的安装包
download
echo "Installing..."
# 创建web文件夹从 20171014 之后打包文件不包含web目录直接打包为src下所有文件
mkdir web
# 解压缩包
tar -xzf "$PACK_NAME" -C "web"
# 如果之前没有安装过,则先将原系统的文件改为
if [ ! -f "$WEB_FOLDER/$ORG_INDEX_FILE" -a -f "$WEB_FOLDER/$INDEX_FILE" ]; then
mv "$WEB_FOLDER/$INDEX_FILE" "$WEB_FOLDER/$ORG_INDEX_FILE"
fi
# 复制文件到
cp -r web "$ROOT_FOLDER"
# 设置权限
find "$ROOT_FOLDER" -type d -exec chmod o+rx {} \;
find "$ROOT_FOLDER" -type f -exec chmod o+r {} \;
# 安装完成
installed
elif [ $INSTALL_TYPE = 2 ]; then
# 下载最新的安装包
download
echo "Installing..."
# 解压缩包
tar -xzf "$PACK_NAME" -C "$TRANSMISSION_WEB_HOME"
# 安装完成
installed
else
echo "##############################################"
echo "#"
echo "# ERROR : Transmisson WEB UI Folder is missing."
echo "#"
echo "##############################################"
fi
}
# 下载最新的安装包
download() {
cd "$TMP_FOLDER"
echo "Downloading Transmission Web Control..."
wget "$DOWNLOAD_URL" --no-check-certificate
}
# 安装完成
installed() {
echo "Transmission Web Control Installation completed!"
}
# 清除工作
clear() {
# 删除安装包
rm "$PACK_NAME"
# 删除临时目录
rm -rf "$TMP_FOLDER"
}
# 执行
main