3 # fetch up to date mirrorlist of selected country
4 # and optionally sort them
5 # auto detect all mirrors if no country is selected
7 if ! iroot askmirrors; then
8 echo "skipping mirrors"
12 echo "fetching mirrors"
14 if ! iroot automirrors; then
15 COUNTRYCODE="$(iroot countrycode)"
16 echo "fetching mirrors for $COUNTRYCODE"
18 curl -s "https://archlinux.org/mirrorlist/?country=$COUNTRYCODE&protocol=http&protocol=https&ip_version=4&use_mirror_status=on" |
19 grep -iE '(Server|generated)' |
20 sed 's/^#Server /Server /g' >/tmp/mirrorlist
22 cat /etc/pacman.d/mirrorlist >/tmp/oldmirrorlist
24 if iroot sortmirrors; then
25 head -20 /tmp/mirrorlist >/tmp/mirrorlist2
26 rankmirrors -n 6 /tmp/mirrorlist2 >/tmp/topmirrors
29 cat /tmp/topmirrors >/etc/pacman.d/mirrorlist
33 echo "" >/etc/pacman.d/mirrorlist
36 cat /tmp/mirrorlist >>/etc/pacman.d/mirrorlist
37 cat /tmp/oldmirrorlist >>/etc/pacman.d/mirrorlist
38 mkdir /root/instantARCH/backup
39 cat /etc/pacman.d/mirrorlist > /root/instantARCH/backup/mirrorlist
41 echo "ranking mirrors"
42 reflector --latest 40 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist
45 cat /etc/pacman.d/mirrorlist> /root/instantARCH/config/mirrorlistbackup