diff --git a/sample/config.sample.sh b/sample/config.sample.sh index 7d6f3131..e9740735 100644 --- a/sample/config.sample.sh +++ b/sample/config.sample.sh @@ -16,8 +16,8 @@ DefaultCronRule="" ## ql repo命令拉取脚本时需要拉取的文件后缀,直接写文件后缀名即可 RepoFileExtensions="js py" -## 由于github仓库拉取较慢,所以会默认添加代理前缀,如不需要请移除 -GithubProxyUrl="https://ghproxy.com/" +## 代理地址,支持http/https/socks,例如 http://127.0.0.1:7890 +ProxyUrl="" ## 设置定时任务执行的超时时间,默认1h,后缀"s"代表秒(默认值), "m"代表分, "h"代表小时, "d"代表天 CommandTimeoutTime="1h" diff --git a/shell/bot.sh b/shell/bot.sh index 53076af7..d2dbe2a9 100644 --- a/shell/bot.sh +++ b/shell/bot.sh @@ -5,7 +5,7 @@ dir_shell=/ql/shell . $dir_shell/share.sh if [[ -z ${BotRepoUrl} ]]; then - url="${github_proxy_url}https://github.com/SuMaiKaDe/bot.git" + url="https://github.com/SuMaiKaDe/bot.git" repo_path="${dir_repo}/dockerbot" else url=${BotRepoUrl} diff --git a/shell/share.sh b/shell/share.sh index 95f71dc4..00ca0cc0 100755 --- a/shell/share.sh +++ b/shell/share.sh @@ -67,7 +67,7 @@ import_config() { [[ -f $file_env ]] && . $file_env command_timeout_time=${CommandTimeoutTime:-"1h"} - github_proxy_url=${GithubProxyUrl:-""} + proxy_url=${ProxyUrl:-""} file_extensions=${RepoFileExtensions:-"js py"} if [[ -n "${DefaultCronRule}" ]]; then @@ -77,6 +77,18 @@ import_config() { fi } +set_proxy() { + if [[ $proxy_url ]]; then + export http_proxy="${proxy_url}" + export https_proxy="${proxy_url}" + fi +} + +unset_proxy() { + unset http_proxy + unset https_proxy +} + make_dir() { local dir=$1 if [[ ! -d $dir ]]; then @@ -287,7 +299,11 @@ git_clone_scripts() { local branch=$3 [[ $branch ]] && local part_cmd="-b $branch " echo -e "开始克隆仓库 $url 到 $dir\n" + + set_proxy git clone $part_cmd $url $dir + unset_proxy + exit_status=$? } @@ -298,10 +314,14 @@ git_pull_scripts() { [[ $branch ]] && local part_cmd="origin/${branch}" cd $dir_work echo -e "开始更新仓库:$dir_work\n" + + set_proxy git fetch --all exit_status=$? git reset --hard $part_cmd git pull + unset_proxy + cd $dir_current } diff --git a/shell/update.sh b/shell/update.sh index 7c1d1197..24244b80 100755 --- a/shell/update.sh +++ b/shell/update.sh @@ -151,11 +151,6 @@ update_repo() { make_dir "${dir_scripts}/${uniq_path}" local formatUrl="$url" - if [[ $github_proxy_url ]]; then - if [[ $url =~ "github.com" ]] || [[ $url =~ "githubusercontent.com" ]]; then - [[ ! $url =~ "https://ghproxy.com" ]] && formatUrl="${github_proxy_url}${url}" - fi - fi if [[ -d ${repo_path}/.git ]]; then reset_romote_url ${repo_path} "${formatUrl}" "${branch}" git_pull_scripts ${repo_path} "${branch}" @@ -183,15 +178,14 @@ update_raw() { echo -e "--------------------------------------------------------------\n" local url="$1" local raw_url="$url" - if [[ $github_proxy_url ]]; then - if [[ $url =~ "github.com" ]] || [[ $url =~ "githubusercontent.com" ]]; then - [[ ! $url =~ "https://ghproxy.com" ]] && raw_url="${github_proxy_url}${url}" - fi - fi local suffix="${raw_url##*.}" local raw_file_name="${uniq_path}.${suffix}" echo -e "开始下载:${raw_url} \n\n保存路径:$dir_raw/${raw_file_name}\n" + + set_proxy wget -q --no-check-certificate -O "$dir_raw/${raw_file_name}.new" ${raw_url} + unset_proxy + if [[ $? -eq 0 ]]; then mv "$dir_raw/${raw_file_name}.new" "$dir_raw/${raw_file_name}" echo -e "下载 ${raw_file_name} 成功...\n" @@ -259,7 +253,7 @@ update_qinglong() { local no_restart="$1" [[ -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" "master" + reset_romote_url ${dir_root} "https://github.com/whyour/qinglong.git" "master" git_pull_scripts $dir_root "master" if [[ $exit_status -eq 0 ]]; then @@ -274,7 +268,7 @@ update_qinglong() { echo -e "\n更新$dir_root失败,请检查原因...\n" fi - local url="${github_proxy_url}https://github.com/whyour/qinglong-static.git" + local url="https://github.com/whyour/qinglong-static.git" if [[ -d ${ql_static_repo}/.git ]]; then reset_romote_url ${ql_static_repo} ${url} "master" git_pull_scripts ${ql_static_repo} "master"