summaryrefslogtreecommitdiffstats
path: root/ship/lib
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2014-02-21 13:23:05 +0100
committermakefu <github@syntax-fehler.de>2014-02-21 13:23:05 +0100
commit1046da40ddc283cdec9d3156ecd6a37117c083cf (patch)
treed666d71bbc1dd5344539ce707355164238dfe03f /ship/lib
parent3843ad66568d099e2b0bb2f7158753066b69c965 (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/retiolum11
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