182 lines
6.8 KiB
Bash
182 lines
6.8 KiB
Bash
#!/bin/bash
|
||
|
||
print_status() {
|
||
echo
|
||
echo "## $1"
|
||
echo
|
||
}
|
||
|
||
if test -t 1; then # if terminal
|
||
ncolors=$(which tput > /dev/null && tput colors) # supports color
|
||
if test -n "$ncolors" && test $ncolors -ge 8; then
|
||
termcols=$(tput cols)
|
||
bold="$(tput bold)"
|
||
underline="$(tput smul)"
|
||
standout="$(tput smso)"
|
||
normal="$(tput sgr0)"
|
||
black="$(tput setaf 0)"
|
||
red="$(tput setaf 1)"
|
||
green="$(tput setaf 2)"
|
||
yellow="$(tput setaf 3)"
|
||
blue="$(tput setaf 4)"
|
||
magenta="$(tput setaf 5)"
|
||
cyan="$(tput setaf 6)"
|
||
white="$(tput setaf 7)"
|
||
fi
|
||
fi
|
||
|
||
print_bold_deprecation() {
|
||
title="$1"
|
||
text="$2"
|
||
|
||
echo
|
||
echo "${bold}${red}================================================================================${normal}"
|
||
echo "${bold}${red}▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓${normal}"
|
||
echo "${bold}${red}================================================================================${normal}"
|
||
echo
|
||
echo -e " ${bold}${yellow}${title}${normal}"
|
||
echo
|
||
echo -en " ${text}"
|
||
echo
|
||
echo "${bold}${red}================================================================================${normal}"
|
||
echo "${bold}${red}▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓${normal}"
|
||
echo "${bold}${red}================================================================================${normal}"
|
||
}
|
||
|
||
repo_deprecation_warning() {
|
||
print_bold_deprecation \
|
||
" ${underline}小雅播放程序安装指南${normal} " "\
|
||
|
||
${green}${bold}注意:你必须首先取得个人阿里云盘app的token!
|
||
|
||
注意:32位token获得地址:https://csb.histb.com
|
||
|
||
注意:280位token获得地址:https://alist.nn.ci/tool/aliyundrive/request.html
|
||
|
||
注意:阿里云盘资源库文件夹id,请自行百度参考相关教程
|
||
|
||
请完全准备好上述3个参数再运行安装本脚本。${normal}
|
||
|
||
|
||
${underline}${bold}${yellow}小雅播放程序安装指南${normal}
|
||
|
||
${bold}${yellow}海纳思系统,我是小盒子,也是大世界${normal}
|
||
"
|
||
|
||
echo
|
||
echo "${cyan}${bold}10秒冷却时间等待中${normal}"
|
||
echo
|
||
sleep 10
|
||
echo "${green}按回车键确认继续执行 (或者按 Ctrl-C 取消执行) ...${normal}"
|
||
echo
|
||
read wait
|
||
}
|
||
|
||
repo_deprecation_warning
|
||
|
||
if [ -x "$(command -v docker)" ]; then
|
||
echo "${green}docker程序已安装 ...${normal}"
|
||
else
|
||
install-docker.sh
|
||
fi
|
||
|
||
if [ -d /etc/xiaoya/mytoken.txt ]; then
|
||
rm -rf /etc/xiaoya/mytoken.txt
|
||
fi
|
||
mkdir -p /etc/xiaoya
|
||
touch /etc/xiaoya/mytoken.txt
|
||
touch /etc/xiaoya/myopentoken.txt
|
||
touch /etc/xiaoya/temp_transfer_folder_id.txt
|
||
|
||
mytokenfilesize=$(cat /etc/xiaoya/mytoken.txt)
|
||
mytokenstringsize=${#mytokenfilesize}
|
||
if [ $mytokenstringsize -le 31 ]; then
|
||
echo -e "\033[32m"
|
||
read -p "输入你的阿里云盘 Token(32位长): " token
|
||
token_len=${#token}
|
||
if [ $token_len -ne 32 ]; then
|
||
echo "长度不对,阿里云盘 Token是32位长"
|
||
echo -e "安装停止,请参考指南配置文件\nhttps://xiaoyaliu.notion.site/xiaoya-docker-69404af849504fa5bcf9f2dd5ecaa75f \n"
|
||
echo -e "\033[0m"
|
||
exit
|
||
else
|
||
echo $token > /etc/xiaoya/mytoken.txt
|
||
fi
|
||
echo -e "\033[0m"
|
||
fi
|
||
|
||
myopentokenfilesize=$(cat /etc/xiaoya/myopentoken.txt)
|
||
myopentokenstringsize=${#myopentokenfilesize}
|
||
if [ $myopentokenstringsize -le 279 ]; then
|
||
echo -e "\033[33m"
|
||
read -p "输入你的阿里云盘 Open Token(280位长或者335位长): " opentoken
|
||
opentoken_len=${#opentoken}
|
||
if [[ $opentoken_len -ne 280 ]] && [[ $opentoken_len -ne 335 ]]; then
|
||
echo "长度不对,阿里云盘 Open Token是280位长或者335位"
|
||
echo -e "安装停止,请参考指南配置文件\nhttps://xiaoyaliu.notion.site/xiaoya-docker-69404af849504fa5bcf9f2dd5ecaa75f \n"
|
||
echo -e "\033[0m"
|
||
exit
|
||
else
|
||
echo $opentoken > /etc/xiaoya/myopentoken.txt
|
||
fi
|
||
echo -e "\033[0m"
|
||
fi
|
||
|
||
folderidfilesize=$(cat /etc/xiaoya/temp_transfer_folder_id.txt)
|
||
folderidstringsize=${#folderidfilesize}
|
||
if [ $folderidstringsize -le 39 ]; then
|
||
echo -e "\033[36m"
|
||
read -p "输入你的阿里云盘转存目录folder id: " folderid
|
||
folder_id_len=${#folderid}
|
||
if [ $folder_id_len -ne 40 ]; then
|
||
echo "长度不对,阿里云盘 folder id是40位长"
|
||
echo -e "安装停止,请参考指南配置文件\nhttps://xiaoyaliu.notion.site/xiaoya-docker-69404af849504fa5bcf9f2dd5ecaa75f \n"
|
||
echo -e "\033[0m"
|
||
exit
|
||
else
|
||
echo $folderid > /etc/xiaoya/temp_transfer_folder_id.txt
|
||
fi
|
||
echo -e "\033[0m"
|
||
fi
|
||
|
||
#echo "new" > /etc/xiaoya/show_my_ali.txt
|
||
if command -v ifconfig &> /dev/null; then
|
||
localip=$(ifconfig -a|grep inet|grep -v 172.17 | grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"|head -n1)
|
||
else
|
||
localip=$(ip address|grep inet|grep -v 172.17 | grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"|head -n1|cut -f1 -d"/")
|
||
fi
|
||
|
||
if [ $1 ]; then
|
||
if [ $1 == 'host' ]; then
|
||
if [ ! -s /etc/xiaoya/docker_address.txt ]; then
|
||
echo "http://$localip:6789" > /etc/xiaoya/docker_address.txt
|
||
fi
|
||
docker stop xiaoya-hostmode
|
||
docker rm xiaoya-hostmode
|
||
docker rmi xiaoyaliu/alist:hostmode
|
||
docker pull xiaoyaliu/alist:hostmode
|
||
if [[ -f /etc/xiaoya/proxy.txt ]] && [[ -s /etc/xiaoya/proxy.txt ]]; then
|
||
proxy_url=$(head -n1 /etc/xiaoya/proxy.txt)
|
||
docker run -d --env HTTP_PROXY="$proxy_url" --env HTTPS_PROXY="$proxy_url" --env no_proxy="*.aliyundrive.com" --network=host -v /etc/xiaoya:/data --restart=always --name=xiaoya-hostmode xiaoyaliu/alist:hostmode
|
||
else
|
||
docker run -d --network=host -v /etc/xiaoya:/data --restart=always --name=xiaoya-hostmode xiaoyaliu/alist:hostmode
|
||
fi
|
||
exit
|
||
fi
|
||
fi
|
||
|
||
if [ ! -s /etc/xiaoya/docker_address.txt ]; then
|
||
echo "http://$localip:5678" > /etc/xiaoya/docker_address.txt
|
||
fi
|
||
docker stop xiaoya
|
||
docker rm xiaoya
|
||
docker rmi xiaoyaliu/alist:latest
|
||
docker pull xiaoyaliu/alist:latest
|
||
if [[ -f /etc/xiaoya/proxy.txt ]] && [[ -s /etc/xiaoya/proxy.txt ]]; then
|
||
proxy_url=$(head -n1 /etc/xiaoya/proxy.txt)
|
||
docker run -d -p 5678:80 -p 2345:2345 -p 2346:2346 --env HTTP_PROXY="$proxy_url" --env HTTPS_PROXY="$proxy_url" --env no_proxy="*.aliyundrive.com" -v /etc/xiaoya:/data --restart=always --name=xiaoya xiaoyaliu/alist:latest
|
||
else
|
||
docker run -d -p 5678:80 -p 2345:2345 -p 2346:2346 -v /etc/xiaoya:/data --restart=always --name=xiaoya xiaoyaliu/alist:latest
|
||
fi
|
||
|