diff --git a/docker/Dockerfile b/docker/Dockerfile index 6bc8a2e4..599379c2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,6 +1,6 @@ FROM node:lts-alpine LABEL maintainer="whyour" -ARG QL_URL=https://ghproxy.com/https://github.com/whyour/qinglong.git +ARG QL_URL=https://github.com/whyour/qinglong.git ARG QL_BRANCH=master ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ LANG=zh_CN.UTF-8 \ @@ -16,6 +16,7 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories moreutils \ git \ curl \ + wget \ tzdata \ perl \ openssl \ diff --git a/sample/config.sample.sh b/sample/config.sample.sh index 354b14fb..9c040605 100644 --- a/sample/config.sample.sh +++ b/sample/config.sample.sh @@ -1,6 +1,6 @@ ## Version: v2.0.0-05302045 ## Date: 2021-05-30 -## Update Content: 增加ql bot命令所需文件提示 +## Update Content: 增加GithubProxyUrl参数,访问github链接不需要代理时,可移除此参数 ## 上面版本号中,如果第2位数字有变化,那么代表增加了新的参数,如果只有第3位数字有变化,仅代表更新了注释,没有增加新的参数,可更新可不更新 @@ -10,6 +10,9 @@ AutoDelCron="true" ## 在运行 ql repo 命令时,是否自动增加新的本地定时任务 AutoAddCron="true" +## 由于github仓库拉取较慢,所以会默认添加代理前缀,如不需要请移除 +GithubProxyUrl="https://ghproxy.com/" + ## 设置定时任务执行的超时时间,默认1h,后缀"s"代表秒(默认值), "m"代表分, "h"代表小时, "d"代表天 CommandTimeoutTime="1h" diff --git a/shell/share.sh b/shell/share.sh index aaeaec99..9df6d354 100755 --- a/shell/share.sh +++ b/shell/share.sh @@ -60,6 +60,7 @@ import_config() { done command_timeout_time=${CommandTimeoutTime:-"1h"} + github_proxy_url=${GithubProxyUrl:-""} } ## 创建目录,$1:目录的绝对路径 diff --git a/shell/update.sh b/shell/update.sh index 830a5cce..d3362409 100755 --- a/shell/update.sh +++ b/shell/update.sh @@ -125,12 +125,13 @@ add_cron() { if [ -f $file ]; then cron_line=$( perl -ne "{ - print if /.*([\d\*]*[\*-\/,\d]*[\d\*] ){4,5}[\d\*]*[\*-\/,\d]*[\d\*]( |,|\").*$file_name/ - }" $file | + print if /.*([\d\*]*[\*-\/,\d]*[\d\*] ){4,5}[\d\*]*[\*-\/,\d]*[\d\*]( |,|\").*/ + }" $file | perl -pe "{ - s|[^\d\*]*(([\d\*]*[\*-\/,\d]*[\d\*] ){4,5}[\d\*]*[\*-\/,\d]*[\d\*])( \|,\|\").*/?$file_name.*|\1|g; - s| | |g - }" | sort -u | head -1 + s|[^\d\*]*(([\d\*]*[\*-\/,\d]*[\d\*] ){4,5}[\d\*]*[\*-\/,\d]*[\d\*])( \|,\|\").*|\1|g; + s|\*([\d\*])(.*)|\1\2|g; + s| | |g; + }" | sort -u | head -1 ) cron_name=$(grep "new Env" $file | awk -F "'|\"" '{print $2}' | head -1) [[ -z $cron_name ]] && cron_name="$file_name" @@ -193,11 +194,12 @@ update_raw() { cp -f $raw_file_name $dir_scripts/${filename} cron_line=$( perl -ne "{ - print if /.*([\d\*]*[\*-\/,\d]*[\d\*] ){4,5}[\d\*]*[\*-\/,\d]*[\d\*]( |,|\").*$raw_file_name/ + print if /.*([\d\*]*[\*-\/,\d]*[\d\*] ){4,5}[\d\*]*[\*-\/,\d]*[\d\*]( |,|\").*/ }" $raw_file_name | perl -pe "{ - s|[^\d\*]*(([\d\*]*[\*-\/,\d]*[\d\*] ){4,5}[\d\*]*[\*-\/,\d]*[\d\*])( \|,\|\").*/?$raw_file_name.*|\1|g; - s| | |g + s|[^\d\*]*(([\d\*]*[\*-\/,\d]*[\d\*] ){4,5}[\d\*]*[\*-\/,\d]*[\d\*])( \|,\|\").*|\1|g; + s|\*([\d\*])(.*)|\1\2|g; + s| | |g; }" | sort -u | head -1 ) cron_name=$(grep "new Env" $raw_file_name | awk -F "'|\"" '{print $2}' | head -1) @@ -244,6 +246,7 @@ usage() { update_qinglong() { echo -e "--------------------------------------------------------------\n" [ -f $dir_root/package.json ] && ql_depend_old=$(cat $dir_root/package.json) + reset_romote_url ${dir_root} "${github_proxy_url}https://github.com/whyour/qinglong.git" git_pull_scripts $dir_root if [[ $exit_status -eq 0 ]]; then @@ -258,7 +261,7 @@ update_qinglong() { echo -e "\n更新$dir_root失败,请检查原因...\n" fi - local url="https://ghproxy.com/https://github.com/whyour/qinglong-static.git" + local url="${github_proxy_url}https://github.com/whyour/qinglong-static.git" if [ -d ${ql_static_repo}/.git ]; then reset_romote_url ${ql_static_repo} ${url} cd ${ql_static_repo}