diff --git a/archfi b/archfi index 1db8ca6..48ae2d0 100644 --- a/archfi +++ b/archfi @@ -739,6 +739,7 @@ installmenu(){ options=() #options+=("${txtselectmirrorsbycountry}" "(${txtoptional})") options+=("${txteditmirrorlist}" "(${txtoptional})") + options+=("Filter mirrorlist" "Reflector") options+=("${txtinstallarchlinux}" "pacstrap") options+=("${txtconfigarchlinux}" "") sel=$(whiptail --backtitle "${apptitle}" --title "${txtinstallmenu}" --menu "" --cancel-button "${txtunmount}" --default-item "${nextitem}" 0 0 0 \ @@ -754,6 +755,10 @@ installmenu(){ ${EDITOR} /etc/pacman.d/mirrorlist nextitem="${txtinstallarchlinux}" ;; + "Filter mirrorlist") + rankmirrorlist + nextitem="${txtinstallarchlinux}" + ;; "${txtinstallarchlinux}") if(installbase) then nextitem="${txtconfigarchlinux}" @@ -789,6 +794,29 @@ selectmirrorsbycountry() { sed "s/^\(Server .*\)/\#\1/;/^## $country/N; {s/^\(## .*\n\)\#Server \(.*\)/\1Server \2/}" < /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist } +rankmirrorlist() { + command -v reflector > /dev/null || { + echo "pacman -S --noconfirm reflector" + pacman -S --noconfirm reflector + } + options=() + options+=("Filter mirrorlist") + options+=("Edit /etc/xdg/reflector/reflector.conf") + sel=$(whiptail --backtitle "${apptitle}" --title "${txtinstallmenu}" --menu "" --cancel-button "${txtback}" --default-item "Filter mirrorlist" 0 0 0 \ + "${options[@]}" \ + 3>&1 1>&2 2>&3) + case ${sel} in + "Filter mirrorlist") + echo "systemctl start reflector.service" + systemctl start reflector.service + pressanykey + ;; + "Edit /etc/xdg/reflector/reflector.conf") + ${EDITOR} /etc/xdg/reflector/reflector.conf + ;; + esac +} + installbase(){ pkgs="base" options=()