diff options
author | makefu <github@syntax-fehler.de> | 2014-02-21 13:23:05 +0100 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2014-02-21 13:23:05 +0100 |
commit | 1046da40ddc283cdec9d3156ecd6a37117c083cf (patch) | |
tree | d666d71bbc1dd5344539ce707355164238dfe03f /ship/lib | |
parent | 3843ad66568d099e2b0bb2f7158753066b69c965 (diff) |
add //ship/src/refresh-supers
this script updates the currently configured supernodes in
/etc/tinc/retiolum/tinc.conf with 5 random working supernodes in the retiolum
darknet.
The tinc.conf file can be given via environment.
the hosts should be up-to-date in order to find all available supernodes.
Diffstat (limited to 'ship/lib')
-rw-r--r-- | ship/lib/retiolum | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/ship/lib/retiolum b/ship/lib/retiolum index 015537bd..2a5c7338 100644 --- a/ship/lib/retiolum +++ b/ship/lib/retiolum @@ -1,8 +1,9 @@ #!/bin/sh # retiolum host functions #@include core +tinc_path=${tinc_path:-/etc/tinc} netname=${netname:-retiolum} - +hosts_dir=${hosts_dir:-$tinc_path/$netname/hosts} check_free_v4(){ myipv4=${1-10.243.0.-1} @@ -11,7 +12,7 @@ check_free_v4(){ if [ "$v4num" -gt 0 -a "$v4num" -lt "256" ]; then info "No retard detected\n" - cd /etc/tinc/$netname/hosts + cd $hosts_dir info "Check if ip is still free: " for i in `ls -1`; do if grep -q -e $myipv4\$ $i ;then @@ -30,8 +31,9 @@ check_free_v4(){ find_active_nodes(){ # TODO this function currently only supports a single address for a host - cd /etc/tinc/retiolum/hosts + cd $hosts_dir # posix grep does not support [[:space:]] + set +f for name in ` grep '^[ ]*Address[ ]*=' * | cut -d: -f1 | sort | uniq @@ -53,7 +55,8 @@ find_active_nodes(){ cd - >/dev/null } find_supernodes(){ - cd /etc/tinc/retiolum/hosts + cd $hosts_dir + set +f for name in ` grep '^[ ]*Address[ ]*=' * | cut -d: -f1 | sort | uniq |