3 [ "$(uci get network.globals.ula_prefix)" != "auto" ] && exit 0
4 # Sometimes results are empty, therefore try until it works...
6 while [ -z "$r1" -o -z "$r2" -o -z "$r3" ]; do
7 r1
=$
(printf "%02x" $
(($
(</dev
/urandom
tr -dc 0-9 |
dd bs
=9 count
=1) % 256)))
8 r2
=$
(printf "%01x" $
(($
(</dev
/urandom
tr -dc 0-9 |
dd bs
=9 count
=1) % 65536)))
9 r3
=$
(printf "%01x" $
(($
(</dev
/urandom
tr -dc 0-9 |
dd bs
=9 count
=1) % 65536)))
12 uci
-q batch <<-EOF >/dev/null
13 set network.globals.ula_prefix=fd$r1:$r2:$r3::/48