diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/profile/proteanos.sh | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/lib/profile/proteanos.sh b/lib/profile/proteanos.sh index b78c5e8..92db579 100644 --- a/lib/profile/proteanos.sh +++ b/lib/profile/proteanos.sh @@ -81,24 +81,17 @@ prof_proteanos_default_plat() prof_proteanos_select_mirror() { + local mirrors= + local mirrors_count= local rand= - local mirror= + mirrors="$(wget -q -O - \ + 'http://files.proteanos.com/pub/proteanos-mirrors-http')" + mirrors_count=$(printf '%s\n' "${mirrors}" | wc -l) rand=$(date '+%S') - rand=$(($rand % 3)) - case ${rand} in - 0) - mirror='http://us.mirror.gnu.dk/pub/proteanos' - ;; - 1) - mirror='http://eu.mirror.gnu.dk/pub/proteanos' - ;; - 2) - mirror='http://mirror.oss.maxcdn.com/proteanos' - ;; - esac + rand=$(($rand % $mirrors_count + 1)) - printf '%s\n' "${mirror}" + printf '%s\n' "${mirrors}" | sed -n "${rand}p" } prof_proteanos_validate_archplat() |