mirror of
https://github.com/ronggang/transmission-web-control.git
synced 2025-04-11 16:56:28 +00:00
feat: 安装脚本统一更新至 1.2.5
This commit is contained in:
parent
9018e35d12
commit
f02a47aff2
|
@ -3,7 +3,7 @@
|
||||||
ARG1="$1"
|
ARG1="$1"
|
||||||
ROOT_FOLDER=""
|
ROOT_FOLDER=""
|
||||||
SCRIPT_NAME="$0"
|
SCRIPT_NAME="$0"
|
||||||
SCRIPT_VERSION="1.2.4"
|
SCRIPT_VERSION="1.2.5"
|
||||||
VERSION=""
|
VERSION=""
|
||||||
HTML_FOLDER_NAME="web"
|
HTML_FOLDER_NAME="web"
|
||||||
WEB_FOLDER=""
|
WEB_FOLDER=""
|
||||||
|
@ -12,6 +12,7 @@ INDEX_FILE="index.html"
|
||||||
TMP_FOLDER="/tmp/tr-web-control"
|
TMP_FOLDER="/tmp/tr-web-control"
|
||||||
PACK_NAME="master.tar.gz"
|
PACK_NAME="master.tar.gz"
|
||||||
WEB_HOST="https://github.com/ronggang/transmission-web-control/archive/"
|
WEB_HOST="https://github.com/ronggang/transmission-web-control/archive/"
|
||||||
|
LAST_RELEASES="https://api.github.com/repos/ronggang/transmission-web-control/releases/latest"
|
||||||
DOWNLOAD_URL="$WEB_HOST$PACK_NAME"
|
DOWNLOAD_URL="$WEB_HOST$PACK_NAME"
|
||||||
# 安装类型
|
# 安装类型
|
||||||
# 1 安装至当前 Transmission Web 所在目录
|
# 1 安装至当前 Transmission Web 所在目录
|
||||||
|
@ -47,6 +48,7 @@ MSG_DONE="安装脚本执行完成。如遇到问题请查看:https://github.c
|
||||||
MSG_SETTING_PERMISSIONS="正在设置权限,大约需要一分钟 ..."
|
MSG_SETTING_PERMISSIONS="正在设置权限,大约需要一分钟 ..."
|
||||||
MSG_BEGIN="开始"
|
MSG_BEGIN="开始"
|
||||||
MSG_END="结束"
|
MSG_END="结束"
|
||||||
|
MSG_WGET_NOT_FIND="系统中没有找到 wget 或 curl,无法进行下载操作,请安装后再试!"
|
||||||
MSG_MAIN_MENU="
|
MSG_MAIN_MENU="
|
||||||
欢迎使用 Transmission Web Control 中文安装脚本。
|
欢迎使用 Transmission Web Control 中文安装脚本。
|
||||||
官方帮助文档:https://github.com/ronggang/transmission-web-control/wiki
|
官方帮助文档:https://github.com/ronggang/transmission-web-control/wiki
|
||||||
|
@ -86,6 +88,7 @@ MSG_NON_ROOT_USER="无法确认当前是否为 root 用户,可能无法进行
|
||||||
# 是否自动安装
|
# 是否自动安装
|
||||||
if [ "$ARG1" = "auto" ]; then
|
if [ "$ARG1" = "auto" ]; then
|
||||||
AUTOINSTALL=1
|
AUTOINSTALL=1
|
||||||
|
ROOT_FOLDER=$2
|
||||||
else
|
else
|
||||||
ROOT_FOLDER=$ARG1
|
ROOT_FOLDER=$ARG1
|
||||||
fi
|
fi
|
||||||
|
@ -96,11 +99,12 @@ initValues() {
|
||||||
mkdir -p "$TMP_FOLDER"
|
mkdir -p "$TMP_FOLDER"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 判断是否指定了ROOT_FOLDER
|
# 判断是否指定了ROOT_FOLDER
|
||||||
if [ "$ROOT_FOLDER" == "" ]; then
|
if [ "$ROOT_FOLDER" == "" ]; then
|
||||||
# 获取 Transmission 目录
|
# 获取 Transmission 目录
|
||||||
getTransmissionPath
|
getTransmissionPath
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 判断 ROOT_FOLDER 是否为一个有效的目录,如果是则表明传递了一个有效路径
|
# 判断 ROOT_FOLDER 是否为一个有效的目录,如果是则表明传递了一个有效路径
|
||||||
if [ -d "$ROOT_FOLDER" ]; then
|
if [ -d "$ROOT_FOLDER" ]; then
|
||||||
showLog "$MSG_TR_WORK_FOLDER $ROOT_FOLDER/$HTML_FOLDER_NAME"
|
showLog "$MSG_TR_WORK_FOLDER $ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
|
@ -123,7 +127,7 @@ initValues() {
|
||||||
fi
|
fi
|
||||||
showLog "$MSG_SPECIFIED_VERSION $VERSION"
|
showLog "$MSG_SPECIFIED_VERSION $VERSION"
|
||||||
|
|
||||||
DOWNLOAD_URL="https://github.com/ronggang/transmission-web-control/archive/$PACK_NAME"
|
DOWNLOAD_URL="$WEB_HOST$PACK_NAME"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $SKIP_SEARCH = 0 ]; then
|
if [ $SKIP_SEARCH = 0 ]; then
|
||||||
|
@ -163,7 +167,7 @@ findWebFolder() {
|
||||||
showLog "$ROOT_FOLDER/$HTML_FOLDER_NAME $MSG_AVAILABLE."
|
showLog "$ROOT_FOLDER/$HTML_FOLDER_NAME $MSG_AVAILABLE."
|
||||||
else
|
else
|
||||||
showLog "$MSG_THE_SPECIFIED_DIRECTORY_DOES_NOT_EXIST"
|
showLog "$MSG_THE_SPECIFIED_DIRECTORY_DOES_NOT_EXIST"
|
||||||
ROOT_FOLDER=`find / -name 'web' -type d 2>/dev/null| grep 'transmission/web' | sed 's/\/web$//g'`
|
ROOT_FOLDER=`find /usr /etc /home /root ./ -name "$HTML_FOLDER_NAME" -type d 2>/dev/null| grep "transmission/$HTML_FOLDER_NAME" | sed "s/\/$HTML_FOLDER_NAME$//g"`
|
||||||
|
|
||||||
if [ -d "$ROOT_FOLDER/$HTML_FOLDER_NAME" ]; then
|
if [ -d "$ROOT_FOLDER/$HTML_FOLDER_NAME" ]; then
|
||||||
WEB_FOLDER="$ROOT_FOLDER/$HTML_FOLDER_NAME"
|
WEB_FOLDER="$ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
|
@ -250,7 +254,8 @@ download() {
|
||||||
fi
|
fi
|
||||||
showLog "$MSG_DOWNLOADING"
|
showLog "$MSG_DOWNLOADING"
|
||||||
echo ""
|
echo ""
|
||||||
wget "$DOWNLOAD_URL" --no-check-certificate
|
# 下载的时候强制命名文件,以免被重定向后文件名发生改变
|
||||||
|
wget "$DOWNLOAD_URL" -O "$PACK_NAME" --no-check-certificate
|
||||||
# 判断是否下载成功
|
# 判断是否下载成功
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
showLog "$MSG_DOWNLOAD_COMPLETE"
|
showLog "$MSG_DOWNLOAD_COMPLETE"
|
||||||
|
@ -403,31 +408,34 @@ getTransmissionPath() {
|
||||||
# 用户如知道自己的 Transmission Web 所在的目录,直接修改这个值,以避免搜索所有目录
|
# 用户如知道自己的 Transmission Web 所在的目录,直接修改这个值,以避免搜索所有目录
|
||||||
# ROOT_FOLDER="/usr/local/transmission/share/transmission"
|
# ROOT_FOLDER="/usr/local/transmission/share/transmission"
|
||||||
# Fedora 或 Debian 发行版的默认 ROOT_FOLDER 目录
|
# Fedora 或 Debian 发行版的默认 ROOT_FOLDER 目录
|
||||||
if [ -f "/etc/fedora-release" ] || [ -f "/etc/debian_version" ] || [ -f "/etc/openwrt_release" ]; then
|
# 如果已经指定了安装路径,则跳过
|
||||||
ROOT_FOLDER="/usr/share/transmission"
|
if [ ! -d "$ROOT_FOLDER" ]; then
|
||||||
fi
|
if [ -f "/etc/fedora-release" ] || [ -f "/etc/debian_version" ] || [ -f "/etc/openwrt_release" ]; then
|
||||||
|
ROOT_FOLDER="/usr/share/transmission"
|
||||||
if [ -f "/bin/freebsd-version" ]; then
|
fi
|
||||||
ROOT_FOLDER="/usr/local/share/transmission"
|
|
||||||
fi
|
if [ -f "/bin/freebsd-version" ]; then
|
||||||
|
ROOT_FOLDER="/usr/local/share/transmission"
|
||||||
# 群晖
|
|
||||||
if [ -f "/etc/synoinfo.conf" ]; then
|
|
||||||
# 开始检测TR版本,用于判断ui存放目录
|
|
||||||
TRANSMISSION_REMOTE="/var/packages/transmission/target/bin/transmission-remote"
|
|
||||||
|
|
||||||
if [[ -x "$TRANSMISSION_REMOTE" ]]; then
|
|
||||||
tr_version=$("$TRANSMISSION_REMOTE" -V 2>&1 | cut -d " " -f 2)
|
|
||||||
showLog "transmission version: $tr_version"
|
|
||||||
# 判断 TR 主版本号
|
|
||||||
if [ ${tr_version:0:1} = 2 ]; then
|
|
||||||
HTML_FOLDER_NAME="web"
|
|
||||||
else
|
|
||||||
HTML_FOLDER_NAME="public_html"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ROOT_FOLDER="/var/packages/transmission/target/share/transmission"
|
# 群晖
|
||||||
|
if [ -f "/etc/synoinfo.conf" ]; then
|
||||||
|
# 开始检测TR版本,用于判断ui存放目录
|
||||||
|
TRANSMISSION_REMOTE="/var/packages/transmission/target/bin/transmission-remote"
|
||||||
|
|
||||||
|
if [[ -x "$TRANSMISSION_REMOTE" ]]; then
|
||||||
|
tr_version=$("$TRANSMISSION_REMOTE" -V 2>&1 | cut -d " " -f 2)
|
||||||
|
showLog "transmission version: $tr_version"
|
||||||
|
# 判断 TR 主版本号
|
||||||
|
if [ ${tr_version:0:1} = 2 ]; then
|
||||||
|
HTML_FOLDER_NAME="web"
|
||||||
|
else
|
||||||
|
HTML_FOLDER_NAME="public_html"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
ROOT_FOLDER="/var/packages/transmission/target/share/transmission"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d "$ROOT_FOLDER" ]; then
|
if [ ! -d "$ROOT_FOLDER" ]; then
|
||||||
|
@ -450,7 +458,15 @@ getTransmissionPath() {
|
||||||
# 获取最后的发布版本号
|
# 获取最后的发布版本号
|
||||||
# 因在源码库里提交二进制文件不便于管理,以后将使用这种方式获取最新发布的版本
|
# 因在源码库里提交二进制文件不便于管理,以后将使用这种方式获取最新发布的版本
|
||||||
getLatestReleases() {
|
getLatestReleases() {
|
||||||
VERSION=`wget -O - https://api.github.com/repos/ronggang/transmission-web-control/releases/latest | grep tag_name | head -n 1 | cut -d '"' -f 4`
|
# 优先使用curl,避免OpenWRT下wget得到的内容没有分行,导致grep输出结果失效
|
||||||
|
if [ -x "$(which curl)" ] ; then
|
||||||
|
VERSION=`curl -s $LAST_RELEASES | grep tag_name | head -n 1 | cut -d '"' -f 4`
|
||||||
|
elif [ -x "$(which wget)" ]; then
|
||||||
|
VERSION=`wget -O - $LAST_RELEASES | grep tag_name | head -n 1 | cut -d '"' -f 4`
|
||||||
|
else
|
||||||
|
showLog "$MSG_WGET_NOT_FIND"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# 检测 Transmission 进程是否存在
|
# 检测 Transmission 进程是否存在
|
||||||
|
|
|
@ -3,14 +3,16 @@
|
||||||
ARG1="$1"
|
ARG1="$1"
|
||||||
ROOT_FOLDER=""
|
ROOT_FOLDER=""
|
||||||
SCRIPT_NAME="$0"
|
SCRIPT_NAME="$0"
|
||||||
SCRIPT_VERSION="1.2.3"
|
SCRIPT_VERSION="1.2.5"
|
||||||
VERSION=""
|
VERSION=""
|
||||||
|
HTML_FOLDER_NAME="web"
|
||||||
WEB_FOLDER=""
|
WEB_FOLDER=""
|
||||||
ORG_INDEX_FILE="index.original.html"
|
ORG_INDEX_FILE="index.original.html"
|
||||||
INDEX_FILE="index.html"
|
INDEX_FILE="index.html"
|
||||||
TMP_FOLDER="/tmp/tr-web-control"
|
TMP_FOLDER="/tmp/tr-web-control"
|
||||||
PACK_NAME="master.tar.gz"
|
PACK_NAME="master.tar.gz"
|
||||||
WEB_HOST="https://gitee.com/culturist/transmission-web-control/repository/archive/"
|
WEB_HOST="https://gitee.com/culturist/transmission-web-control/repository/archive/"
|
||||||
|
LAST_RELEASES="https://gitee.com/api/v5/repos/culturist/transmission-web-control/releases/latest"
|
||||||
DOWNLOAD_URL="$WEB_HOST$PACK_NAME"
|
DOWNLOAD_URL="$WEB_HOST$PACK_NAME"
|
||||||
# 安装类型
|
# 安装类型
|
||||||
# 1 安装至当前 Transmission Web 所在目录
|
# 1 安装至当前 Transmission Web 所在目录
|
||||||
|
@ -46,6 +48,7 @@ MSG_DONE="安装脚本执行完成。如遇到问题请查看:https://github.c
|
||||||
MSG_SETTING_PERMISSIONS="正在设置权限,大约需要一分钟 ..."
|
MSG_SETTING_PERMISSIONS="正在设置权限,大约需要一分钟 ..."
|
||||||
MSG_BEGIN="开始"
|
MSG_BEGIN="开始"
|
||||||
MSG_END="结束"
|
MSG_END="结束"
|
||||||
|
MSG_WGET_NOT_FIND="系统中没有找到 wget 或 curl,无法进行下载操作,请安装后再试!"
|
||||||
MSG_MAIN_MENU="
|
MSG_MAIN_MENU="
|
||||||
欢迎使用 Transmission Web Control 中文仓库安装脚本。
|
欢迎使用 Transmission Web Control 中文仓库安装脚本。
|
||||||
官方帮助文档:https://github.com/ronggang/transmission-web-control/wiki
|
官方帮助文档:https://github.com/ronggang/transmission-web-control/wiki
|
||||||
|
@ -85,6 +88,7 @@ MSG_NON_ROOT_USER="无法确认当前是否为 root 用户,可能无法进行
|
||||||
# 是否自动安装
|
# 是否自动安装
|
||||||
if [ "$ARG1" = "auto" ]; then
|
if [ "$ARG1" = "auto" ]; then
|
||||||
AUTOINSTALL=1
|
AUTOINSTALL=1
|
||||||
|
ROOT_FOLDER=$2
|
||||||
else
|
else
|
||||||
ROOT_FOLDER=$ARG1
|
ROOT_FOLDER=$ARG1
|
||||||
fi
|
fi
|
||||||
|
@ -94,7 +98,7 @@ initValues() {
|
||||||
if [ ! -d "$TMP_FOLDER" ]; then
|
if [ ! -d "$TMP_FOLDER" ]; then
|
||||||
mkdir -p "$TMP_FOLDER"
|
mkdir -p "$TMP_FOLDER"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 判断是否指定了ROOT_FOLDER
|
# 判断是否指定了ROOT_FOLDER
|
||||||
if [ "$ROOT_FOLDER" == "" ]; then
|
if [ "$ROOT_FOLDER" == "" ]; then
|
||||||
# 获取 Transmission 目录
|
# 获取 Transmission 目录
|
||||||
|
@ -103,9 +107,9 @@ initValues() {
|
||||||
|
|
||||||
# 判断 ROOT_FOLDER 是否为一个有效的目录,如果是则表明传递了一个有效路径
|
# 判断 ROOT_FOLDER 是否为一个有效的目录,如果是则表明传递了一个有效路径
|
||||||
if [ -d "$ROOT_FOLDER" ]; then
|
if [ -d "$ROOT_FOLDER" ]; then
|
||||||
showLog "$MSG_TR_WORK_FOLDER $ROOT_FOLDER/web"
|
showLog "$MSG_TR_WORK_FOLDER $ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
INSTALL_TYPE=3
|
INSTALL_TYPE=3
|
||||||
WEB_FOLDER="$ROOT_FOLDER/web"
|
WEB_FOLDER="$ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
SKIP_SEARCH=1
|
SKIP_SEARCH=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -158,16 +162,16 @@ findWebFolder() {
|
||||||
fi
|
fi
|
||||||
INSTALL_TYPE=2
|
INSTALL_TYPE=2
|
||||||
else
|
else
|
||||||
if [ -d "$ROOT_FOLDER" -a -d "$ROOT_FOLDER/web" ]; then
|
if [ -d "$ROOT_FOLDER" -a -d "$ROOT_FOLDER/$HTML_FOLDER_NAME" ]; then
|
||||||
WEB_FOLDER="$ROOT_FOLDER/web"
|
WEB_FOLDER="$ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
INSTALL_TYPE=1
|
INSTALL_TYPE=1
|
||||||
showLog "$ROOT_FOLDER/web $MSG_AVAILABLE."
|
showLog "$ROOT_FOLDER/$HTML_FOLDER_NAME $MSG_AVAILABLE."
|
||||||
else
|
else
|
||||||
showLog "$MSG_THE_SPECIFIED_DIRECTORY_DOES_NOT_EXIST"
|
showLog "$MSG_THE_SPECIFIED_DIRECTORY_DOES_NOT_EXIST"
|
||||||
ROOT_FOLDER=`find / -name 'web' -type d 2>/dev/null| grep 'transmission/web' | sed 's/\/web$//g'`
|
ROOT_FOLDER=`find /usr /etc /home /root ./ -name "$HTML_FOLDER_NAME" -type d 2>/dev/null| grep "transmission/$HTML_FOLDER_NAME" | sed "s/\/$HTML_FOLDER_NAME$//g"`
|
||||||
|
|
||||||
if [ -d "$ROOT_FOLDER/web" ]; then
|
if [ -d "$ROOT_FOLDER/$HTML_FOLDER_NAME" ]; then
|
||||||
WEB_FOLDER="$ROOT_FOLDER/web"
|
WEB_FOLDER="$ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
INSTALL_TYPE=1
|
INSTALL_TYPE=1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -197,14 +201,14 @@ install() {
|
||||||
# 下载安装包
|
# 下载安装包
|
||||||
download
|
download
|
||||||
# 创建web文件夹,从 20171014 之后,打包文件不包含web目录,直接打包为src下所有文件
|
# 创建web文件夹,从 20171014 之后,打包文件不包含web目录,直接打包为src下所有文件
|
||||||
mkdir web
|
mkdir $HTML_FOLDER_NAME
|
||||||
|
|
||||||
# 解压缩包
|
# 解压缩包
|
||||||
unpack "web"
|
unpack "$HTML_FOLDER_NAME"
|
||||||
|
|
||||||
showLog "$MSG_PACK_COPYING"
|
showLog "$MSG_PACK_COPYING"
|
||||||
# 复制文件到
|
# 复制文件到
|
||||||
cp -r web "$ROOT_FOLDER"
|
cp -r $HTML_FOLDER_NAME "$ROOT_FOLDER"
|
||||||
# 设置权限
|
# 设置权限
|
||||||
setPermissions "$ROOT_FOLDER"
|
setPermissions "$ROOT_FOLDER"
|
||||||
# 安装完成
|
# 安装完成
|
||||||
|
@ -251,8 +255,8 @@ download() {
|
||||||
fi
|
fi
|
||||||
showLog "$MSG_DOWNLOADING"
|
showLog "$MSG_DOWNLOADING"
|
||||||
echo ""
|
echo ""
|
||||||
wget -O "$PACK_NAME" "$DOWNLOAD_URL" --no-check-certificate
|
# 下载的时候强制命名文件,以免被重定向后文件名发生改变
|
||||||
|
wget "$DOWNLOAD_URL" -O "$PACK_NAME" --no-check-certificate
|
||||||
# 判断是否下载成功
|
# 判断是否下载成功
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
showLog "$MSG_DOWNLOAD_COMPLETE"
|
showLog "$MSG_DOWNLOAD_COMPLETE"
|
||||||
|
@ -372,9 +376,9 @@ showMainMenu() {
|
||||||
6)
|
6)
|
||||||
echo -n "$MSG_INPUT_TR_FOLDER"
|
echo -n "$MSG_INPUT_TR_FOLDER"
|
||||||
read input
|
read input
|
||||||
if [ -d "$input/web" ]; then
|
if [ -d "$input/$HTML_FOLDER_NAME" ]; then
|
||||||
ROOT_FOLDER="$input"
|
ROOT_FOLDER="$input"
|
||||||
showLog "$MSG_SPECIFIED_FOLDER $input/web"
|
showLog "$MSG_SPECIFIED_FOLDER $input/$HTML_FOLDER_NAME"
|
||||||
else
|
else
|
||||||
showLog "$MSG_INVALID_PATH"
|
showLog "$MSG_INVALID_PATH"
|
||||||
fi
|
fi
|
||||||
|
@ -405,17 +409,34 @@ getTransmissionPath() {
|
||||||
# 用户如知道自己的 Transmission Web 所在的目录,直接修改这个值,以避免搜索所有目录
|
# 用户如知道自己的 Transmission Web 所在的目录,直接修改这个值,以避免搜索所有目录
|
||||||
# ROOT_FOLDER="/usr/local/transmission/share/transmission"
|
# ROOT_FOLDER="/usr/local/transmission/share/transmission"
|
||||||
# Fedora 或 Debian 发行版的默认 ROOT_FOLDER 目录
|
# Fedora 或 Debian 发行版的默认 ROOT_FOLDER 目录
|
||||||
if [ -f "/etc/fedora-release" ] || [ -f "/etc/debian_version" ] || [ -f "/etc/openwrt_release" ]; then
|
# 如果已经指定了安装路径,则跳过
|
||||||
ROOT_FOLDER="/usr/share/transmission"
|
if [ ! -d "$ROOT_FOLDER" ]; then
|
||||||
fi
|
if [ -f "/etc/fedora-release" ] || [ -f "/etc/debian_version" ] || [ -f "/etc/openwrt_release" ]; then
|
||||||
|
ROOT_FOLDER="/usr/share/transmission"
|
||||||
if [ -f "/bin/freebsd-version" ]; then
|
fi
|
||||||
ROOT_FOLDER="/usr/local/share/transmission"
|
|
||||||
fi
|
if [ -f "/bin/freebsd-version" ]; then
|
||||||
|
ROOT_FOLDER="/usr/local/share/transmission"
|
||||||
|
fi
|
||||||
|
|
||||||
# 群晖
|
# 群晖
|
||||||
if [ -f "/etc/synoinfo.conf" ]; then
|
if [ -f "/etc/synoinfo.conf" ]; then
|
||||||
ROOT_FOLDER="/var/packages/transmission/target/share/transmission"
|
# 开始检测TR版本,用于判断ui存放目录
|
||||||
|
TRANSMISSION_REMOTE="/var/packages/transmission/target/bin/transmission-remote"
|
||||||
|
|
||||||
|
if [[ -x "$TRANSMISSION_REMOTE" ]]; then
|
||||||
|
tr_version=$("$TRANSMISSION_REMOTE" -V 2>&1 | cut -d " " -f 2)
|
||||||
|
showLog "transmission version: $tr_version"
|
||||||
|
# 判断 TR 主版本号
|
||||||
|
if [ ${tr_version:0:1} = 2 ]; then
|
||||||
|
HTML_FOLDER_NAME="web"
|
||||||
|
else
|
||||||
|
HTML_FOLDER_NAME="public_html"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
ROOT_FOLDER="/var/packages/transmission/target/share/transmission"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d "$ROOT_FOLDER" ]; then
|
if [ ! -d "$ROOT_FOLDER" ]; then
|
||||||
|
@ -438,7 +459,15 @@ getTransmissionPath() {
|
||||||
# 获取最后的发布版本号
|
# 获取最后的发布版本号
|
||||||
# 因在源码库里提交二进制文件不便于管理,以后将使用这种方式获取最新发布的版本
|
# 因在源码库里提交二进制文件不便于管理,以后将使用这种方式获取最新发布的版本
|
||||||
getLatestReleases() {
|
getLatestReleases() {
|
||||||
VERSION=`wget -O - https://gitee.com/api/v5/repos/culturist/transmission-web-control/releases/latest --no-check-certificate | sed -r "s/.*tag_name(.*)target_commitish.*/\1/" | cut -d '"' -f 3`
|
# 优先使用curl,避免OpenWRT下wget得到的内容没有分行,导致grep输出结果失效
|
||||||
|
if [ -x "$(which curl)" ] ; then
|
||||||
|
VERSION=`curl -s $LAST_RELEASES | sed -r "s/.*tag_name(.*)target_commitish.*/\1/" | cut -d '"' -f 3`
|
||||||
|
elif [ -x "$(which wget)" ]; then
|
||||||
|
VERSION=`wget -O - $LAST_RELEASES | sed -r "s/.*tag_name(.*)target_commitish.*/\1/" | cut -d '"' -f 3`
|
||||||
|
else
|
||||||
|
showLog "$MSG_WGET_NOT_FIND"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# 检测 Transmission 进程是否存在
|
# 检测 Transmission 进程是否存在
|
||||||
|
|
|
@ -3,14 +3,16 @@
|
||||||
ARG1="$1"
|
ARG1="$1"
|
||||||
ROOT_FOLDER=""
|
ROOT_FOLDER=""
|
||||||
SCRIPT_NAME="$0"
|
SCRIPT_NAME="$0"
|
||||||
SCRIPT_VERSION="1.2.3"
|
SCRIPT_VERSION="1.2.5"
|
||||||
VERSION=""
|
VERSION=""
|
||||||
|
HTML_FOLDER_NAME="web"
|
||||||
WEB_FOLDER=""
|
WEB_FOLDER=""
|
||||||
ORG_INDEX_FILE="index.original.html"
|
ORG_INDEX_FILE="index.original.html"
|
||||||
INDEX_FILE="index.html"
|
INDEX_FILE="index.html"
|
||||||
TMP_FOLDER="/tmp/tr-web-control"
|
TMP_FOLDER="/tmp/tr-web-control"
|
||||||
PACK_NAME="master.tar.gz"
|
PACK_NAME="master.tar.gz"
|
||||||
WEB_HOST="https://github.com/ronggang/transmission-web-control/archive/"
|
WEB_HOST="https://github.com/ronggang/transmission-web-control/archive/"
|
||||||
|
LAST_RELEASES="https://api.github.com/repos/ronggang/transmission-web-control/releases/latest"
|
||||||
DOWNLOAD_URL="$WEB_HOST$PACK_NAME"
|
DOWNLOAD_URL="$WEB_HOST$PACK_NAME"
|
||||||
# 安装类型
|
# 安装类型
|
||||||
# 1 安装至当前 Transmission Web 所在目录
|
# 1 安装至当前 Transmission Web 所在目录
|
||||||
|
@ -46,6 +48,7 @@ MSG_DONE="Installation completed. Installation problems see:https://github.com
|
||||||
MSG_SETTING_PERMISSIONS="Setting permissions, It takes about one minute ..."
|
MSG_SETTING_PERMISSIONS="Setting permissions, It takes about one minute ..."
|
||||||
MSG_BEGIN="BEGIN"
|
MSG_BEGIN="BEGIN"
|
||||||
MSG_END="END"
|
MSG_END="END"
|
||||||
|
MSG_WGET_NOT_FIND="Could not find curl or wget, please install one."
|
||||||
MSG_MAIN_MENU="
|
MSG_MAIN_MENU="
|
||||||
Welcome to the Transmission Web Control Installation Script.
|
Welcome to the Transmission Web Control Installation Script.
|
||||||
Official help documentation: https://github.com/ronggang/transmission-web-control/wiki
|
Official help documentation: https://github.com/ronggang/transmission-web-control/wiki
|
||||||
|
@ -95,18 +98,18 @@ initValues() {
|
||||||
if [ ! -d "$TMP_FOLDER" ]; then
|
if [ ! -d "$TMP_FOLDER" ]; then
|
||||||
mkdir -p "$TMP_FOLDER"
|
mkdir -p "$TMP_FOLDER"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 判断是否指定了ROOT_FOLDER
|
# 判断是否指定了ROOT_FOLDER
|
||||||
if [ "$ROOT_FOLDER" == "" ]; then
|
if [ "$ROOT_FOLDER" == "" ]; then
|
||||||
# 获取 Transmission 目录
|
# 获取 Transmission 目录
|
||||||
getTransmissionPath
|
getTransmissionPath
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 判断 ROOT_FOLDER 是否为一个有效的目录,如果是则表明传递了一个有效路径
|
# 判断 ROOT_FOLDER 是否为一个有效的目录,如果是则表明传递了一个有效路径
|
||||||
if [ -d "$ROOT_FOLDER" ]; then
|
if [ -d "$ROOT_FOLDER" ]; then
|
||||||
showLog "$MSG_TR_WORK_FOLDER $ROOT_FOLDER/web"
|
showLog "$MSG_TR_WORK_FOLDER $ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
INSTALL_TYPE=3
|
INSTALL_TYPE=3
|
||||||
WEB_FOLDER="$ROOT_FOLDER/web"
|
WEB_FOLDER="$ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
SKIP_SEARCH=1
|
SKIP_SEARCH=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -124,7 +127,7 @@ initValues() {
|
||||||
fi
|
fi
|
||||||
showLog "$MSG_SPECIFIED_VERSION $VERSION"
|
showLog "$MSG_SPECIFIED_VERSION $VERSION"
|
||||||
|
|
||||||
DOWNLOAD_URL="https://github.com/ronggang/transmission-web-control/archive/$PACK_NAME"
|
DOWNLOAD_URL="$WEB_HOST$PACK_NAME"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $SKIP_SEARCH = 0 ]; then
|
if [ $SKIP_SEARCH = 0 ]; then
|
||||||
|
@ -158,16 +161,16 @@ findWebFolder() {
|
||||||
fi
|
fi
|
||||||
INSTALL_TYPE=2
|
INSTALL_TYPE=2
|
||||||
else
|
else
|
||||||
if [ -d "$ROOT_FOLDER" -a -d "$ROOT_FOLDER/web" ]; then
|
if [ -d "$ROOT_FOLDER" -a -d "$ROOT_FOLDER/$HTML_FOLDER_NAME" ]; then
|
||||||
WEB_FOLDER="$ROOT_FOLDER/web"
|
WEB_FOLDER="$ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
INSTALL_TYPE=1
|
INSTALL_TYPE=1
|
||||||
showLog "$ROOT_FOLDER/web $MSG_AVAILABLE."
|
showLog "$ROOT_FOLDER/$HTML_FOLDER_NAME $MSG_AVAILABLE."
|
||||||
else
|
else
|
||||||
showLog "$MSG_THE_SPECIFIED_DIRECTORY_DOES_NOT_EXIST"
|
showLog "$MSG_THE_SPECIFIED_DIRECTORY_DOES_NOT_EXIST"
|
||||||
ROOT_FOLDER=`find /usr /etc /home /root -name 'web' -type d 2>/dev/null| grep 'transmission/web' | sed 's/\/web$//g'`
|
ROOT_FOLDER=`find /usr /etc /home /root ./ -name "$HTML_FOLDER_NAME" -type d 2>/dev/null| grep "transmission/$HTML_FOLDER_NAME" | sed "s/\/$HTML_FOLDER_NAME$//g"`
|
||||||
|
|
||||||
if [ -d "$ROOT_FOLDER/web" ]; then
|
if [ -d "$ROOT_FOLDER/$HTML_FOLDER_NAME" ]; then
|
||||||
WEB_FOLDER="$ROOT_FOLDER/web"
|
WEB_FOLDER="$ROOT_FOLDER/$HTML_FOLDER_NAME"
|
||||||
INSTALL_TYPE=1
|
INSTALL_TYPE=1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -197,14 +200,14 @@ install() {
|
||||||
# 下载安装包
|
# 下载安装包
|
||||||
download
|
download
|
||||||
# 创建web文件夹,从 20171014 之后,打包文件不包含web目录,直接打包为src下所有文件
|
# 创建web文件夹,从 20171014 之后,打包文件不包含web目录,直接打包为src下所有文件
|
||||||
mkdir web
|
mkdir $HTML_FOLDER_NAME
|
||||||
|
|
||||||
# 解压缩包
|
# 解压缩包
|
||||||
unpack "web"
|
unpack "$HTML_FOLDER_NAME"
|
||||||
|
|
||||||
showLog "$MSG_PACK_COPYING"
|
showLog "$MSG_PACK_COPYING"
|
||||||
# 复制文件到
|
# 复制文件到
|
||||||
cp -r web "$ROOT_FOLDER"
|
cp -r $HTML_FOLDER_NAME "$ROOT_FOLDER"
|
||||||
# 设置权限
|
# 设置权限
|
||||||
setPermissions "$ROOT_FOLDER"
|
setPermissions "$ROOT_FOLDER"
|
||||||
# 安装完成
|
# 安装完成
|
||||||
|
@ -372,9 +375,9 @@ showMainMenu() {
|
||||||
6)
|
6)
|
||||||
echo -n "$MSG_INPUT_TR_FOLDER"
|
echo -n "$MSG_INPUT_TR_FOLDER"
|
||||||
read input
|
read input
|
||||||
if [ -d "$input/web" ]; then
|
if [ -d "$input/$HTML_FOLDER_NAME" ]; then
|
||||||
ROOT_FOLDER="$input"
|
ROOT_FOLDER="$input"
|
||||||
showLog "$MSG_SPECIFIED_FOLDER $input/web"
|
showLog "$MSG_SPECIFIED_FOLDER $input/$HTML_FOLDER_NAME"
|
||||||
else
|
else
|
||||||
showLog "$MSG_INVALID_PATH"
|
showLog "$MSG_INVALID_PATH"
|
||||||
fi
|
fi
|
||||||
|
@ -405,17 +408,32 @@ getTransmissionPath() {
|
||||||
# 用户如知道自己的 Transmission Web 所在的目录,直接修改这个值,以避免搜索所有目录
|
# 用户如知道自己的 Transmission Web 所在的目录,直接修改这个值,以避免搜索所有目录
|
||||||
# ROOT_FOLDER="/usr/local/transmission/share/transmission"
|
# ROOT_FOLDER="/usr/local/transmission/share/transmission"
|
||||||
# Fedora 或 Debian 发行版的默认 ROOT_FOLDER 目录
|
# Fedora 或 Debian 发行版的默认 ROOT_FOLDER 目录
|
||||||
|
# 如果已经指定了安装路径,则跳过
|
||||||
if [ ! -d "$ROOT_FOLDER" ]; then
|
if [ ! -d "$ROOT_FOLDER" ]; then
|
||||||
if [ -f "/etc/fedora-release" ] || [ -f "/etc/debian_version" ] || [ -f "/etc/openwrt_release" ]; then
|
if [ -f "/etc/fedora-release" ] || [ -f "/etc/debian_version" ] || [ -f "/etc/openwrt_release" ]; then
|
||||||
ROOT_FOLDER="/usr/share/transmission"
|
ROOT_FOLDER="/usr/share/transmission"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "/bin/freebsd-version" ]; then
|
if [ -f "/bin/freebsd-version" ]; then
|
||||||
ROOT_FOLDER="/usr/local/share/transmission"
|
ROOT_FOLDER="/usr/local/share/transmission"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 群晖
|
# 群晖
|
||||||
if [ -f "/etc/synoinfo.conf" ]; then
|
if [ -f "/etc/synoinfo.conf" ]; then
|
||||||
|
# 开始检测TR版本,用于判断ui存放目录
|
||||||
|
TRANSMISSION_REMOTE="/var/packages/transmission/target/bin/transmission-remote"
|
||||||
|
|
||||||
|
if [[ -x "$TRANSMISSION_REMOTE" ]]; then
|
||||||
|
tr_version=$("$TRANSMISSION_REMOTE" -V 2>&1 | cut -d " " -f 2)
|
||||||
|
showLog "transmission version: $tr_version"
|
||||||
|
# 判断 TR 主版本号
|
||||||
|
if [ ${tr_version:0:1} = 2 ]; then
|
||||||
|
HTML_FOLDER_NAME="web"
|
||||||
|
else
|
||||||
|
HTML_FOLDER_NAME="public_html"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
ROOT_FOLDER="/var/packages/transmission/target/share/transmission"
|
ROOT_FOLDER="/var/packages/transmission/target/share/transmission"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -440,9 +458,15 @@ getTransmissionPath() {
|
||||||
# 获取最后的发布版本号
|
# 获取最后的发布版本号
|
||||||
# 因在源码库里提交二进制文件不便于管理,以后将使用这种方式获取最新发布的版本
|
# 因在源码库里提交二进制文件不便于管理,以后将使用这种方式获取最新发布的版本
|
||||||
getLatestReleases() {
|
getLatestReleases() {
|
||||||
# VERSION=`wget -O - https://api.github.com/repos/ronggang/transmission-web-control/releases/latest | grep tag_name | head -n 1 | cut -d '"' -f 4`
|
# 优先使用curl,避免OpenWRT下wget得到的内容没有分行,导致grep输出结果失效
|
||||||
# 换为curl,避免OpenWRT下wget得到的内容没有分行,导致grep输出结果失效
|
if [ -x "$(which curl)" ] ; then
|
||||||
VERSION=`curl -s https://api.github.com/repos/ronggang/transmission-web-control/releases/latest | grep tag_name | head -n 1 | cut -d '"' -f 4`
|
VERSION=`curl -s $LAST_RELEASES | grep tag_name | head -n 1 | cut -d '"' -f 4`
|
||||||
|
elif [ -x "$(which wget)" ]; then
|
||||||
|
VERSION=`wget -O - $LAST_RELEASES | grep tag_name | head -n 1 | cut -d '"' -f 4`
|
||||||
|
else
|
||||||
|
showLog "$MSG_WGET_NOT_FIND"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# 检测 Transmission 进程是否存在
|
# 检测 Transmission 进程是否存在
|
||||||
|
|
Loading…
Reference in New Issue
Block a user