summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/profile/proteanos.sh21
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()