From 37b3fdb3bb53fe1507d203a072d8cb2db95e7b2a Mon Sep 17 00:00:00 2001 From: gently <1243610+gentlyxu@users.noreply.github.com> Date: Mon, 20 Jan 2020 15:14:48 +0800 Subject: [PATCH] Update shell script logic --- start-ci.sh | 137 +++++++++++++++++++--------------------------------- 1 file changed, 51 insertions(+), 86 deletions(-) diff --git a/start-ci.sh b/start-ci.sh index d31fd3f2..c121ddc9 100755 --- a/start-ci.sh +++ b/start-ci.sh @@ -4,112 +4,77 @@ source /etc/profile cd $(cd "$(dirname "$0")";pwd) -echo '开始下载 easylist1...' -curl -o ./origin-files/easylist1.txt --connect-timeout 60 \ - -s \ -https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt +easylist=( + "https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt" + "https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-annoyance.txt" + "https://easylist.to/easylist/fanboy-annoyance.txt" + "https://easylist.to/easylist/easyprivacy.txt" +) -# shellcheck disable=SC2181 -if [ $? -ne 0 ];then - echo '下载失败,请重试' - exit 1 -fi +hosts=( + "https://raw.githubusercontent.com/neoFelhz/neohosts/gh-pages/full/hosts.txt" + "https://raw.githubusercontent.com/vokins/yhosts/master/hosts" + "https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts" +) -echo '开始下载 easylist2...' -curl -o ./origin-files/easylist2.txt --connect-timeout 60 \ - -s \ -https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjx-annoyance.txt +strict_hosts=( + "https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt" +) -# shellcheck disable=SC2181 -if [ $? -ne 0 ];then - echo '下载失败,请重试' - exit 1 -fi +rm -f ./origin-files/easylist* +rm -f ./origin-files/hosts* +rm -f ./origin-files/strict-hosts* -echo '开始下载 easylist3...' -curl -o ./origin-files/easylist3.txt --connect-timeout 60 \ - -s \ -https://easylist.to/easylist/fanboy-annoyance.txt +for i in "${!easylist[@]}" +do + echo "开始下载 easylist${i}..." + curl -o "./origin-files/easylist${i}.txt" --connect-timeout 60 -s "${easylist[$i]}" + # shellcheck disable=SC2181 + if [ $? -ne 0 ];then + echo '下载失败,请重试' + exit 1 + fi +done -# shellcheck disable=SC2181 -if [ $? -ne 0 ];then - echo '下载失败,请重试' - exit 1 -fi +for i in "${!hosts[@]}" +do + echo "开始下载 hosts${i}..." + curl -o "./origin-files/hosts${i}.txt" --connect-timeout 60 -s "${hosts[$i]}" + # shellcheck disable=SC2181 + if [ $? -ne 0 ];then + echo '下载失败,请重试' + exit 1 + fi +done +for i in "${!strict_hosts[@]}" +do + echo "开始下载 strict-hosts${i}..." + curl -o "./origin-files/strict-hosts${i}.txt" --connect-timeout 60 -s "${strict_hosts[$i]}" + # shellcheck disable=SC2181 + if [ $? -ne 0 ];then + echo '下载失败,请重试' + exit 1 + fi +done -echo '开始下载 easylist4...' -curl -o ./origin-files/easylist4.txt --connect-timeout 60 \ - -s \ -https://easylist.to/easylist/easyprivacy.txt - -# shellcheck disable=SC2181 -if [ $? -ne 0 ];then - echo '下载失败,请重试' - exit 1 -fi - - -echo '开始下载 hosts1...' -curl -o ./origin-files/hosts1 --connect-timeout 60 \ - -s \ - https://raw.githubusercontent.com/neoFelhz/neohosts/gh-pages/full/hosts.txt - -# shellcheck disable=SC2181 -if [ $? -ne 0 ];then - echo '下载失败,请重试' - exit 1 -fi - -echo '开始下载 hosts2...' -curl -o ./origin-files/hosts2 --connect-timeout 60 \ - -s \ - https://raw.githubusercontent.com/vokins/yhosts/master/hosts - -# shellcheck disable=SC2181 -if [ $? -ne 0 ];then - echo '下载失败,请重试' - exit 1 -fi - -echo '开始下载 hosts3...' -curl -o ./origin-files/hosts3 --connect-timeout 60 \ - -s \ - https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts - -# shellcheck disable=SC2181 -if [ $? -ne 0 ];then - echo '下载失败,请重试' - exit 1 -fi - -echo '开始下载 strict-hosts1...' -curl -o ./origin-files/strict-hosts1 --connect-timeout 60 \ - -s \ - https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt - -# shellcheck disable=SC2181 -if [ $? -ne 0 ];then - echo '下载失败,请重试' - exit 1 -fi cd origin-files -cat hosts* | grep -v -E "^((#.*)|(\s*))$" \ +cat hosts*.txt | grep -v -E "^((#.*)|(\s*))$" \ | grep -v -E "^[0-9\.:]+\s+(ip6\-)?(localhost|loopback)$" \ | sed s/0.0.0.0/127.0.0.1/g | sed s/::/127.0.0.1/g | sort \ | uniq >base-src-hosts.txt -cat strict-hosts* | grep -v -E "^((#.*)|(\s*))$" \ +cat strict-hosts*.txt | grep -v -E "^((#.*)|(\s*))$" \ | grep -v -E "^[0-9\.:]+\s+(ip6\-)?(localhost|loopback)$" \ | sed s/0.0.0.0/127.0.0.1/g | sed s/::/127.0.0.1/g | sort \ | uniq >base-src-strict-hosts.txt cat easylist*.txt | grep -E "^\|\|[^\*\^]+?\^" | sort | uniq >base-src-easylist.txt -cat easylist*.txt | grep -E "^\|\|?[^\^=\/:]+?\*[^\^=\/:]+?\^" | sort | uniq >wildcard-src-easylist.txt -cat easylist*.txt | grep -E "^@@\|\|?[^\^=\/:]+?\^[^\/=\*]+?$" | sort | uniq >whiterule-src-easylist.txt +cat easylist*.txt | grep -E "^\|\|?([^\^=\/:]+)?\*([^\^=\/:]+)?\^" | sort | uniq >wildcard-src-easylist.txt +cat easylist*.txt | grep -E "^@@\|\|?[^\^=\/:]+?\^([^\/=\*]+)?$" | sort | uniq >whiterule-src-easylist.txt cd ../