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/src/refresh-supers | |
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/src/refresh-supers')
-rw-r--r-- | ship/src/refresh-supers | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ship/src/refresh-supers b/ship/src/refresh-supers new file mode 100644 index 00000000..26909a94 --- /dev/null +++ b/ship/src/refresh-supers @@ -0,0 +1,26 @@ +#!/bin/sh +#@info +# usage: [DEBUG=1] [tincconf=/not/tinc/retiolum/tinc.conf] $0 +#@include core +#@include retiolum + # using find_supernodes + # tinc_path + # netname + +#@strict +#@mainifyme + +max_connect_to=${max_connect_to:-5} +tincconf=${tincconf:-$tinc_path/$netname/tinc.conf} +tmp_tincconf=$(mktemp) +defer "rm -f $tmp_tincconf" + +sed '/[ ]*ConnectTo=/d' "$tincconf" > "$tmp_tincconf" + +find_supernodes | cut -d\ -f 1 | shuf \ + | head -n "${max_connect_to}" \ + | xargs -n1 printf "ConnectTo=%s\n" >> "$tmp_tincconf" + +info "replacing old tinc.conf with one" +test "${DEBUG:-}" && diff "$tincconf" "$tmp_tincconf" +mv "$tmp_tincconf" "$tincconf" |