From 3efc29644b8314a46f370c892bd9153d48376edc Mon Sep 17 00:00:00 2001 From: teasiu Date: Wed, 21 Feb 2024 20:59:17 +0800 Subject: [PATCH] update --- static/xiaoya.sh | 181 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 static/xiaoya.sh diff --git a/static/xiaoya.sh b/static/xiaoya.sh new file mode 100644 index 0000000..7dedfb6 --- /dev/null +++ b/static/xiaoya.sh @@ -0,0 +1,181 @@ +#!/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 +