Refine ookla-speedtest generation script using Perl

This commit is contained in:
loyalsoldier 2020-01-27 21:16:23 +08:00
parent 82a87b23e6
commit bc7c8f7a4c

View File

@ -67,10 +67,7 @@ jobs:
- name: Automatically generate ookla-speedtest sub-list from source - name: Automatically generate ookla-speedtest sub-list from source
run: | run: |
curl -L -o servers-source.xml "https://c.speedtest.net/speedtest-servers-static.php" curl -L -o servers-source.xml "https://c.speedtest.net/speedtest-servers-static.php"
cat servers-source.xml | sed -nEe 's/.+host="(.+):[0-9]+".+/\L\1/p' | sort -u > hosts-with-ip.txt perl -ne '/host="(.+):[0-9]+"/ && print "full:$1\n"' servers-source.xml | perl -ne 'print if not /^(full:([0-9]{1,3}\.){3}[0-9]{1,3})$/' | perl -ne 'print lc' | sort --ignore-case -u >> $GOPATH/src/$GEOSITE_REPO/data/ookla-speedtest
sed -E '/^([0-9]{1,3}\.){3}[0-9]{1,3}$/d' hosts-with-ip.txt > hosts-without-ip.txt
cat hosts-without-ip.txt | awk '{printf "full:%s\n", $0}' > $GOPATH/src/$GEOSITE_REPO/data/ookla-speedtest
echo "include:ookla-speedtest-ads" >> $GOPATH/src/$GEOSITE_REPO/data/ookla-speedtest
- name: Get and add direct domains into temp-direct.txt file - name: Get and add direct domains into temp-direct.txt file
run: | run: |