Skip to content

Commit

Permalink
feat: extra parameters support logging
Browse files Browse the repository at this point in the history
  • Loading branch information
DDSRem committed Apr 27, 2024
1 parent 0494000 commit 2a77a93
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 20 deletions.
110 changes: 93 additions & 17 deletions all_in_one.sh
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,26 @@ function get_media_dir() {

}

function data_crep() { # container_run_extra_parameters

local MODE="${1}"
local DATA="${2}"
local DIR="${DDSREM_CONFIG_DIR}/data_crep"

if [ "${MODE}" == "read" ] || [ "${MODE}" == "r" ]; then
if [ -f "${DIR}/${DATA}.txt" ]; then
cat ${DIR}/${DATA}.txt | head -n1
else
echo "None"
fi
elif [ "${MODE}" == "write" ] || [ "${MODE}" == "w" ]; then
echo "${extra_parameters}" > ${DIR}/${DATA}.txt
else
return 1
fi

}

function install_xiaoya_alist() {

get_config_dir
Expand Down Expand Up @@ -2588,9 +2608,18 @@ function install_emby_xiaoya_all_emby() {
INFO "如果需要开启Emby硬件转码请先返回主菜单开启容器运行额外参数添加 -> 72"
container_run_extra_parameters=$(cat ${DDSREM_CONFIG_DIR}/container_run_extra_parameters.txt)
if [ "${container_run_extra_parameters}" == "true" ]; then
INFO "请输入其他参数(默认 --device /dev/dri:/dev/dri --privileged -e GIDLIST=0,0 -e NVIDIA_VISIBLE_DEVICES=all -e NVIDIA_DRIVER_CAPABILITIES=all )"
read -erp "Extra parameters:" extra_parameters
[[ -z "${extra_parameters}" ]] && extra_parameters="--device /dev/dri:/dev/dri --privileged -e GIDLIST=0,0 -e NVIDIA_VISIBLE_DEVICES=all -e NVIDIA_DRIVER_CAPABILITIES=all"
local RETURN_DATA
RETURN_DATA="$(data_crep "r" "install_xiaoya_emby")"
if [ "${RETURN_DATA}" == "None" ]; then
INFO "请输入其他参数(默认 --device /dev/dri:/dev/dri --privileged -e GIDLIST=0,0 -e NVIDIA_VISIBLE_DEVICES=all -e NVIDIA_DRIVER_CAPABILITIES=all )"
read -erp "Extra parameters:" extra_parameters
[[ -z "${extra_parameters}" ]] && extra_parameters="--device /dev/dri:/dev/dri --privileged -e GIDLIST=0,0 -e NVIDIA_VISIBLE_DEVICES=all -e NVIDIA_DRIVER_CAPABILITIES=all"
data_crep "write" "install_xiaoya_emby"
else
INFO "已读取您上次设置的参数:${RETURN_DATA} (默认不更改回车继续,如果需要更改请输入新参数)"
read -erp "Extra parameters:" extra_parameters
[[ -z "${extra_parameters}" ]] && extra_parameters=${RETURN_DATA}
fi
fi

get_nsswitch_conf_path
Expand Down Expand Up @@ -2808,16 +2837,31 @@ function install_xiaoya_notify_cron() {
auto_update_all_pikpak=no
fi

container_run_extra_parameters=$(cat ${DDSREM_CONFIG_DIR}/container_run_extra_parameters.txt)
if [ "${container_run_extra_parameters}" == "true" ]; then
local RETURN_DATA
RETURN_DATA="$(data_crep "r" "install_xiaoya_notify_cron")"
if [ "${RETURN_DATA}" == "None" ]; then
INFO "请输入其他参数(默认 无 )"
read -erp "Extra parameters:" extra_parameters
data_crep "w" "install_xiaoya_notify_cron"
else
INFO "已读取您上次设置的参数:${RETURN_DATA} (默认不更改回车继续,如果需要更改请输入新参数)"
read -erp "Extra parameters:" extra_parameters
[[ -z "${extra_parameters}" ]] && extra_parameters=${RETURN_DATA}
fi
fi

# 组合定时任务命令
CRON="${minu} ${hour} */${sync_day} * * bash -c \"\$(curl -k https://ddsrem.com/xiaoya/xiaoya_notify.sh)\" -s \
--auto_update_all_pikpak=${auto_update_all_pikpak} \
--auto_update_config=${auto_update_config} \
--force_update_config=no \
--media_dir=$(cat ${DDSREM_CONFIG_DIR}/xiaoya_alist_media_dir.txt) \
--config_dir=$(cat ${DDSREM_CONFIG_DIR}/xiaoya_alist_config_dir.txt) \
--emby_name=$(cat ${DDSREM_CONFIG_DIR}/container_name/xiaoya_emby_name.txt) \
--resilio_name=$(cat ${DDSREM_CONFIG_DIR}/container_name/xiaoya_resilio_name.txt) \
--xiaoya_name=$(cat ${DDSREM_CONFIG_DIR}/container_name/xiaoya_alist_name.txt) >> \
--xiaoya_name=$(cat ${DDSREM_CONFIG_DIR}/container_name/xiaoya_alist_name.txt) \
${extra_parameters} >> \
$(cat ${DDSREM_CONFIG_DIR}/resilio_config_dir.txt)/cron.log 2>&1"
if command -v crontab > /dev/null 2>&1; then
crontab -l | grep -v sync_emby_config | grep -v xiaoya_notify > /tmp/cronjob.tmp
Expand Down Expand Up @@ -2845,12 +2889,12 @@ $(cat ${DDSREM_CONFIG_DIR}/resilio_config_dir.txt)/cron.log 2>&1"
fi
CRON_PARAMETERS="--auto_update_all_pikpak=${auto_update_all_pikpak} \
--auto_update_config=${auto_update_config} \
--force_update_config=no \
--media_dir=$(cat ${DDSREM_CONFIG_DIR}/xiaoya_alist_media_dir.txt) \
--config_dir=$(cat ${DDSREM_CONFIG_DIR}/xiaoya_alist_config_dir.txt) \
--emby_name=$(cat ${DDSREM_CONFIG_DIR}/container_name/xiaoya_emby_name.txt) \
--resilio_name=$(cat ${DDSREM_CONFIG_DIR}/container_name/xiaoya_resilio_name.txt) \
--xiaoya_name=$(cat ${DDSREM_CONFIG_DIR}/container_name/xiaoya_alist_name.txt)"
--xiaoya_name=$(cat ${DDSREM_CONFIG_DIR}/container_name/xiaoya_alist_name.txt) \
${extra_parameters}"
docker run -itd \
--name=xiaoya-cron \
-e TZ=Asia/Shanghai \
Expand Down Expand Up @@ -2918,8 +2962,17 @@ function install_resilio() {

container_run_extra_parameters=$(cat ${DDSREM_CONFIG_DIR}/container_run_extra_parameters.txt)
if [ "${container_run_extra_parameters}" == "true" ]; then
INFO "请输入其他参数(默认 无 )"
read -erp "Extra parameters:" extra_parameters
local RETURN_DATA
RETURN_DATA="$(data_crep "r" "install_xiaoya_resilio")"
if [ "${RETURN_DATA}" == "None" ]; then
INFO "请输入其他参数(默认 无 )"
read -erp "Extra parameters:" extra_parameters
data_crep "w" "install_xiaoya_resilio"
else
INFO "已读取您上次设置的参数:${RETURN_DATA} (默认不更改回车继续,如果需要更改请输入新参数)"
read -erp "Extra parameters:" extra_parameters
[[ -z "${extra_parameters}" ]] && extra_parameters=${RETURN_DATA}
fi
fi

INFO "是否自动配置系统 inotify watches & instances 的数值 [Y/n](默认 Y)"
Expand Down Expand Up @@ -3117,9 +3170,14 @@ function main_resilio() {
function once_sync_emby_config() {

if command -v crontab > /dev/null 2>&1; then
COMMAND_1=$(crontab -l | grep 'xiaoya_notify' | sed 's/^.*-s//; s/>>.*$//' |
sed 's/--auto_update_all_pikpak=yes/--auto_update_all_pikpak=no/g' |
sed 's/--force_update_config=no/--force_update_config=yes/g')
COMMAND_1=$(crontab -l | grep 'xiaoya_notify' | sed 's/^.*-s//; s/>>.*$//' | sed 's/--auto_update_all_pikpak=yes/--auto_update_all_pikpak=no/g')
if [[ $COMMAND_1 == *"--force_update_config"* ]]; then
if [[ $COMMAND_1 == *"--force_update_config=no"* ]]; then
COMMAND_1="${COMMAND_1/--force_update_config=no/--force_update_config=yes}"
fi
else
COMMAND_1="$COMMAND_1 --force_update_config=yes"
fi
if [ -z "$COMMAND_1" ]; then
get_config_dir
get_media_dir
Expand All @@ -3136,9 +3194,14 @@ function once_sync_emby_config() {
COMMAND="bash -c \"\$(curl -k https://ddsrem.com/xiaoya/xiaoya_notify.sh | head -n -2 && echo detection_config_update)\" -s ${COMMAND_1}"
fi
elif [ -f /etc/synoinfo.conf ]; then
COMMAND_1=$(grep 'xiaoya_notify' /etc/crontab | sed 's/^.*-s//; s/>>.*$//' |
sed 's/--auto_update_all_pikpak=yes/--auto_update_all_pikpak=no/g' |
sed 's/--force_update_config=no/--force_update_config=yes/g')
COMMAND_1=$(grep 'xiaoya_notify' /etc/crontab | sed 's/^.*-s//; s/>>.*$//' | sed 's/--auto_update_all_pikpak=yes/--auto_update_all_pikpak=no/g')
if [[ $COMMAND_1 == *"--force_update_config"* ]]; then
if [[ $COMMAND_1 == *"--force_update_config=no"* ]]; then
COMMAND_1="${COMMAND_1/--force_update_config=no/--force_update_config=yes}"
fi
else
COMMAND_1="$COMMAND_1 --force_update_config=yes"
fi
if [ -z "$COMMAND_1" ]; then
get_config_dir
get_media_dir
Expand Down Expand Up @@ -3649,8 +3712,17 @@ function install_xiaoya_alist_tvbox() {

container_run_extra_parameters=$(cat ${DDSREM_CONFIG_DIR}/container_run_extra_parameters.txt)
if [ "${container_run_extra_parameters}" == "true" ]; then
INFO "请输入其他参数(默认 无 )"
read -erp "Extra parameters:" extra_parameters
local RETURN_DATA
RETURN_DATA="$(data_crep "r" "install_xiaoya_alist_tvbox")"
if [ "${RETURN_DATA}" == "None" ]; then
INFO "请输入其他参数(默认 无 )"
read -erp "Extra parameters:" extra_parameters
data_crep "w" "install_xiaoya_alist_tvbox"
else
INFO "已读取您上次设置的参数:${RETURN_DATA} (默认不更改回车继续,如果需要更改请输入新参数)"
read -erp "Extra parameters:" extra_parameters
[[ -z "${extra_parameters}" ]] && extra_parameters=${RETURN_DATA}
fi
fi

if ls ${CONFIG_DIR}/*.txt 1> /dev/null 2>&1; then
Expand Down Expand Up @@ -4554,6 +4626,10 @@ function first_init() {
echo 'false' > ${DDSREM_CONFIG_DIR}/container_run_extra_parameters.txt
fi

if [ ! -d ${DDSREM_CONFIG_DIR}/data_crep ]; then
mkdir -p ${DDSREM_CONFIG_DIR}/data_crep
fi

if [ ! -f ${DDSREM_CONFIG_DIR}/data_downloader.txt ]; then
if [ "$OSNAME" = "ugreen" ]; then
echo 'wget' > ${DDSREM_CONFIG_DIR}/data_downloader.txt
Expand Down
13 changes: 10 additions & 3 deletions cron/rootfs/etc/s6-overlay/s6-rc.d/init-config/run
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,16 @@ crontab -r
CRON_COMMAND="bash -c \"\$(curl -k https://ddsrem.com/xiaoya/xiaoya_notify.sh)\" -s ${parameters}"

echo -e "${CRON} ${CRON_COMMAND} >> /config/cron.log 2>&1" > /app/cronjob.list
echo -e "bash -c \"\$(curl -k https://ddsrem.com/xiaoya/xiaoya_notify.sh | head -n -2 && echo detection_config_update)\" -s ${parameters}" | \
sed 's/--auto_update_all_pikpak=yes/--auto_update_all_pikpak=no/g' | \
sed 's/--force_update_config=no/--force_update_config=yes/g' > /app/command.sh

COMMAND_1="${parameters//\--auto_update_all_pikpak=yes/--auto_update_all_pikpak=no}"
if [[ $COMMAND_1 == *"--force_update_config"* ]]; then
if [[ $COMMAND_1 == *"--force_update_config=no"* ]]; then
COMMAND_1="${COMMAND_1/--force_update_config=no/--force_update_config=yes}"
fi
else
COMMAND_1="$COMMAND_1 --force_update_config=yes"
fi
echo -e "bash -c \"\$(curl -k https://ddsrem.com/xiaoya/xiaoya_notify.sh | head -n -2 && echo detection_config_update)\" -s ${COMMAND_1}" > /app/command.sh

INFO "$(cat /app/cronjob.list)"

Expand Down

0 comments on commit 2a77a93

Please sign in to comment.